KSPGetResidualHistory#
Gets the array used to hold the residual history and the number of residuals it contains.
Synopsis#
#include "petscksp.h"
#include "petscmat.h"
PetscErrorCode KSPGetResidualHistory(KSP ksp, const PetscReal *a[], PetscInt *na)
Not Collective
Input Parameter#
ksp - iterative context obtained from
KSPCreate()
Output Parameters#
a - pointer to array to hold history (or
NULL
)na - number of used entries in a (or
NULL
). Note this has different meanings depending on thereset
argument toKSPSetResidualHistory()
Note#
This array is borrowed and should not be freed by the caller.
Can only be called after a KSPSetResidualHistory()
otherwise a
and na
are set to NULL
and zero
When reset
was PETSC_TRUE
since a residual is computed before the first iteration, the value of na
is generally one more than the value
returned with KSPGetIterationNumber()
.
Some Krylov methods may not compute the final residual norm when convergence is declared because the maximum number of iterations allowed has been reached.
In this situation, when reset
was PETSC_TRUE
, na
will then equal the number of iterations reported with KSPGetIterationNumber()
Some Krylov methods (such as KSPSTCG
), under certain circumstances, do not compute the final residual norm. In this situation, when reset
was PETSC_TRUE
,
na
will then equal the number of iterations reported with KSPGetIterationNumber()
KSPBCGSL
does not record the residual norms for the “subiterations” hence the results from KSPGetResidualHistory()
and KSPGetIterationNumber()
will be different
Fortran Note#
The Fortran version of this routine has a calling sequence
call KSPGetResidualHistory(KSP ksp, integer na, integer ierr)
note that you have passed a Fortran array into KSPSetResidualHistory()
and you need
to access the residual values from this Fortran array you provided. Only the na
(number of
residual norms currently held) is set.
See Also#
KSP: Linear System Solvers, KSPSetResidualHistory()
, KSP
, KSPGetIterationNumber()
, KSPSTCG
, KSPBCGSL
Level#
advanced
Location#
src/ksp/ksp/interface/itfunc.c
Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages