Module ojalgo

Class JacobiPreconditioner

  • All Implemented Interfaces:
    Preconditioner

    public final class JacobiPreconditioner
    extends java.lang.Object
    implements Preconditioner
    Simple diagonal (Jacobi) preconditioner: M = diag(A), apply M^{-1} x = x ./ diag(A).

    Compatibility

    • Well-suited as a lightweight, symmetry-preserving choice for methods that benefit from SPD preconditioning when A has positive diagonal entries.
    • Usable as a right-preconditioner in methods for general nonsymmetric systems where a transpose action equals the forward action.
    • Ignored by stationary fixed-point methods that do not use preconditioners.
    • Field Detail

      • myInvDiag

        private transient R064Store myInvDiag
    • Constructor Detail

      • JacobiPreconditioner

        public JacobiPreconditioner()
    • Method Detail

      • prepare

        public void prepare​(java.util.List<Equation> equations,
                            int dimension)
        Description copied from interface: Preconditioner
        Prepare internal structures for a specific system. Implementations may analyse sparsity or extract diagonals/factors here.
        Specified by:
        prepare in interface Preconditioner
        Parameters:
        equations - The active set of rows constituting the system body.
        dimension - The vector dimension (number of variables / size of solution vector).