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 jmp.iter.mixed.MixedSolver MixedSolver}, and there are three implementations:

- {@link jmp.iter.mixed.Uzawa Uzawa} - basic Uzawa algorithm, requires a steplength
- {@link jmp.iter.mixed.GradientUzawa GradientUzawa} - Uzawa algorithm with gradient descent
- {@link jmp.iter.mixed.CGUzawa CGUzawa} - Uzawa algorithm using a conjugate gradient descent

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