slepc-main 2024-12-17
Report Typos and Errors

EPSStoppingThreshold

Routine to determine whether the outer eigenvalue solver iteration must be stopped, according to some threshold for the computed values.

Synopsis

#include "slepceps.h" 
PetscErrorCode EPSStoppingThreshold(EPS eps,PetscInt its,PetscInt max_it,PetscInt nconv,PetscInt nev,EPSConvergedReason *reason,void *ctx)
Collective

Input Parameters

eps  - eigenvalue solver context obtained from EPSCreate()
its  - current number of iterations
max_it  - maximum number of iterations
nconv  - number of currently converged eigenpairs (ignored here)
nev  - number of requested eigenpairs (ignored here)
ctx  - context containing additional data (EPSStoppingCtx)

Output Parameter

reason  - result of the stopping test

Notes

A positive value of reason indicates that the iteration has finished successfully (converged), and a negative value indicates an error condition (diverged). If the iteration needs to be continued, reason must be set to EPS_CONVERGED_ITERATING (zero).

EPSStoppingThreshold() will stop when one of the computed eigenvalues is not above/below the threshold given at EPSSetThreshold(). If a number of wanted eigenvalues has been specified via EPSSetDimensions() then it is also taken into account, and the solver will stop when one of the two conditions (threshold or number of converged values) is met.

Use EPSSetStoppingTest() to provide your own test instead of using this one.

See Also

EPSSetStoppingTest(), EPSStoppingBasic(), EPSSetThreshold(), EPSSetDimensions(), EPSConvergedReason, EPSGetConvergedReason()

Level

advanced

Location

src/eps/interface/epsdefault.c

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