Skip to main content
`Ctrl`+`K`

# MATSOLVERSUPERLU

“superlu” - A solver package providing solvers LU and ILU for sequential matrices via the external package SuperLU https://portal.nersc.gov/project/sparse/superlu/superlu_ug.pdf Use `./configure --download-superlu` to have PETSc installed with SuperLU

Use `-pc_type lu` `-pc_factor_mat_solver_type superlu` to use this direct solver

## Options Database Keys

- -mat_superlu_equil <FALSE> - Equil (None)

- -mat_superlu_colperm <COLAMD> - (choose one of) `NATURAL`, `MMD_ATA MMD_AT_PLUS_A`, `COLAMD`

- -mat_superlu_iterrefine <NOREFINE> - (choose one of) `NOREFINE`, `SINGLE`, `DOUBLE`, `EXTRA`

- -mat_superlu_symmetricmode: <FALSE> - SymmetricMode (None)

- -mat_superlu_diagpivotthresh <1> - DiagPivotThresh (None)

- -mat_superlu_pivotgrowth <FALSE> - PivotGrowth (None)

- -mat_superlu_conditionnumber <FALSE> - ConditionNumber (None)

- -mat_superlu_rowperm <NOROWPERM> - (choose one of) `NOROWPERM`, `LargeDiag`

- -mat_superlu_replacetinypivot <FALSE> - ReplaceTinyPivot (None)

- -mat_superlu_printstat <FALSE> - PrintStat (None)

- -mat_superlu_lwork <0> - size of work array in bytes used by factorization (None)

- -mat_superlu_ilu_droptol <0> - ILU_DropTol (None)

- -mat_superlu_ilu_filltol <0> - ILU_FillTol (None)

- -mat_superlu_ilu_fillfactor <0> - ILU_FillFactor (None)

- -mat_superlu_ilu_droprull <0> - ILU_DropRule (None)

- -mat_superlu_ilu_norm <0> - ILU_Norm (None)

- -mat_superlu_ilu_milu <0> - ILU_MILU (None)

## Notes

Do not confuse this with `MATSOLVERSUPERLU_DIST` which is for parallel sparse solves

Cannot use ordering provided by PETSc, provides its own.

## See Also

Matrices, `Mat`, `PCLU`, `PCILU`, `MATSOLVERSUPERLU_DIST`, `MATSOLVERMUMPS`, `PCFactorSetMatSolverType()`, `MatSolverType`

## Level

beginner

## Location

src/mat/impls/aij/seq/superlu/superlu.c

## Examples

src/ksp/ksp/tutorials/ex52.c
src/tao/constrained/tutorials/maros.c

Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages