:orphan:
# MATSOLVERSSTRUMPACK
"strumpack" - A solver package providing a direct sparse solver (PCLU) and a preconditioner (PCILU) using low-rank compression via the external package STRUMPACK. Consult the STRUMPACK-sparse manual for more info.

Use ` ./configure --download-strumpack` to have PETSc installed with STRUMPACK

Use `-pc_type lu` `-pc_factor_mat_solver_type strumpack` to use this as an exact (direct) solver.

Use `-pc_type ilu` `-pc_factor_mat_solver_type strumpack` to enable low-rank compression (i.e, use as a preconditioner).

Works with `MATAIJ` matrices


## Options Database Keys

- ***-mat_strumpack_verbose                    -*** verbose info
- ***-mat_strumpack_hss_rel_tol <1e-*** 2>         - Relative compression tolerance (None)
- ***-mat_strumpack_hss_abs_tol <1e-*** 8>         - Absolute compression tolerance (None)
- ***-mat_strumpack_colperm <TRUE>             -*** Permute matrix to make diagonal nonzeros (None)
- ***-mat_strumpack_hss_min_sep_size <256>     -*** Minimum size of separator for HSS compression (None)
- ***-mat_strumpack_max_rank                   -*** Maximum rank in HSS compression, when using pctype ilu (None)
- ***-mat_strumpack_leaf_size                  -*** Size of diagonal blocks in HSS approximation, when using pctype ilu (None)
- ***-mat_strumpack_reordering <METIS>         -*** Sparsity reducing matrix reordering see `MatSTRUMPACKReordering`
- ***-mat_strumpack_iterative_solver <DIRECT>  -*** Select iterative solver from STRUMPACK (choose one of) `AUTO`, `DIRECT`, `REFINE`, `PREC_GMRES`,
`GMRES`, `PREC_BICGSTAB`, `BICGSTAB`





## See Also
 [](ch_matrices), `Mat`, `PCLU`, `PCILU`, `MATSOLVERSUPERLU_DIST`, `MATSOLVERMUMPS`, `PCFactorSetMatSolverType()`, `MatSolverType`,
`MatGetFactor()`, `MatSTRUMPACKSetReordering()`, `MatSTRUMPACKSetColPerm()`, `MatSTRUMPACKSetHSSRelTol()`,
`MatSTRUMPACKSetHSSAbsTol()`, `MatSTRUMPACKSetHSSMaxRank()`, `MatSTRUMPACKSetHSSLeafSize()`, `MatSTRUMPACKSetHSSMinSepSize()`

## Level
beginner

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/mat/impls/aij/mpi/strumpack/strumpack.c.html#MATSOLVERSSTRUMPACK">src/mat/impls/aij/mpi/strumpack/strumpack.c</A>


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