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 "slepcpep.h" 
PetscErrorCode PEPMonitorSet(PEP pep,PetscErrorCode (*monitor)(PEP pep,PetscInt its,PetscInt nconv,PetscScalar *eigr,PetscScalar *eigi,PetscReal *errest,PetscInt nest,void *mctx),void *mctx,PetscErrorCode (*monitordestroy)(void**))
Logically Collective

Input Parameters

pep  - eigensolver context obtained from PEPCreate()
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(PEP pep,PetscInt its,PetscInt nconv,PetscScalar *eigr,PetscScalar *eigi,PetscReal *errest,PetscInt nest,void *mctx)
pep  - polynomial eigensolver context obtained from PEPCreate()
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 PEPMonitorSet()

Options Database Keys

-pep_monitor  - print only the first error estimate
-pep_monitor_all  - print error estimates at each iteration
-pep_monitor_conv  - print the eigenvalue approximations only when convergence has been reached
-pep_monitor draw::draw_lg  - sets line graph monitor for the first unconverged approximate eigenvalue
-pep_monitor_all draw::draw_lg  - sets line graph monitor for all unconverged approximate eigenvalues
-pep_monitor_conv draw::draw_lg  - sets line graph monitor for convergence history
-pep_monitor_cancel  - cancels all monitors that have been hardwired into a code by calls to PEPMonitorSet(), but does not cancel those set via the options database.


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

See Also

PEPMonitorFirst(), PEPMonitorAll(), PEPMonitorCancel()





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