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 (true|false) - activates QLP code

  • -ksp_minres_radius maxnorm - maximum allowed solution norm

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

  • -ksp_minres_monitor - monitors convergence quantities

  • -ksp_minres_nutol tol - 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