Skip to main content
`Ctrl`+`K`

# KSPMonitorResidual

Print the (possibly preconditioned, possibly approximate) residual norm at each iteration of an iterative solver.

## Synopsis

    #include "petscksp.h"
    PetscErrorCode KSPMonitorResidual(KSP ksp, PetscInt n, PetscReal rnorm, PetscViewerAndFormat *vf)

Collective

## Input Parameters

- ksp - iterative context

- n - iteration number

- rnorm - (preconditioned) residual norm value (may be estimated).

- vf - The viewer context

## Options Database Key

- -ksp_monitor - Activates `KSPMonitorResidual()` to print the norm value at each iteration

## Note

For some methods, such as `KSPGMRES`, the norm is not computed directly from the residual.

The type of norm used by the method can be controlled with `KSPSetNormType()`

This is not called directly by users, rather one calls `KSPMonitorSet()`, with this function as an argument, to cause the monitor to be used during the `KSP` solve.

## See Also

KSP: Linear System Solvers, `KSP`, `KSPMonitorSet()`, `KSPMonitorTrueResidual()`, `KSPMonitorResidualDraw()`, `KSPMonitorResidualDrawLG()`, `KSPMonitorResidualRange()`, `KSPMonitorTrueResidualDraw()`, `KSPMonitorTrueResidualDrawLG()`, `KSPMonitorTrueResidualMax()`, `KSPMonitorSingularValue()`, `KSPMonitorSolutionDrawLG()`, `KSPMonitorSolutionDraw()`, `KSPMonitorSolution()`, `KSPMonitorErrorDrawLG()`, `KSPMonitorErrorDraw()`, `KSPMonitorError()`

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