Iterative mixed solvers. The mixed problem is
A q + B' u = f
B q + C  u = g

where A is symmetrical, positive definite. While a mixed problem can be formulated as a linear problem, a mixed solver can often be more efficient.

The basic interface is {@link smt.iter.mixed.MixedSolver MixedSolver}, and there are three implementations:

The last method is often the fastest. All these use a solver for the A matrix, by default {@link smt.iter.CG CG} is used, but different solvers can be set using {@link smt.iter.mixed.MixedSolver#setSubSolver(smt.iter.IterativeSolver) MixedSolver.setSubSolver}.