cern.colt.matrix.tfloat.algo.solver.preconditioner
Class FloatAMG
- java.lang.Object
-
- cern.colt.matrix.tfloat.algo.solver.preconditioner.FloatAMG
-
- All Implemented Interfaces:
- FloatPreconditioner
public class FloatAMG extends java.lang.Object implements FloatPreconditioner
Algebraic multigrid preconditioner. Uses the smoothed aggregation method described by Vanek, Mandel, and Brezina (1996).
-
-
Constructor Summary
Constructors Constructor and Description 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 preconditionerFloatAMG(float omegaPre, float omegaPost, int nu1, int nu2, int gamma, int min, float omega)Sets up the algebraic multigrid preconditioner.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description FloatMatrix1Dapply(FloatMatrix1D b, FloatMatrix1D x)Solves the approximate problem with the given right hand side.voidsetMatrix(FloatMatrix2D A)Sets the operator matrix for the preconditioner.FloatMatrix1DtransApply(FloatMatrix1D b, FloatMatrix1D x)Solves the approximate transpose problem with the given right hand side.
-
-
-
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-smoothingomegaPreR- Overrelaxation parameter in the backwards sweep of the pre-smoothingomegaPostF- Overrelaxation parameter in the forward sweep of the post-smoothingomegaPostR- Overrelaxation parameter in the backwards sweep of the post-smoothingnu1- Number of pre-relaxations to performnu2- Number of post-relaxations to performgamma- Number of times to go to a coarser levelmin- Smallest matrix size before using a direct solveromega- 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-smoothingomegaPost- Overrelaxation parameter in the post-smoothingnu1- Number of pre-relaxations to performnu2- Number of post-relaxations to performgamma- Number of times to go to a coarser levelmin- Smallest matrix size before using a direct solveromega- 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=1andomegaR=1.85, while in the postsmoothing,omegaF=1.85andomegaR=1. Setsnu1=nu2=gamma=1, has a smallest matrix size of 40, and setsomega=2/3.
-
-
Method Detail
-
apply
public FloatMatrix1D apply(FloatMatrix1D b, FloatMatrix1D x)
Description copied from interface:FloatPreconditionerSolves the approximate problem with the given right hand side. Result is stored in given solution vector- Specified by:
applyin interfaceFloatPreconditioner- Parameters:
b- Right hand side of problemx- Result is stored here- Returns:
- x
-
transApply
public FloatMatrix1D transApply(FloatMatrix1D b, FloatMatrix1D x)
Description copied from interface:FloatPreconditionerSolves the approximate transpose problem with the given right hand side. Result is stored in given solution vector- Specified by:
transApplyin interfaceFloatPreconditioner- Parameters:
b- Right hand side of problemx- Result is stored here- Returns:
- x
-
setMatrix
public void setMatrix(FloatMatrix2D A)
Description copied from interface:FloatPreconditionerSets the operator matrix for the preconditioner. This method must be called before a preconditioner is used by an iterative solver- Specified by:
setMatrixin interfaceFloatPreconditioner- Parameters:
A- Matrix to setup the preconditioner for. Not modified
-
-
DMelt 3.0 © DataMelt by jWork.ORG