Class MINRESSolver

java.lang.Object
org.ojalgo.matrix.task.iterative.IterativeSolverTask
org.ojalgo.matrix.task.iterative.MINRESSolver
All Implemented Interfaces:
MatrixTask<Double>, SolverTask<Double>

public final class MINRESSolver extends IterativeSolverTask
Minimal Residual (MINRES) solver for symmetric (possibly indefinite) square systems.

This class mirrors the public API and internal scratch structure of QMRSolver, but implements the classic MINRES iteration specialised for symmetric matrices. Right-preconditioning is supported using the Preconditioner API provided by IterativeSolverTask. A shift parameter is present but fixed to zero in this implementation; it is retained to enable straightforward future extensions.

Characteristics

  • Operates on matrix–vector products with A only (symmetry assumed).
  • Right-preconditioning is applied via the Preconditioner interface.
  • Stops when the residual norm is small relative to the RHS norm (or absolutely small when RHS is zero), or when the iteration limit is reached.
When to use
  • For symmetric problems, including indefinite ones, where CG is not applicable.
  • When a robust Krylov method without A^T products is desired.
  • When right-preconditioning is convenient and a symmetric preconditioner is available.
References
  • Paige, C. C., and M. A. Saunders (1975), Solutions of sparse indefinite systems of linear equations.
  • Numerical Analysis. 12 (4): 617–629. doi:10.1137/0712047.