KSPMINRES#

This code implements the MINRES (Minimum Residual) method and its QLP variant [PS75], [CPS11], [LR22] for solving linear systems using KSP.

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)

Notes#

The matrix (operator) and the preconditioner must be symmetric and the preconditioner must also be positive definite for this method.

KSPMINRES is often the best Krylov method for symmetric indefinite matrices.

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

References#

[CPS11]

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.

[LR22]

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

[PS75]

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()

Level#

beginner

Location#

src/ksp/ksp/impls/minres/minres.c


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