Skip to main content
`Ctrl`+`K`

# TaoGetSolutionStatus

Get the current iterate, objective value, residual, infeasibility, and termination from a `Tao` object

## Synopsis

    #include "petsctao.h"
    PetscErrorCode TaoGetSolutionStatus(Tao tao, PetscInt *its, PetscReal *f, PetscReal *gnorm, PetscReal *cnorm, PetscReal *xdiff, TaoConvergedReason *reason)

Not Collective

## Input Parameter

- tao - the `Tao` context

## Output Parameters

- its - the current iterate number (>=0)

- f - the current function value

- gnorm - the square of the gradient norm, duality gap, or other measure indicating distance from optimality.

- cnorm - the infeasibility of the current solution with regard to the constraints.

- xdiff - the step length or trust region radius of the most recent iterate.

- reason - The termination reason, which can equal `TAO_CONTINUE_ITERATING`

## Notes

Tao returns the values set by the solvers in the routine `TaoMonitor()`.

If any of the output arguments are set to `NULL`, no corresponding value will be returned.

## See Also

TAO: Optimization Solvers, `TaoMonitor()`, `TaoGetConvergedReason()`

## Level

intermediate

## Location

src/tao/interface/taosolver.c

## Examples

src/tao/unconstrained/tutorials/eptorsion2f.F90
src/tao/unconstrained/tutorials/burgers_spectral.c
src/tao/bound/tutorials/jbearing2.c
src/tao/unconstrained/tutorials/spectraladjointassimilation.c

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