petsc-3.14.6 2021-03-30
Report Typos and Errors

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