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 - eigensolver context obtained from EPSCreate()

  • 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.

See Also#

EPSMonitorFirst(), EPSMonitorAll(), 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