Skip to main content
`Ctrl`+`K`

# KSPNormType

Norm calculated by the `KSP` and passed in the Krylov convergence test routines.

## Synopsis

    typedef enum {
      KSP_NORM_DEFAULT          = -1,
      KSP_NORM_NONE             = 0,
      KSP_NORM_PRECONDITIONED   = 1,
      KSP_NORM_UNPRECONDITIONED = 2,
      KSP_NORM_NATURAL          = 3
    } KSPNormType;

## Values

- `KSP_NORM_DEFAULT` - use the default for the current `KSPType`

- `KSP_NORM_NONE` - use no norm calculation

- `KSP_NORM_PRECONDITIONED` - use the preconditioned residual norm

- `KSP_NORM_UNPRECONDITIONED` - use the unpreconditioned residual norm

- `KSP_NORM_NATURAL` - use the natural norm (the norm induced by the linear operator)

## Note

Each solver only supports a subset of these and some may support different ones depending on whether left or right preconditioning is used, see `KSPSetPCSide()`

## See Also

KSP: Linear System Solvers, `KSP`, `PCSide`, `KSPSolve()`, `KSPGetConvergedReason()`, `KSPSetNormType()`, `KSPSetConvergenceTest()`, `KSPSetPCSide()`, `KSP_NORM_DEFAULT`, `KSP_NORM_NONE`, `KSP_NORM_PRECONDITIONED`, `KSP_NORM_UNPRECONDITIONED`, `KSP_NORM_NATURAL`

## Level

advanced

## Location

include/petscksp.h

Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages