PCApplyBAorABTranspose#
Applies the transpose of the preconditioner and operator to a vector. That is, applies tr(B) * tr(A) with left preconditioning, NOT tr(B*A) = tr(A)*tr(B).
Synopsis#
#include "petscksp.h"
PetscErrorCode PCApplyBAorABTranspose(PC pc, PCSide side, Vec x, Vec y, Vec work)
Collective
Input Parameters#
pc - the preconditioner context
side - indicates the preconditioner side, one of
PC_LEFT
,PC_RIGHT
, orPC_SYMMETRIC
x - input vector
work - work vector
Output Parameter#
y - output vector
Note#
This routine is used internally so that the same Krylov code can be used to solve A x = b and A’ x = b, with a preconditioner defined by B’. This is why this has the funny form that it computes tr(B) * tr(A)
See Also#
PC
, PCApply()
, PCApplyTranspose()
, PCApplyBAorAB()
Level#
developer
Location#
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages