PCDiagonalScaleRight#
Scales a vector by the right scaling as needed by certain time-stepping codes.
Synopsis#
#include "petscksp.h"
PetscErrorCode PCDiagonalScaleRight(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, 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}\).
If diagonal scaling is turned off and in is not out then in is copied to out
See Also#
KSP: Linear System Solvers, PCCreate(), PCSetUp(), PCDiagonalScaleLeft(), PCSetDiagonalScale(), PCDiagonalScale()
Level#
intermediate
Location#
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages