Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## no.uib.cipr.matrix.sparse
Class SSOR

    java.lang.Object
      no.uib.cipr.matrix.sparse.SSOR

All Implemented Interfaces:
  Preconditioner

    public class SSOR

extends java.lang.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 Summary
`SSOR(CompRowMatrix F)` Constructor for SSOR.
`SSOR(CompRowMatrix F, boolean reverse, double omegaF, double omegaR)` Constructor for SSOR

Method Summary
`Vector` | `apply(Vector b, Vector x)` Solves the approximate problem with the given right hand side.
`void` | `setMatrix(Matrix A)` Sets the operator matrix for the preconditioner.
`void` | `setOmega(double omegaF, double omegaR)` Sets the overrelaxation parameters
`Vector` | `transApply(Vector b, Vector x)` Solves the approximate transpose problem with the given right hand side.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### 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 Detail

### 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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD