:orphan:
# KSPMINRES
This code implements the MINRES (Minimum Residual) method and its QLP variant. 
## Options Database Keys

- ***-ksp_minres_qlp <bool> -*** activates QLP code
- ***-ksp_minres_radius <real> -*** maximum allowed solution norm
- ***-ksp_minres_trancond <real> -*** threshold on condition number to dynamically switch to QLP iterations when QLP has been activated
- ***-ksp_minres_monitor -*** monitors convergence quantities





## Notes
The operator and the preconditioner must be symmetric and the preconditioner must be positive definite for this method.

Supports only left preconditioning.


## Reference

- **** -*** Paige & Saunders, Solution of sparse indefinite systems of linear equations, SIAM J. Numer. Anal. 12, 1975.
- **** -*** S.-C. T. Choi, C. C. Paige and M. A. Saunders. MINRES-QLP: A Krylov subspace method for indefinite or singular symmetric systems, SIAM J. Sci. Comput. 33:4, 2011.


Original MINRES code contributed by: Robert Scheichl: maprs@maths.bath.ac.uk
QLP variant adapted from: https://stanford.edu/group/SOL/software/minresqlp/minresqlp-matlab/CPS11.zip


## See Also
 [](ch_ksp), `KSPCreate()`, `KSPSetType()`, `KSPType`, `KSP`, `KSPCG`, `KSPCR`

## Level
beginner

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/ksp/ksp/impls/minres/minres.c.html#KSPMINRES">src/ksp/ksp/impls/minres/minres.c</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ksp/ksp/impls/minres/minres.c)


[Index of all KSP routines](index.md)  
[Table of Contents for all manual pages](/manualpages/index.md)  
[Index of all manual pages](/manualpages/singleindex.md)  
