slepc-3.23.1 2025-05-01
   
PEPMonitorSet
Sets an ADDITIONAL function to be called at every iteration to monitor the error estimates for each requested eigenpair. 
Synopsis
#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,PetscCtxDestroyFn *monitordestroy)
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),
see PetscCtxDestroyFn for the calling sequence | 
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. | 
Notes
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()
Level
intermediate
Location
src/pep/interface/pepmon.c
Index of all PEP routines
Table of Contents for all manual pages
Index of all manual pages