Skip to main content
`Ctrl`+`K`

# PEPMonitorRegister

Registers a `PEP` monitor routine that may be accessed with `PEPMonitorSetFromOptions()`.

## Synopsis

    #include "slepcpep.h"
    PetscErrorCode PEPMonitorRegister(const char name[],PetscViewerType vtype,PetscViewerFormat format,PEPMonitorRegisterFn *monitor,PEPMonitorRegisterCreateFn *create,PEPMonitorRegisterDestroyFn *destroy)

Not Collective

## Input Parameters

- name - name of a new monitor routine

- vtype - a `PetscViewerType` for the output

- format - a `PetscViewerFormat` for the output

- monitor - monitor routine, see `PEPMonitorRegisterFn`

- create - creation routine, or `NULL`

- destroy - destruction routine, or `NULL`

## Notes

`PEPMonitorRegister()` may be called multiple times to add several user-defined monitors.

The calling sequence for the given function matches the calling sequence of `PEPMonitorFn` functions passed to `PEPMonitorSet()` with the additional requirement that its final argument be a `PetscViewerAndFormat`.

## Example Usage

       PEPMonitorRegister("my_monitor",PETSCVIEWERASCII,PETSC_VIEWER_ASCII_INFO_DETAIL,MyMonitor,NULL,NULL);

Then, your monitor can be chosen with the procedural interface via

       PEPMonitorSetFromOptions(pep,"-pep_monitor_my_monitor","my_monitor",NULL);

or at runtime via the option `-pep_monitor_my_monitor`.

## See Also

PEP: Polynomial Eigenvalue Problems, `PEPMonitorSet()`, `PEPMonitorRegisterAll()`, `PEPMonitorSetFromOptions()`

## Level

advanced

## Location

src/pep/interface/pepbasic.c

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