**f ** -the function that provides the operation.

### Notes

See the file include/petscmat.h for a complete list of matrix
operations, which all have the form MATOP_<OPERATION>, where
<OPERATION> is the name (in all capital letters) of the
user interface routine (e.g., MatMult() -> MATOP_MULT).
All user-provided functions have the same calling
sequence as the usual matrix interface routines, since they
are intended to be accessed via the usual matrix interface
routines, e.g.,

MatMult(Mat,Vec,Vec) -> usermult(Mat,Vec,Vec)

Within each user-defined routine, the user should call
MatShellGetContext() to obtain the user-defined context that was
set by MatCreateShell().

### See Also

MatCreateShell(), MatShellGetContext(), MatShellSetOperation(), MatShellSetContext()

### Level

advanced

### Location

src/mat/impls/shell/shell.c

Index of all Mat routines

Table of Contents for all manual pages

Index of all manual pages