Skip to main content
`Ctrl`+`K`

# KSPConvergedDefaultSetUIRNorm

makes the default convergence test use \( || B*(b - A*(initial guess))||\) instead of \( || B*b ||\). In the case of right preconditioner or if `KSPSetNormType`(ksp,`KSP_NORM_UNPRECONDITIONED`) is used there is no B in the above formula.

## Synopsis

    #include "petscksp.h"
    PetscErrorCode KSPConvergedDefaultSetUIRNorm(KSP ksp)

Collective

## Input Parameters

- ksp - iterative context

## Options Database Key

- -ksp_converged_use_initial_residual_norm - Use initial residual norm for computing relative convergence

## Notes

UIRNorm is short for Use Initial Residual Norm.

Use `KSPSetTolerances()` to alter the defaults for rtol, abstol, dtol.

The precise values of reason are macros such as `KSP_CONVERGED_RTOL`, which are defined in petscksp.h.

If the convergence test is not `KSPConvergedDefault()` then this is ignored.

If right preconditioning is being used then B does not appear in the above formula.

## See Also

KSP: Linear System Solvers, `KSP`, `KSPSetConvergenceTest()`, `KSPSetTolerances()`, `KSPConvergedSkip()`, `KSPConvergedReason`, `KSPGetConvergedReason()`, `KSPConvergedDefaultSetUMIRNorm()`, `KSPConvergedDefaultSetConvergedMaxits()`

## Level

intermediate

## Location

src/ksp/ksp/interface/iterativ.c

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