Gets a matrix function for a MATSHELL shell matrix.


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

Not Collective

Input Parameters#

  • mat - the MATSHELL shell matrix

  • op - the name of the operation

Output Parameter#

  • g - the function that provides the operation.


See the file include/petscmat.h for a complete list of matrix operations, which all have the form MATOP_, where 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#

Matrices, Mat, MATSHELL, MatCreateShell(), MatShellGetContext(), MatShellSetOperation(), MatShellSetContext()






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