TaoGetConvergedReason#

Gets the reason the Tao iteration was stopped.

Synopsis#

#include "petsctao.h" 
PetscErrorCode TaoGetConvergedReason(Tao tao, TaoConvergedReason *reason)

Not Collective

Input Parameter#

  • tao - the Tao solver context

Output Parameter#

  • reason - one of

`TAO_CONVERGED_GATOL` (3)           ||g(X)|| < gatol
`TAO_CONVERGED_GRTOL` (4)           ||g(X)|| / f(X)  < grtol
`TAO_CONVERGED_GTTOL` (5)           ||g(X)|| / ||g(X0)|| < gttol
`TAO_CONVERGED_STEPTOL` (6)         step size small
`TAO_CONVERGED_MINF` (7)            F < F_min
`TAO_CONVERGED_USER` (8)            User defined
`TAO_DIVERGED_MAXITS` (-2)          its > maxits
`TAO_DIVERGED_NAN` (-4)             Numerical problems
`TAO_DIVERGED_MAXFCN` (-5)          fevals > max_funcsals
`TAO_DIVERGED_LS_FAILURE` (-6)      line search failure
`TAO_DIVERGED_TR_REDUCTION` (-7)    trust region failure
`TAO_DIVERGED_USER` (-8)             (user defined)

where

  • X - current solution

  • X0 - initial guess

  • f(X) - current function value

  • f(X) -* true solution (estimated)

  • g(X) - current gradient

  • its - current iterate number

  • maxits - maximum number of iterates

  • fevals - number of function evaluations

  • max_funcsals - maximum number of function evaluations

See Also#

TaoSetConvergenceTest(), TaoSetTolerances()

Level#

intermediate

Location#

src/tao/interface/taosolver.c

Examples#

src/tao/unconstrained/tutorials/rosenbrock2.c.html
src/tao/unconstrained/tutorials/rosenbrock3.c.html
src/tao/constrained/tutorials/maros.c.html
src/tao/leastsquares/tutorials/chwirut1f.F90.html


Edit on GitLab

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