Skip to main content
`Ctrl`+`K`

# TaoGetConvergenceHistory

Gets the arrays used that hold the convergence history.

## Synopsis

    #include "petsctao.h"
    PetscErrorCode TaoGetConvergenceHistory(Tao tao, PetscReal **obj, PetscReal **resid, PetscReal **cnorm, PetscInt **lits, PetscInt *nhist)

Collective

## Input Parameter

- tao - the `Tao` context

## Output Parameters

- obj - array used to hold objective value history

- resid - array used to hold residual history

- cnorm - array used to hold constraint violation history

- lits - integer array used to hold linear solver iteration count

- nhist - size of `obj`, `resid`, `cnorm`, and `lits`

## Notes

This routine must be preceded by calls to `TaoSetConvergenceHistory()` and `TaoSolve()`, otherwise it returns useless information.

This routine is useful, e.g., when running a code for purposes of accurate performance monitoring, when no I/O should be done during the section of code that is being timed.

## Fortran Notes

The calling sequence is

       call TaoGetConvergenceHistory(Tao tao, PetscInt nhist, PetscErrorCode ierr)

In other words this gets the current number of entries in the history. Access the history through the array you passed to `TaoSetConvergenceHistory()`

## See Also

TAO: Optimization Solvers, `Tao`, `TaoSolve()`, `TaoSetConvergenceHistory()`

## Level

advanced

## Location

src/tao/interface/taosolver.c

## Examples

src/tao/leastsquares/tutorials/chwirut1f.F90

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