:orphan: # MatIsShell Inquires if a matrix is derived from `MATSHELL` ## Synopsis ``` #include "petscmat.h" PetscErrorCode MatIsShell(Mat mat, PetscBool *flg) ``` ## Input Parameter - ***mat -*** the matrix ## Output Parameter - ***flg -*** the boolean value ## Developer Note In the future, we should allow the object type name to be changed still using the `MATSHELL` data structure for other matrices (i.e. `MATTRANSPOSEVIRTUAL`, `MATSCHURCOMPLEMENT` etc) ## See Also [](ch_matrices), `Mat`, `MATSHELL`, `MATMFFD`, `MatCreateShell()`, `MATTRANSPOSEVIRTUAL`, `MATSCHURCOMPLEMENT` ## Level developer ## Location 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)