slepc-3.21.1 2024-04-26
Report Typos and Errors


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


#include "slepceps.h" 
PetscErrorCode EPSMonitorSet(EPS eps,PetscErrorCode (*monitor)(EPS eps,PetscInt its,PetscInt nconv,PetscScalar *eigr,PetscScalar *eigi,PetscReal *errest,PetscInt nest,void *mctx),void *mctx,PetscErrorCode (*monitordestroy)(void**))
Logically Collective

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

 PetscErrorCode monitor(EPS eps,PetscInt its,PetscInt nconv,PetscScalar *eigr,PetscScalar *eigi,PetscReal *errest,PetscInt 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.


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()





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