Package no.uib.cipr.matrix.sparse
Class ILUT
- java.lang.Object
-
- no.uib.cipr.matrix.sparse.ILUT
-
- All Implemented Interfaces:
Preconditioner
public class ILUT extends java.lang.Object implements Preconditioner
ILU preconditioner with fill-in. Uses the dual threshold approach of Saad.
-
-
Constructor Summary
Constructors Constructor Description ILUT(FlexCompRowMatrix LU)
Sets up the preconditioner for the given matrix.ILUT(FlexCompRowMatrix LU, double tau, int p)
Sets up the preconditioner for the given matrix
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description 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.
-
-
-
Constructor Detail
-
ILUT
public ILUT(FlexCompRowMatrix LU, double tau, int p)
Sets up the preconditioner for the given matrix- Parameters:
LU
- Matrix to use internally. For best performance, its non-zero pattern should conform to that of the system matrixtau
- 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
-
ILUT
public ILUT(FlexCompRowMatrix LU)
Sets up the preconditioner for the given matrix. Uses a drop-tolerance of 10-6, and keeps 50 entries on each row, including the main diagonal and any previous entries in the matrix structure- Parameters:
LU
- Matrix to use internally. For best performance, its non-zero pattern should conform to that of the system matrix
-
-
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 interfacePreconditioner
- Parameters:
b
- Right hand side of problemx
- 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 interfacePreconditioner
- Parameters:
b
- Right hand side of problemx
- 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 interfacePreconditioner
- Parameters:
A
- Matrix to setup the preconditioner for. Not modified
-
-