petscmaster 20200815
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 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
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
PCApply(), PCApplyTranspose(), PCApplyBAorAB()
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