:orphan: # MatFactorError indicates what type of error was generated in a matrix factorization ## Synopsis ``` typedef enum { MAT_FACTOR_NOERROR, MAT_FACTOR_STRUCT_ZEROPIVOT, MAT_FACTOR_NUMERIC_ZEROPIVOT, MAT_FACTOR_OUTMEMORY, MAT_FACTOR_OTHER } MatFactorError; ``` ## Values - ***`MAT_FACTOR_NOERROR` -*** there was no error during the factorization - ***`MAT_FACTOR_STRUCT_ZEROPIVOT` -*** there was a missing entry in a diagonal location of the matrix - ***`MAT_FACTOR_NUMERIC_ZEROPIVOT` -*** there was a (near) zero pivot during the factorization - ***`MAT_FACTOR_OUTMEMORY` -*** the factorization has run out of memory - ***`MAT_FACTOR_OTHER` -*** some other error has occurred. ## Note When a factorization is done in a preconditioner `PC` the error may be propagated up to a `PCFailedReason` or a `KSPConvergedReason` ## See Also [](ch_matrices), `Mat`, `MatGetFactor()`, `MatFactorGetError()`, `MatFactorGetErrorZeroPivot()`, `MatFactorClearError()`, `PCFailedReason`, `PCGetFailedReason()`, `KSPConvergedReason` ## Level intermediate ## Location include/petscmat.h --- [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)