PCDiagonalScaleLeft#

Scales a vector by the left scaling as needed by certain time-stepping codes.

Synopsis#

#include "petscksp.h" 
PetscErrorCode PCDiagonalScaleLeft(PC pc, Vec in, Vec out)

Logically Collective

Input Parameters#

  • pc - the preconditioner context

  • in - input vector

  • out - scaled vector (maybe the same as in)

Notes#

The system solved via the Krylov method is

        D M A D^{-1} y = D M b  for left preconditioning or
        D A M D^{-1} z = D b for right preconditioning

PCDiagonalScaleLeft() scales a vector by D. PCDiagonalScaleRight() scales a vector by D^{-1}.

If diagonal scaling is turned off and in is not out then in is copied to out

See Also#

PCCreate(), PCSetUp(), PCDiagonalScaleSet(), PCDiagonalScaleRight(), PCDiagonalScale()

Level#

intermediate

Location#

src/ksp/pc/interface/precon.c


Edit on GitLab

Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages