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

# LMEMonitorSet

Sets an ADDITIONAL function to be called at every iteration to monitor convergence.

### Synopsis

    #include "slepclme.h"
    PetscErrorCode LMEMonitorSet(LME lme,PetscErrorCode (*monitor)(LME lme,PetscInt its,PetscReal errest,void*mctx),void *mctx,PetscErrorCode (*monitordestroy)(void**))

Logically Collective

### Input Parameters

| lme | - linear matrix equation solver context obtained from LMECreate()
| 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(LME lme,PetscInt its,PetscReal errest,void*mctx)

| lme | - linear matrix equation solver context obtained from LMECreate()
| its | - iteration number
| errest | - error estimate
| mctx | - optional monitoring context, as set by LMEMonitorSet()

### Options Database Keys

| -lme_monitor | - print the error estimate
| -lme_monitor draw::draw_lg | - sets line graph monitor for the error estimate
| -lme_monitor_cancel | - cancels all monitors that have been hardwired into a code by calls to LMEMonitorSet(), but does not cancel those set via the options database.

### Notes

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

### See Also

LMEMonitorCancel()

### Level

intermediate

### Location

src/lme/interface/lmemon.c
Index of all LME routines
Table of Contents for all manual pages
Index of all manual pages