This code implements the MINRES (Minimum Residual) method and its QLP variant [PS75], [CPS11], [LR22].

Options Database Keys#

  • -ksp_minres_qlp - activates QLP code

  • -ksp_minres_radius - maximum allowed solution norm

  • -ksp_minres_trancond - threshold on condition number to dynamically switch to QLP iterations when QLP has been activated

  • -ksp_minres_monitor - monitors convergence quantities

  • -ksp_minres_nutol - inexactness tolerance (see https://arxiv.org/pdf/2208.07095.pdf)


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

Supports only left preconditioning.

Contributed by#

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



Sou-Cheng T Choi, Christopher C Paige, and Michael A Saunders. MINRES-QLP: a Krylov subspace method for indefinite or singular symmetric systems. SIAM Journal on Scientific Computing, 33(4):1810–1836, 2011.


Yang Liu and Fred Roosta. A Newton-MR algorithm with complexity guarantees for nonconvex smooth unconstrained optimization. arXiv preprint arXiv:2208.07095, 2022.


C. C. Paige and M. A. Saunders. Solution of sparse indefinite systems of linear equations. SIAM Journal on Numerical Analysis, 12:617–629, 1975.

See Also#

KSP: Linear System Solvers, KSPCreate(), KSPSetType(), KSPType, KSP, KSPCG, KSPCR, KSPMINRESGetUseQLP(), KSPMINRESSetUseQLP(), KSPMINRESSetRadius()





Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages