PETSc version 3.17.0
Fix/Edit manual page

# TaoSetMonitor

Sets an ADDITIONAL function that is to be used at every iteration of the solver to display the iteration's progress.

### Synopsis

    #include "petsctao.h"
    PetscErrorCode TaoSetMonitor(Tao tao, PetscErrorCode (*func)(Tao, void*), void *ctx,PetscErrorCode (*dest)(void**))

Logically Collective on Tao

### Input Parameters

| tao | - the Tao solver context
| mymonitor | - monitoring routine
| mctx | - [optional] user-defined context for private data for the monitor routine (may be NULL)

### Calling sequence of mymonitor

         PetscErrorCode mymonitor(Tao tao,void *mctx)

| tao | - the Tao solver context
| mctx | - [optional] monitoring context

### Options Database Keys

| -tao_monitor | - sets TaoMonitorDefault()
| -tao_smonitor | - sets short monitor
| -tao_cmonitor | - same as smonitor plus constraint norm
| -tao_view_solution | - view solution at each iteration
| -tao_view_gradient | - view gradient at each iteration
| -tao_view_ls_residual | - view least-squares residual vector at each iteration
| -tao_cancelmonitors | - cancels all monitors that have been hardwired into a code by calls to TaoSetMonitor(), but does not cancel those set via the options database.

### Notes

Several different monitoring routines may be set by calling TaoSetMonitor() multiple times; all will be called in the order in which they were set.

### Fortran Notes

Only one monitor function may be set

### See Also

TaoMonitorDefault(), TaoCancelMonitors(), TaoSetDestroyRoutine()

### Level

intermediate

### Location

src/tao/interface/taosolver.c

### Examples

src/tao/unconstrained/tutorials/minsurf2.c.html
src/tao/unconstrained/tutorials/spectraladjointassimilation.c.html
src/tao/unconstrained/tutorials/eptorsion2f.F.html
src/tao/bound/tutorials/jbearing2.c.html
src/tao/leastsquares/tutorials/chwirut2.c.html
Index of all Tao routines
Table of Contents for all manual pages
Index of all manual pages