#include "petscksp.h" PetscErrorCode PCApplyBAorAB(PC pc,PCSide side,Vec x,Vec y,Vec work)Collective on PC and Vec
pc | - the preconditioner context | |
side | - indicates the preconditioner side, one of PC_LEFT, PC_RIGHT, or PC_SYMMETRIC | |
x | - input vector | |
work | - work vector |
Notes: If the PC has had PCSetDiagonalScale() set then D M A D^{-1} for left preconditioning or D A M D^{-1} is actually applied. Note that the specific KSPSolve() method must also be written to handle the post-solve "correction" for the diagonal scaling.