cern.colt.matrix.tdouble.algo.solver.preconditioner
Class DoubleILUT
- java.lang.Object
-
- cern.colt.matrix.tdouble.algo.solver.preconditioner.DoubleILUT
-
- All Implemented Interfaces:
- DoublePreconditioner
public class DoubleILUT extends java.lang.Object implements DoublePreconditioner
ILU preconditioner with fill-in. Uses the dual threshold approach of Saad.
-
-
Constructor Summary
Constructors Constructor and Description DoubleILUT(int n)Sets up the preconditioner for the given problem size.DoubleILUT(int n, double tau, int p)Sets up the preconditioner for the problem size
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description DoubleMatrix1Dapply(DoubleMatrix1D b, DoubleMatrix1D x)Solves the approximate problem with the given right hand side.voidsetMatrix(DoubleMatrix2D A)Sets the operator matrix for the preconditioner.DoubleMatrix1DtransApply(DoubleMatrix1D b, DoubleMatrix1D x)Solves the approximate transpose problem with the given right hand side.
-
-
-
Constructor Detail
-
DoubleILUT
public DoubleILUT(int n, double tau, int p)Sets up the preconditioner for the problem size- Parameters:
n- Problem size (number of rows)tau- Drop tolerancep- Number of entries to keep on each row in of the factored matrix. This is in addition to the entries of the original matrix
-
DoubleILUT
public DoubleILUT(int n)
Sets up the preconditioner for the given problem size. Uses a drop-tolerance of 10-6, and keeps 25 entries on each row, including the main diagonal and any previous entries in the matrix structure- Parameters:
n- Problem size (number of rows)
-
-
Method Detail
-
apply
public DoubleMatrix1D apply(DoubleMatrix1D b, DoubleMatrix1D x)
Description copied from interface:DoublePreconditionerSolves the approximate problem with the given right hand side. Result is stored in given solution vector- Specified by:
applyin interfaceDoublePreconditioner- Parameters:
b- Right hand side of problemx- Result is stored here- Returns:
- x
-
transApply
public DoubleMatrix1D transApply(DoubleMatrix1D b, DoubleMatrix1D x)
Description copied from interface:DoublePreconditionerSolves the approximate transpose problem with the given right hand side. Result is stored in given solution vector- Specified by:
transApplyin interfaceDoublePreconditioner- Parameters:
b- Right hand side of problemx- Result is stored here- Returns:
- x
-
setMatrix
public void setMatrix(DoubleMatrix2D A)
Description copied from interface:DoublePreconditionerSets the operator matrix for the preconditioner. This method must be called before a preconditioner is used by an iterative solver- Specified by:
setMatrixin interfaceDoublePreconditioner- Parameters:
A- Matrix to setup the preconditioner for. Not modified
-
-
DMelt 3.0 © DataMelt by jWork.ORG