:orphan:
# MatFactorType
indicates what type of factorization is requested 
## Synopsis
```
typedef enum {
  MAT_FACTOR_NONE,
  MAT_FACTOR_LU,
  MAT_FACTOR_CHOLESKY,
  MAT_FACTOR_ILU,
  MAT_FACTOR_ICC,
  MAT_FACTOR_ILUDT,
  MAT_FACTOR_QR,
  MAT_FACTOR_NUM_TYPES
} MatFactorType;
```

## Values

- ***`MAT_FACTOR_LU` -*** LU factorization
- ***`MAT_FACTOR_CHOLESKY` -*** Cholesky factorization
- ***`MAT_FACTOR_ILU` -*** ILU factorization
- ***`MAT_FACTOR_ICC` -*** incomplete Cholesky factorization
- ***`MAT_FACTOR_ILUDT` -*** ILU factorization with drop tolerance
- ***`MAT_FACTOR_QR` -*** QR factorization





## See Also
 [](ch_matrices), `MatSolverType`, `MatGetFactor()`, `MatGetFactorAvailable()`, `MatSolverTypeRegister()`

## Level
beginner

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/include/petscmat.h.html#MatFactorType">include/petscmat.h</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/include/petscmat.h)


[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)  
