:orphan:
# MATSOLVERUMFPACK
"umfpack" - A matrix type providing direct solvers, LU, for sequential matrices via the external package UMFPACK. Use `./configure --download-suitesparse` to install PETSc to use UMFPACK

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

Consult UMFPACK documentation for more information about the Control parameters
which correspond to the options database keys below.


## Options Database Keys

- ***-mat_umfpack_ordering                -*** `CHOLMOD`, `AMD`, `GIVEN`, `METIS`, `BEST`, `NONE`
- ***-mat_umfpack_prl                     -*** UMFPACK print level: Control[UMFPACK_PRL]
- ***-mat_umfpack_strategy <AUTO>         -*** (choose one of) `AUTO`, `UNSYMMETRIC`, `SYMMETRIC 2BY2`
- ***-mat_umfpack_dense_col <alpha_c>     -*** UMFPACK dense column threshold: Control[UMFPACK_DENSE_COL]
- ***-mat_umfpack_dense_row <0.2>         -*** Control[UMFPACK_DENSE_ROW]
- ***-mat_umfpack_amd_dense <10>          -*** Control[UMFPACK_AMD_DENSE]
- ***-mat_umfpack_block_size <bs>         -*** UMFPACK block size for BLAS-Level 3 calls: Control[UMFPACK_BLOCK_SIZE]
- ***-mat_umfpack_2by2_tolerance <0.01>   -*** Control[UMFPACK_2BY2_TOLERANCE]
- ***-mat_umfpack_fixq <0>                -*** Control[UMFPACK_FIXQ]
- ***-mat_umfpack_aggressive <1>          -*** Control[UMFPACK_AGGRESSIVE]
- ***-mat_umfpack_pivot_tolerance <delta> -*** UMFPACK partial pivot tolerance: Control[UMFPACK_PIVOT_TOLERANCE]
- ***-mat_umfpack_sym_pivot_tolerance <0.001> -*** Control[UMFPACK_SYM_PIVOT_TOLERANCE]
- ***-mat_umfpack_scale <NONE>           -*** (choose one of) NONE SUM MAX
- ***-mat_umfpack_alloc_init <delta>      -*** UMFPACK factorized matrix allocation modifier: Control[UMFPACK_ALLOC_INIT]
- ***-mat_umfpack_droptol <0>            -*** Control[UMFPACK_DROPTOL]
- ***-mat_umfpack_irstep <maxit>          -*** UMFPACK maximum number of iterative refinement steps: Control[UMFPACK_IRSTEP]





## Note
UMFPACK is part of SuiteSparse http://faculty.cse.tamu.edu/davis/suitesparse.html


## See Also
 [](ch_matrices), `Mat`, `PCLU`, `MATSOLVERSUPERLU`, `MATSOLVERMUMPS`, `PCFactorSetMatSolverType()`, `MatSolverType`

## Level
beginner

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/mat/impls/aij/seq/umfpack/umfpack.c.html#MATSOLVERUMFPACK">src/mat/impls/aij/seq/umfpack/umfpack.c</A>

## Examples
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/dm/impls/stag/tutorials/ex4.c.html">src/dm/impls/stag/tutorials/ex4.c</A><BR>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/mat/impls/aij/seq/umfpack/umfpack.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)  
