Class MutableSolver

java.lang.Object
org.ojalgo.matrix.task.iterative.MutableSolver
All Implemented Interfaces:
MatrixTask<Double>, SolverTask<Double>
Direct Known Subclasses:
IterativeASS.SchurComplementSolver

public abstract class MutableSolver extends Object implements SolverTask<Double>
Lightweight mutable wrapper around a list of Equation rows that delegates solving to an IterativeSolverTask.

Purpose

  • Build and update an equation system incrementally by adding/removing Equation rows.
  • Reuse an iterative solver across solves without rebuilding matrices.
  • Support workflows where the active rows/columns change between iterations.
How it works Contract
  • Every added Equation must have Equation.size() equal to the problem size passed to the constructor; otherwise an IllegalArgumentException is thrown.
  • The provided solution vector represents the active variable subspace; residuals are formed against that vector and the current row bodies only.
  • Thread-safety: instances are not thread-safe; do not mutate the row set while solving.
Example usage
  • A subclass can also implement MatrixStore and dynamically assemble a Schur-complement-style system by adding/removing rows, and then call resolve(PhysicalStore) to compute the unknowns.