Skip to main content
`Ctrl`+`K`

# NEPMonitorSet

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

## Synopsis

    #include "slepcnep.h"
    PetscErrorCode NEPMonitorSet(NEP nep,NEPMonitorFn *monitor,void *mctx,PetscCtxDestroyFn *monitordestroy)

Logically Collective

## Input Parameters

- nep - the nonlinear eigensolver context

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

- 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

- -nep_monitor - print only the first error estimate

- -nep_monitor_all - print error estimates at each iteration

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

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

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

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

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

## Notes

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

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

Several different monitoring routines may be set by calling `NEPMonitorSet()` 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 `NEP` object.

## See Also

NEP: Nonlinear Eigenvalue Problems, `NEPMonitorFirst()`, `NEPMonitorAll()`, `NEPMonitorConverged()`, `NEPMonitorFirstDrawLG()`, `NEPMonitorAllDrawLG()`, `NEPMonitorConvergedDrawLG()`, `NEPMonitorCancel()`

## Level

intermediate

## Location

src/nep/interface/nepmon.c

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