petsc-3.10.5 2019-03-28
Report Typos and Errors

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

      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().

### Keywords

KSP, create, context, norms

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