cern.colt.matrix.tfloat.algo.solver.preconditioner
Class FloatSSOR
- java.lang.Object
-
- cern.colt.matrix.tfloat.algo.solver.preconditioner.FloatSSOR
-
- All Implemented Interfaces:
- FloatPreconditioner
public class FloatSSOR extends java.lang.Object implements FloatPreconditioner
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
Constructors Constructor and Description FloatSSOR(int n)Constructor for SSOR.FloatSSOR(int n, boolean reverse, float omegaF, float omegaR)Constructor for SSOR
-
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.voidsetOmega(float omegaF, float omegaR)Sets the overrelaxation parametersFloatMatrix1DtransApply(FloatMatrix1D b, FloatMatrix1D x)Solves the approximate transpose problem with the given right hand side.
-
-
-
Constructor Detail
-
FloatSSOR
public FloatSSOR(int n, boolean reverse, float omegaF, float omegaR)Constructor for SSOR- Parameters:
n- Problem size (number of rows)reverse- True to perform a reverse sweep as well as the forward sweep. If false, this preconditioner becomes the SOR method insteadomegaF- Overrelaxation parameter for the forward sweep. Between 0 and 2.omegaR- Overrelaxation parameter for the backwards sweep. Between 0 and 2.
-
FloatSSOR
public FloatSSOR(int n)
Constructor for SSOR. Usesomega=1with a backwards sweep- Parameters:
n- Problem size (number of rows)
-
-
Method Detail
-
setOmega
public void setOmega(float omegaF, float 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(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
-
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
-
-
DMelt 3.0 © DataMelt by jWork.ORG