petsc-3.12.5 2020-03-29
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