KSPConvergedRateView#

Displays the convergence rate https://en.wikipedia.org/wiki/Coefficient_of_determination of KSPSolve() to a viewer

Synopsis#

#include "petscksp.h" 
#include "petscmat.h" 
PetscErrorCode KSPConvergedRateView(KSP ksp, PetscViewer viewer)

Collective

Input Parameters#

  • ksp - iterative context obtained from KSPCreate()

  • viewer - the viewer to display the reason

Options Database Key#

  • -ksp_converged_rate - print reason for convergence or divergence and the convergence rate (or 0.0 for divergence)

Notes#

To change the format of the output, call PetscViewerPushFormat(viewer,format) before this call.

Suppose that the residual is reduced linearly, \(r_k = c^k r_0\), which means \(\log r_k = \log r_0 + k \log c\). After linear regression, the slope is \(\log c\). The coefficient of determination is given by \(1 - \frac{\sum_i (y_i - f(x_i))^2}{\sum_i (y_i - \bar y)}\),

See Also#

KSP: Linear System Solvers, KSPConvergedReasonView(), KSPGetConvergedRate(), KSPSetTolerances(), KSPConvergedDefault()

Level#

intermediate

Location#

src/ksp/ksp/interface/itfunc.c


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