petsc-main 2021-04-20
Report Typos and Errors

# KSPConvergedRateView

Displays the reason a KSP solve converged or diverged to a viewer

### Synopsis

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

### Input Parameters

 ksp - iterative context obtained from KSPCreate() viewer - the viewer to display the reason

### Options Database Keys

 -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 https://en.wikipedia.org/wiki/Coefficient_of_determination