petsc-3.13.6 2020-09-29
PCApplyBAorAB
Applies the preconditioner and operator to a vector. y = B*A*x or y = A*B*x.
Synopsis
#include "petscksp.h"
PetscErrorCode PCApplyBAorAB(PC pc,PCSide side,Vec x,Vec y,Vec work)
Collective on PC
Input Parameters
| pc | - the preconditioner context
|
| side | - indicates the preconditioner side, one of PC_LEFT, PC_RIGHT, or PC_SYMMETRIC
|
| x | - input vector
|
| work | - work vector
|
Output Parameter
y -output 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.
See Also
PCApply(), PCApplyTranspose(), PCApplyBAorABTranspose()
Level
developer
Location
src/ksp/pc/interface/precon.c
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages