PETSc version 3.17.4
Fix/Edit manual page

# KSPSetPCSide

Sets the preconditioning side.

### Synopsis

    #include "petscksp.h"
    #include "petscmat.h"
    PetscErrorCode  KSPSetPCSide(KSP ksp,PCSide side)

Logically Collective on ksp

### 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 Keys

| -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

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