PETSc version 3.17.4
Fix/Edit manual page

# MatShellGetOperation

Gets a matrix function for a shell matrix.

### Synopsis

    #include "petscmat.h"
    PetscErrorCode MatShellGetOperation(Mat mat,MatOperation op,void(**g)(void))

Not Collective

### Input Parameters

| mat | - the shell matrix
| op | - the name of the operation

### Output Parameter

| g | - 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

### Implementations

MatShellGetOperation_Shell(Mat mat,MatOperation op,void(**f) in src/mat/impls/shell/shell.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages