Skip to main content
`Ctrl`+`K`

# EPSMonitorSet

Sets an ADDITIONAL function to be called at every iteration to monitor the error estimates for each requested eigenpair.

## Synopsis

    #include "slepceps.h"
    PetscErrorCode EPSMonitorSet(EPS eps,EPSMonitorFn *monitor,void *mctx,PetscCtxDestroyFn *monitordestroy)

Logically Collective

## Input Parameters

- eps - the linear eigensolver context

- monitor - pointer to function (if this is `NULL`, it turns off monitoring), see `EPSMonitorFn`

- mctx - [optional] context for private data for the monitor routine (use `NULL` if no context is desired)

- monitordestroy - [optional] routine that frees monitor context (may be `NULL`), see `PetscCtxDestroyFn` for the calling sequence

## Options Database Keys

- -eps_monitor - print only the first error estimate

- -eps_monitor_all - print error estimates at each iteration

- -eps_monitor_conv - print the eigenvalue approximations only when convergence has been reached

- -eps_monitor draw::draw_lg - sets line graph monitor for the first unconverged approximate eigenvalue

- -eps_monitor_all draw::draw_lg - sets line graph monitor for all unconverged approximate eigenvalues

- -eps_monitor_conv draw::draw_lg - sets line graph monitor for convergence history

- -eps_monitor_cancel - cancels all monitors that have been hardwired into a code by calls to `EPSMonitorSet()`, but does not cancel those set via the options database.

## Notes

The options database option `-eps_monitor` and related options are the easiest way to turn on `EPS` iteration monitoring.

`EPSMonitorRegister()` provides a way to associate an options database key with `EPS` monitor function.

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

## Fortran Note

Only a single monitor function can be set for each `EPS` object.

## See Also

EPS: Eigenvalue Problem Solver, `EPSMonitorFirst()`, `EPSMonitorAll()`, `EPSMonitorConverged()`, `EPSMonitorFirstDrawLG()`, `EPSMonitorAllDrawLG()`, `EPSMonitorConvergedDrawLG()`, `EPSMonitorCancel()`

## Level

intermediate

## Location

src/eps/interface/epsmon.c

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