# MATSOLVERMKL_PARDISO
A matrix type providing direct solvers, LU, for `MATSEQAIJ` matrices via the external package MKL_PARDISO. Use -pc_type lu -pc_factor_mat_solver_type mkl_pardiso to use this direct solver


## Options Database Keys

- ***-mat_mkl_pardiso_65 -*** Suggested number of threads to use within MKL_PARDISO
- ***-mat_mkl_pardiso_66 -*** Maximum number of factors with identical sparsity structure that must be kept in memory at the same time
- ***-mat_mkl_pardiso_67 -*** Indicates the actual matrix for the solution phase
- ***-mat_mkl_pardiso_68 -*** Message level information, use 1 to get detailed information on the solver options
- ***-mat_mkl_pardiso_69 -*** Defines the matrix type. IMPORTANT: When you set this flag, iparm parameters are going to be set to the default ones for the matrix type
- ***-mat_mkl_pardiso_1  -*** Use default values
- ***-mat_mkl_pardiso_2  -*** Fill-in reducing ordering for the input matrix
- ***-mat_mkl_pardiso_4  -*** Preconditioned CGS/CG
- ***-mat_mkl_pardiso_5  -*** User permutation
- ***-mat_mkl_pardiso_6  -*** Write solution on x
- ***-mat_mkl_pardiso_8  -*** Iterative refinement step
- ***-mat_mkl_pardiso_10 -*** Pivoting perturbation
- ***-mat_mkl_pardiso_11 -*** Scaling vectors
- ***-mat_mkl_pardiso_12 -*** Solve with transposed or conjugate transposed matrix A
- ***-mat_mkl_pardiso_13 -*** Improved accuracy using (non-) symmetric weighted matching
- ***-mat_mkl_pardiso_18 -*** Numbers of non-zero elements
- ***-mat_mkl_pardiso_19 -*** Report number of floating point operations
- ***-mat_mkl_pardiso_21 -*** Pivoting for symmetric indefinite matrices
- ***-mat_mkl_pardiso_24 -*** Parallel factorization control
- ***-mat_mkl_pardiso_25 -*** Parallel forward/backward solve control
- ***-mat_mkl_pardiso_27 -*** Matrix checker
- ***-mat_mkl_pardiso_31 -*** Partial solve and computing selected components of the solution vectors
- ***-mat_mkl_pardiso_34 -*** Optimal number of threads for conditional numerical reproducibility (CNR) mode
- ***-mat_mkl_pardiso_60 -*** Intel MKL_PARDISO mode





## Notes
Use -mat_mkl_pardiso_68 1 to display the number of threads the solver is using. MKL does not provide a way to directly access this
information.

For more information on the options check the MKL_Pardiso manual


## See Also
 `MATSEQAIJ`, `PCFactorSetMatSolverType()`, `MatSolverType`

## Level
beginner

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


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