petsc-3.13.6 2020-09-29
Report Typos and Errors

KSPComputeExtremeSingularValues

Computes the extreme singular values for the preconditioned operator. Called after or during KSPSolve().

Synopsis

#include "petscksp.h" 
PetscErrorCode  KSPComputeExtremeSingularValues(KSP ksp,PetscReal *emax,PetscReal *emin)
Not Collective

Input Parameter

ksp -iterative context obtained from KSPCreate()

Output Parameters

emin, emax -extreme singular values

Options Database Keys

-ksp_view_singularvalues -compute extreme singular values and print when KSPSolve completes.

Notes

One must call KSPSetComputeSingularValues() before calling KSPSetUp() (or use the option -ksp_view_eigenvalues) in order for this routine to work correctly.

Many users may just want to use the monitoring routine KSPMonitorSingularValue() (which can be set with option -ksp_monitor_singular_value) to print the extreme singular values at each iteration of the linear solve.

Estimates of the smallest singular value may be very inaccurate, especially if the Krylov method has not converged. The largest singular value is usually accurate to within a few percent if the method has converged, but is still not intended for eigenanalysis.

Disable restarts if using KSPGMRES, otherwise this estimate will only be using those iterations after the last restart. See KSPGMRESSetRestart() for more details.

See Also

KSPSetComputeSingularValues(), KSPMonitorSingularValue(), KSPComputeEigenvalues(), KSP

Level

advanced

Location

src/ksp/ksp/interface/itfunc.c

Examples

src/ksp/ksp/tutorials/ex56.c.html
src/ksp/ksp/tutorials/ex59.c.html

Implementations

KSPComputeExtremeSingularValues_CG in src/ksp/ksp/impls/cg/cgeig.c
KSPComputeExtremeSingularValues_FETIDP in src/ksp/ksp/impls/fetidp/fetidp.c
KSPComputeExtremeSingularValues_GMRES in src/ksp/ksp/impls/gmres/gmreig.c

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