:orphan:
# MatLUFactorSymbolic
Performs symbolic LU factorization of matrix. Call this routine before calling `MatLUFactorNumeric()` and after `MatGetFactor()`.
## Synopsis
```
#include "petscmat.h"
PetscErrorCode MatLUFactorSymbolic(Mat fact, Mat mat, IS row, IS col, const MatFactorInfo *info)
```
Collective
## Input Parameters
- ***fact -*** the factor matrix obtained with `MatGetFactor()`
- ***mat -*** the matrix
- ***row -*** the row permutation
- ***col -*** the column permutation
- ***info -*** options for factorization, includes
```none
fill - expected fill as ratio of original fill. Run with the option -info to determine an optimal value to use
dtcol - pivot tolerance (0 no pivot, 1 full column pivoting)
```
## Notes
See [Matrix Factorization](sec_matfactor) for additional information about factorizations
Most users should employ the simplified `KSP` interface for linear solvers
instead of working directly with matrix algebra routines such as this.
See, e.g., `KSPCreate()`.
## Developer Note
The Fortran interface is not autogenerated as the
interface definition cannot be generated correctly [due to `MatFactorInfo`]
## See Also
[](ch_matrices), `Mat`, [Matrix Factorization](sec_matfactor), `MatGetFactor()`, `MatLUFactor()`, `MatLUFactorNumeric()`, `MatCholeskyFactor()`, `MatFactorInfo`, `MatFactorInfoInitialize()`
## Level
developer
## Location
src/mat/interface/matrix.c
## Examples
src/ksp/ksp/tutorials/ex52.c
## Implementations
MatLUFactorSymbolic_AIJMUMPS in src/mat/impls/aij/mpi/mumps/mumps.c
MatLUFactorSymbolic_BAIJMUMPS in src/mat/impls/aij/mpi/mumps/mumps.c
MatLUFactorSymbolic_AIJPASTIX in src/mat/impls/aij/mpi/pastix/pastix.c
MatLUFactorSymbolic_STRUMPACK in src/mat/impls/aij/mpi/strumpack/strumpack.c
MatLUFactorSymbolic_SeqAIJ in src/mat/impls/aij/seq/aijfact.c
MatLUFactorSymbolic_Essl in src/mat/impls/aij/seq/essl/essl.c
MatLUFactorSymbolic_KLU in src/mat/impls/aij/seq/klu/klu.c
MatLUFactorSymbolic_SeqAIJKokkos in src/mat/impls/aij/seq/kokkos/aijkok.kokkos.cxx
MatLUFactorSymbolic_SeqAIJKOKKOSDEVICE in src/mat/impls/aij/seq/kokkos/aijkok.kokkos.cxx
MatLUFactorSymbolic_LUSOL in src/mat/impls/aij/seq/lusol/lusol.c
MatLUFactorSymbolic_Matlab in src/mat/impls/aij/seq/matlab/aijmatlab.c
MatLUFactorSymbolic_SeqAIJCUSPARSE in src/mat/impls/aij/seq/seqcusparse/aijcusparse.cu
MatLUFactorSymbolic_SeqAIJCUSPARSEBAND in src/mat/impls/aij/seq/seqcusparse/aijcusparseband.cu
MatLUFactorSymbolic_SeqAIJHIPSPARSE in src/mat/impls/aij/seq/seqhipsparse/aijhipsparse.hip.c
MatLUFactorSymbolic_SeqAIJHIPSPARSEBAND in src/mat/impls/aij/seq/seqhipsparse/aijhipsparseband.hip.c
MatLUFactorSymbolic_SuperLU in src/mat/impls/aij/seq/superlu/superlu.c
MatLUFactorSymbolic_UMFPACK in src/mat/impls/aij/seq/umfpack/umfpack.c
MatLUFactorSymbolic_SeqBAIJ in src/mat/impls/baij/seq/baijfact3.c
MatLUFactorSymbolic_SeqDense in src/mat/impls/dense/seq/dense.c
MatLUFactorSymbolic_Elemental in src/mat/impls/elemental/matelem.cxx
MatLUFactorSymbolic_ScaLAPACK in src/mat/impls/scalapack/matscalapack.c
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/mat/interface/matrix.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)