slepc-3.20.1 2023-11-27
Report Typos and Errors

# MFNMonitorSet

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

### Synopsis

    #include "slepcmfn.h"
    PetscErrorCode MFNMonitorSet(MFN mfn,PetscErrorCode (*monitor)(MFN mfn,PetscInt its,PetscReal errest,void *mctx),void *mctx,PetscErrorCode (*monitordestroy)(void**))

Logically Collective

### Input Parameters

| mfn | - matrix function context obtained from MFNCreate()
| 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(MFN mfn,PetscInt its,PetscReal errest,void *mctx)

| mfn | - matrix function context obtained from MFNCreate()
| its | - iteration number
| errest | - error estimate
| mctx | - optional monitoring context, as set by MFNMonitorSet()

### Options Database Keys

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

### Notes

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

### See Also

MFNMonitorCancel()

### Level

intermediate

### Location

src/mfn/interface/mfnmon.c
Index of all MFN routines
Table of Contents for all manual pages
Index of all manual pages