:orphan: # MatShellGetContext Returns the user-provided context associated with a `MATSHELL` shell matrix. ## Synopsis ``` #include "petscmat.h" PetscErrorCode MatShellGetContext(Mat mat, void *ctx) ``` Not Collective ## Input Parameter - ***mat -*** the matrix, should have been created with `MatCreateShell()` ## Output Parameter - ***ctx -*** the user provided context ## Fortran Note You must write a Fortran interface definition for this function that tells Fortran the Fortran derived data type that you are passing in as the ctx argument. ## See Also [](ch_matrices), `Mat`, `MATSHELL`, `MatCreateShell()`, `MatShellSetOperation()`, `MatShellSetContext()` ## Level advanced ## Location src/mat/impls/shell/shell.c ## Examples src/mat/tutorials/ex6f.F90
src/snes/tutorials/ex36.c
src/tao/bound/tutorials/plate2.c
src/tao/pde_constrained/tutorials/elliptic.c
src/tao/pde_constrained/tutorials/hyperbolic.c
src/tao/pde_constrained/tutorials/parabolic.c
src/tao/unconstrained/tutorials/eptorsion1.c
src/tao/unconstrained/tutorials/eptorsion3.c
src/ts/tutorials/ex20opt_ic.c
src/ts/tutorials/ex50.c
## Implementations MatShellGetContext_Shell in src/mat/impls/shell/shell.c
--- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/mat/impls/shell/shell.c) [Index of all Mat routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)