# MATSUPERLU

MATSUPERLU = "superlu" - A matrix type providing direct solvers (LU) for sequential matrices via the external package SuperLU. If SuperLU is installed (see the manual for instructions on how to declare the existence of external packages), a matrix type can be constructed which invokes SuperLU solvers. After calling MatCreate(...,A), simply call MatSetType(A,MATSUPERLU).

This matrix inherits from MATSEQAIJ. As a result, MatSeqAIJSetPreallocation() is supported for this matrix type. One can also call MatConvert for an inplace conversion to or from the MATSEQAIJ type without data copy.

### Options Database Keys

| -mat_type superlu | - sets the matrix type to "superlu" during a call to MatSetFromOptions()
| -mat_superlu_ordering <0,1,2,3> | - 0: natural ordering, 1: MMD applied to A'*A, 2: MMD applied to A'+A, 3: COLAMD, approximate minimum degree column ordering
| -mat_superlu_iterrefine | - have SuperLU do iterative refinement after the triangular solve choices: NOREFINE, SINGLE, DOUBLE, EXTRA; default is NOREFINE
| -mat_superlu_printstat | - print SuperLU statistics about the factorization

### See Also

PCLU

Level:beginner
Location:src/mat/impls/aij/seq/superlu/superlu.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages