:orphan: # KSPMonitorTrueResidual Prints the true residual norm, as well as the (possibly preconditioned) approximate residual norm, at each iteration of an iterative solver. ## Synopsis ``` #include "petscksp.h" PetscErrorCode KSPMonitorTrueResidual(KSP ksp, PetscInt n, PetscReal rnorm, PetscViewerAndFormat *vf) ``` Collective ## Input Parameters - ***ksp -*** iterative context - ***n -*** iteration number - ***rnorm -*** 2-norm (preconditioned) residual value (may be estimated). - ***vf -*** The viewer context ## Options Database Key - ***-ksp_monitor_true_residual -*** Activates `KSPMonitorTrueResidual()` ## Notes When using right preconditioning, these values are equivalent. 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 [](ch_ksp), `KSP`, `KSPMonitorSet()`, `KSPMonitorResidual()`, `KSPMonitorTrueResidualMaxNorm()`, `PetscViewerAndFormat` ## Level intermediate ## Location src/ksp/ksp/interface/iterativ.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ksp/ksp/interface/iterativ.c) [Index of all KSP routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)