# 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 AIJ 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 (choose one of) NATURAL METIS PARMETIS SCOTCH PTSCOTCH RCM (None)
- ***-mat_strumpack_iterative_solver <DIRECT>  -*** Select iterative solver from STRUMPACK (choose one of) AUTO DIRECT REFINE PREC_GMRES GMRES PREC_BICGSTAB BICGSTAB (None)





## See Also
 `PCLU`, `PCILU`, `MATSOLVERSUPERLU_DIST`, `MATSOLVERMUMPS`, `PCFactorSetMatSolverType()`, `MatSolverType`, `MatGetFactor()`

## 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](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
