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 AMG

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

All Implemented Interfaces:
  Preconditioner

    public class AMG

extends java.lang.Object
implements Preconditioner

Algebraic multigrid preconditioner. Uses the smoothed aggregation method described by Vanek, Mandel, and Brezina (1996).

Constructor Summary
`AMG()` Sets up the algebraic multigrid preconditioner using some default parameters.
`AMG(double omegaPreF, double omegaPreR, double omegaPostF, double omegaPostR, int nu1, int nu2, int gamma, int min, double omega)` Sets up the algebraic multigrid preconditioner
`AMG(double omegaPre, double omegaPost, int nu1, int nu2, int gamma, int min, double omega)` Sets up the algebraic multigrid preconditioner.

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.
`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

### AMG

    public AMG(double omegaPreF,
               double omegaPreR,
               double omegaPostF,
               double omegaPostR,
               int nu1,
               int nu2,
               int gamma,
               int min,
               double omega)

  Sets up the algebraic multigrid preconditioner

  Parameters:
    `omegaPreF` - Overrelaxation parameter in the forward sweep of the pre-smoothing
    `omegaPreR` - Overrelaxation parameter in the backwards sweep of the pre-smoothing
    `omegaPostF` - Overrelaxation parameter in the forward sweep of the post-smoothing
    `omegaPostR` - Overrelaxation parameter in the backwards sweep of the post-smoothing
    `nu1` - Number of pre-relaxations to perform
    `nu2` - Number of post-relaxations to perform
    `gamma` - Number of times to go to a coarser level
    `min` - Smallest matrix size before using a direct solver
    `omega` - Jacobi damping parameter, between zero and one. If it equals zero, the method reduces to the standard aggregate multigrid method

### AMG

    public AMG(double omegaPre,
               double omegaPost,
               int nu1,
               int nu2,
               int gamma,
               int min,
               double omega)

  Sets up the algebraic multigrid preconditioner. Uses an SOR method, without the backward sweep in SSOR

  Parameters:
    `omegaPre` - Overrelaxation parameter in the pre-smoothing
    `omegaPost` - Overrelaxation parameter in the post-smoothing
    `nu1` - Number of pre-relaxations to perform
    `nu2` - Number of post-relaxations to perform
    `gamma` - Number of times to go to a coarser level
    `min` - Smallest matrix size before using a direct solver
    `omega` - Jacobi damping parameter, between zero and one. If it equals zero, the method reduces to the standard aggregate multigrid method

### AMG

    public AMG()

  Sets up the algebraic multigrid preconditioner using some default parameters. In the presmoothing, `omegaF=1` and `omegaR=1.85`, while in the postsmoothing, `omegaF=1.85` and `omegaR=1`. Sets `nu1=nu2=gamma=1`, has a smallest matrix size of 40, and sets `omega=2/3`.

Method Detail

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

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

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