SVDGetConvergedReason#

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

Synopsis#

#include "slepcsvd.h" 
PetscErrorCode SVDGetConvergedReason(SVD svd,SVDConvergedReason *reason)

Not Collective

Input Parameter#

  • svd - the singular value solver context

Output Parameter#

  • reason - negative value indicates diverged, positive value converged (see SVDConvergedReason)

Options Database Key#

  • -svd_converged_reason - print the reason to a viewer

Notes#

Possible values for reason are

  • SVD_CONVERGED_TOL - converged up to tolerance

  • SVD_CONVERGED_USER - converged due to a user-defined condition

  • SVD_CONVERGED_MAXIT - reached the maximum number of iterations with SVD_CONV_MAXIT criterion

  • SVD_DIVERGED_ITS - required more than max_it iterations to reach convergence

  • SVD_DIVERGED_BREAKDOWN - generic breakdown in method

  • SVD_DIVERGED_SYMMETRY_LOST - underlying indefinite eigensolver was not able to keep symmetry

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

See Also#

SVDSetTolerances(), SVDSolve(), SVDConvergedReason

Level#

intermediate

Location#

src/svd/interface/svdsolve.c


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