Parallel Colt 0.7.2

cern.colt.matrix.tfloat.algo.solver.preconditioner
Class FloatAMG

java.lang.Object
  extended by cern.colt.matrix.tfloat.algo.solver.preconditioner.FloatAMG
All Implemented Interfaces:
FloatPreconditioner

public class FloatAMG
extends Object
implements FloatPreconditioner

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


Constructor Summary
FloatAMG()
          Sets up the algebraic multigrid preconditioner using some default parameters.
FloatAMG(float omegaPreF, float omegaPreR, float omegaPostF, float omegaPostR, int nu1, int nu2, int gamma, int min, float omega)
          Sets up the algebraic multigrid preconditioner
FloatAMG(float omegaPre, float omegaPost, int nu1, int nu2, int gamma, int min, float omega)
          Sets up the algebraic multigrid preconditioner.
 
Method Summary
 FloatMatrix1D apply(FloatMatrix1D b, FloatMatrix1D x)
          Solves the approximate problem with the given right hand side.
 void setMatrix(FloatMatrix2D A)
          Sets the operator matrix for the preconditioner.
 FloatMatrix1D transApply(FloatMatrix1D b, FloatMatrix1D x)
          Solves the approximate transpose problem with the given right hand side.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FloatAMG

public FloatAMG(float omegaPreF,
                float omegaPreR,
                float omegaPostF,
                float omegaPostR,
                int nu1,
                int nu2,
                int gamma,
                int min,
                float 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

FloatAMG

public FloatAMG(float omegaPre,
                float omegaPost,
                int nu1,
                int nu2,
                int gamma,
                int min,
                float 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

FloatAMG

public FloatAMG()
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 FloatMatrix1D apply(FloatMatrix1D b,
                           FloatMatrix1D x)
Description copied from interface: FloatPreconditioner
Solves the approximate problem with the given right hand side. Result is stored in given solution vector

Specified by:
apply in interface FloatPreconditioner
Parameters:
b - Right hand side of problem
x - Result is stored here
Returns:
x

transApply

public FloatMatrix1D transApply(FloatMatrix1D b,
                                FloatMatrix1D x)
Description copied from interface: FloatPreconditioner
Solves the approximate transpose problem with the given right hand side. Result is stored in given solution vector

Specified by:
transApply in interface FloatPreconditioner
Parameters:
b - Right hand side of problem
x - Result is stored here
Returns:
x

setMatrix

public void setMatrix(FloatMatrix2D A)
Description copied from interface: FloatPreconditioner
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 FloatPreconditioner
Parameters:
A - Matrix to setup the preconditioner for. Not modified

Parallel Colt 0.7.2

Jump to the Parallel Colt Homepage