Class PreconditionedIterativeLinearSolver

java.lang.Object
org.hipparchus.linear.IterativeLinearSolver
org.hipparchus.linear.PreconditionedIterativeLinearSolver
Direct Known Subclasses:
ConjugateGradient, SymmLQ

public abstract class PreconditionedIterativeLinearSolver extends IterativeLinearSolver

This abstract class defines preconditioned iterative solvers. When A is ill-conditioned, instead of solving system A · x = b directly, it is preferable to solve either \[ (M \cdot A) \cdot x = M \cdot b \] (left preconditioning), or \[ (A \cdot M) \cdot y = b, \text{followed by} M \cdot y = x \]

(right preconditioning), where M approximates in some way A-1, while matrix-vector products of the type \(M \cdot y\) remain comparatively easy to compute. In this library, M (not M-1!) is called the preconditioner.

Concrete implementations of this abstract class must be provided with the preconditioner M, as a RealLinearOperator.