KSPSetPCSide#
Sets the preconditioning side.
Synopsis#
#include "petscksp.h"
#include "petscmat.h"
PetscErrorCode KSPSetPCSide(KSP ksp, PCSide side)
Logically Collective
Input Parameter#
ksp - iterative context obtained from
KSPCreate()
Output Parameter#
side - the preconditioning side, where side is one of
PC_LEFT - left preconditioning (default)
PC_RIGHT - right preconditioning
PC_SYMMETRIC - symmetric preconditioning
Options Database Key#
-ksp_pc_side <right,left,symmetric> -
KSP
preconditioner side
Notes#
Left preconditioning is used by default for most Krylov methods except KSPFGMRES which only supports right preconditioning.
For methods changing the side of the preconditioner changes the norm type that is used, see KSPSetNormType()
.
Symmetric preconditioning is currently available only for the KSPQCG method. Note, however, that symmetric preconditioning can be emulated by using either right or left preconditioning and a pre or post processing step.
Setting the PC side often affects the default norm type. See KSPSetNormType()
for details.
See Also#
KSP: Linear System Solvers, KSPGetPCSide()
, KSPSetNormType()
, KSPGetNormType()
, KSP
Level#
intermediate
Location#
src/ksp/ksp/interface/itfunc.c
Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages