Class SSORPreconditioner

  • All Implemented Interfaces:
    Preconditioner

    public class SSORPreconditioner
    extends Object
    implements Preconditioner
    SSOR preconditioner is derived from a symmetric coefficient matrix A which is decomposed as
    A = D + L + Lt
    The SSOR preconditioning matrix is defined as
    M = (D + L)D-1(D + L)t
    or, parameterized by ω
    M(ω) = (1/(2 - ω))(D / ω + L)(D / ω)-1(D / ω + L)t

    The optimal ω reduces the number of iterations to a lower order. In practice, however, the spectral information for computing the optimal ω is expensive to obtain.

    See Also:
    SymmetricSuccessiveOverrelaxationSolver
    • Constructor Detail

      • SSORPreconditioner

        public SSORPreconditioner​(Matrix A,
                                  double omega)
        Construct an SSOR preconditioner with a symmetric coefficient matrix.
        Parameters:
        A - a symmetric coefficient matrix
        omega - an extrapolation factor
    • Method Detail

      • solve

        public Vector solve​(Vector x)
        Solve Mz = x using this SSOR preconditioner.
        Specified by:
        solve in interface Preconditioner
        Parameters:
        x - a vector
        Returns:
        M-1x