PCSetDiagonalScale#

Indicates the left scaling to use to apply an additional left and right scaling as needed by certain time-stepping codes.

Synopsis#

#include "petscksp.h" 
PetscErrorCode PCSetDiagonalScale(PC pc, Vec s)

Logically Collective

Input Parameters#

  • pc - the preconditioner context

  • s - scaling vector

Notes#

The system solved via the Krylov method is, for left and right preconditioning, $$

\begin{align*} D M A D^{-1} y = D M b \\ D A M D^{-1} z = D b. \end{align*}

$$

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

See Also#

KSP: Linear System Solvers, PCCreate(), PCSetUp(), PCDiagonalScaleLeft(), PCDiagonalScaleRight(), PCGetDiagonalScale()

Level#

intermediate

Location#

src/ksp/pc/interface/precon.c


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