slepc-3.20.2 2024-03-15
Report Typos and Errors

SVDMonitorSet

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

Synopsis

#include "slepcsvd.h" 
PetscErrorCode SVDMonitorSet(SVD svd,PetscErrorCode (*monitor)(SVD svd,PetscInt its,PetscInt nconv,PetscReal *sigma,PetscReal *errest,PetscInt nest,void *mctx),void *mctx,PetscErrorCode (*monitordestroy)(void**))
Logically Collective

Input Parameters

svd  - singular value solver context obtained from SVDCreate()
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(SVD svd,PetscInt its,PetscInt nconv,PetscReal *sigma,PetscReal *errest,PetscInt nest,void *mctx)
svd  - singular value solver context obtained from SVDCreate()
its  - iteration number
nconv  - number of converged singular triplets
sigma  - singular values
errest  - relative error estimates for each singular triplet
nest  - number of error estimates
mctx  - optional monitoring context, as set by SVDMonitorSet()

Options Database Keys

-svd_monitor  - print only the first error estimate
-svd_monitor_all  - print error estimates at each iteration
-svd_monitor_conv  - print the singular value approximations only when convergence has been reached
-svd_monitor_conditioning  - print the condition number when available
-svd_monitor draw::draw_lg  - sets line graph monitor for the first unconverged approximate singular value
-svd_monitor_all draw::draw_lg  - sets line graph monitor for all unconverged approximate singular values
-svd_monitor_conv draw::draw_lg  - sets line graph monitor for convergence history
-svd_monitor_cancel  - cancels all monitors that have been hardwired into a code by calls to SVDMonitorSet(), but does not cancel those set via the options database.

Notes

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

See Also

SVDMonitorFirst(), SVDMonitorAll(), SVDMonitorConditioning(), SVDMonitorCancel()

Level

intermediate

Location

src/svd/interface/svdmon.c

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