petscmaster 20190915
KSPSetNormType
Sets the norm that is used for convergence testing.
Synopsis
#include "petscksp.h"
PetscErrorCode KSPSetNormType(KSP ksp,KSPNormType normtype)
Logically Collective on ksp
Input Parameter
 ksp   Krylov solver context

 normtype   one of

KSP_NORM_NONE  skips computing the norm, this should generally only be used if you are using
the Krylov method as a smoother with a fixed small number of iterations.
Implicitly sets KSPConvergedSkip() as KSP convergence test.
Note that certain algorithms such as KSPGMRES ALWAYS require the norm calculation,
for these methods the norms are still computed, they are just not used in
the convergence test.
KSP_NORM_PRECONDITIONED  the default for left preconditioned solves, uses the l2 norm
of the preconditioned residual P^{1}(b  A x)
KSP_NORM_UNPRECONDITIONED  uses the l2 norm of the true b  Ax residual.
KSP_NORM_NATURAL  supported by KSPCG, KSPCR, KSPCGNE, KSPCGS
Options Database Key
ksp_norm_type <none,preconditioned,unpreconditioned,natural> 
Notes:
Not all combinations of preconditioner side (see KSPSetPCSide()) and norm type are supported by all Krylov methods.
If only one is set, PETSc tries to automatically change the other to find a compatible pair. If no such combination
is supported, PETSc will generate an error.
Developer Notes
Supported combinations of norm and preconditioner side are set using KSPSetSupportedNorm().
See Also
KSPSetUp(), KSPSolve(), KSPDestroy(), KSPConvergedSkip(), KSPSetCheckNormIteration(), KSPSetPCSide(), KSPGetPCSide(), KSPNormType
Level
advanced
Location
src/ksp/ksp/interface/itcreate.c
Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages