Class SSOR

java.lang.Object
no.uib.cipr.matrix.sparse.SSOR
All Implemented Interfaces:
Preconditioner

public class SSOR extends Object implements Preconditioner
SSOR preconditioner. Uses symmetrical sucessive overrelaxation as a preconditioner. Meant for symmetrical, positive definite matrices. For best performance, omega must be carefully chosen (between 0 and 2).
  • Constructor Details

    • SSOR

      public SSOR(CompRowMatrix F, boolean reverse, double omegaF, double omegaR)
      Constructor for SSOR
      Parameters:
      F - Matrix to use internally. It will not be modified, thus the system matrix may be passed
      reverse - True to perform a reverse sweep as well as the forward sweep. If false, this preconditioner becomes the SOR method instead
      omegaF - Overrelaxation parameter for the forward sweep. Between 0 and 2.
      omegaR - Overrelaxation parameter for the backwards sweep. Between 0 and 2.
    • SSOR

      public SSOR(CompRowMatrix F)
      Constructor for SSOR. Uses omega=1 with a backwards sweep
      Parameters:
      F - Matrix to use internally. It will not be modified, thus the system matrix may be passed
  • Method Details

    • setOmega

      public void setOmega(double omegaF, double omegaR)
      Sets the overrelaxation parameters
      Parameters:
      omegaF - Overrelaxation parameter for the forward sweep. Between 0 and 2.
      omegaR - Overrelaxation parameter for the backwards sweep. Between 0 and 2.
    • setMatrix

      public void setMatrix(Matrix A)
      Description copied from interface: Preconditioner
      Sets the operator matrix for the preconditioner. This method must be called before a preconditioner is used by an iterative solver
      Specified by:
      setMatrix in interface Preconditioner
      Parameters:
      A - Matrix to setup the preconditioner for. Not modified
    • apply

      public Vector apply(Vector b, Vector x)
      Description copied from interface: Preconditioner
      Solves the approximate problem with the given right hand side. Result is stored in given solution vector
      Specified by:
      apply in interface Preconditioner
      Parameters:
      b - Right hand side of problem
      x - Result is stored here
      Returns:
      x
    • transApply

      public Vector transApply(Vector b, Vector x)
      Description copied from interface: Preconditioner
      Solves the approximate transpose problem with the given right hand side. Result is stored in given solution vector
      Specified by:
      transApply in interface Preconditioner
      Parameters:
      b - Right hand side of problem
      x - Result is stored here
      Returns:
      x