slepc-3.16.0 2021-09-30
Report Typos and Errors


Gets the reason why the MFNSolve() iteration was stopped.


#include "slepcmfn.h" 
PetscErrorCode MFNGetConvergedReason(MFN mfn,MFNConvergedReason *reason)
Not Collective

Input Parameter

mfn  - the matrix function context

Output Parameter

reason  - negative value indicates diverged, positive value converged


Possible values for reason are

MFN_CONVERGED_TOL  - converged up to tolerance
MFN_CONVERGED_ITS  - solver completed the requested number of steps
MFN_DIVERGED_ITS  - required more than max_it iterations to reach convergence
MFN_DIVERGED_BREAKDOWN  - generic breakdown in method

Can only be called after the call to MFNSolve() is complete.

Basic solvers (e.g. unrestarted Krylov iterations) cannot determine if the computation is accurate up to the requested tolerance. In that case, the converged reason is set to MFN_CONVERGED_ITS if the requested number of steps (for instance, the ncv value in unrestarted Krylov methods) have been completed successfully.

See Also

MFNSetTolerances(), MFNSolve(), MFNConvergedReason, MFNSetErrorIfNotConverged()

Location: src/mfn/interface/mfnsolve.c



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