:orphan:
# MatIsLinear
Check if a shell matrix `A` is a linear operator.
## Synopsis
```
#include "petscmat.h"
PetscErrorCode MatIsLinear(Mat A, PetscInt n, PetscBool *flg)
```
Collective
## Input Parameters
- ***A -*** the shell matrix
- ***n -*** number of random vectors to be tested
## Output Parameter
- ***flg -*** `PETSC_TRUE` if the shell matrix is linear; `PETSC_FALSE` otherwise.
## See Also
`Mat`, `MatMatMultAddEqual()`, `MatMultEqual()`, `MatMultAddEqual()`, `MatMultTransposeEqual()`
## Level
intermediate
## Location
src/mat/utils/multequal.c
## Examples
src/ksp/ksp/tutorials/ex14f.F90
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/mat/utils/multequal.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)