slepc-3.17.0 2022-03-31
Report Typos and Errors

# 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,PetscErrorCode (*monitor)(EPS,PetscInt,PetscInt,PetscScalar*,PetscScalar*,PetscReal*,PetscInt,void*),void *mctx,PetscErrorCode (*monitordestroy)(void**))

Logically Collective on eps

### Input Parameters

| eps | - eigensolver context obtained from EPSCreate()
| monitor | - pointer to function (if this is NULL, it turns off monitoring)
| 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)

### Calling Sequence of monitor

      monitor(EPS eps,int its,int nconv,PetscScalar *eigr,PetscScalar *eigi,PetscReal* errest,int nest,void *mctx)

| eps | - eigensolver context obtained from EPSCreate()
| its | - iteration number
| nconv | - number of converged eigenpairs
| eigr | - real part of the eigenvalues
| eigi | - imaginary part of the eigenvalues
| errest | - relative error estimates for each eigenpair
| nest | - number of error estimates
| mctx | - optional monitoring context, as set by EPSMonitorSet()

### 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

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

### See Also

EPSMonitorFirst(), EPSMonitorAll(), EPSMonitorCancel()

Location: src/eps/interface/epsmon.c
Index of all EPS routines
Table of Contents for all manual pages
Index of all manual pages