Skip to main content
`Ctrl`+`K`

# SVDMonitorRegister

Registers an `SVD` monitor routine that may be accessed with `SVDMonitorSetFromOptions()`.

## Synopsis

    #include "slepcsvd.h"
    PetscErrorCode SVDMonitorRegister(const char name[],PetscViewerType vtype,PetscViewerFormat format,SVDMonitorRegisterFn *monitor,SVDMonitorRegisterCreateFn *create,SVDMonitorRegisterDestroyFn *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 `SVDMonitorRegisterFn`

- create - creation routine, or `NULL`

- destroy - destruction routine, or `NULL`

## Notes

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

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

## Example Usage

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

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

       SVDMonitorSetFromOptions(svd,"-svd_monitor_my_monitor","my_monitor",NULL);

or at runtime via the option `-svd_monitor_my_monitor`.

## See Also

SVD: Singular Value Decomposition, `SVDMonitorSet()`, `SVDMonitorRegisterAll()`, `SVDMonitorSetFromOptions()`

## Level

advanced

## Location

src/svd/interface/svdbasic.c

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