slepc-3.23.1 2025-05-01
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 eps,PetscInt its,PetscInt nconv,PetscScalar *eigr,PetscScalar *eigi,PetscReal *errest,PetscInt nest,void *mctx),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)
|
| 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
|
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.
|
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()
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