Parallel Colt 0.7.2

cern.colt.matrix.tdouble.algo.solver.preconditioner
Class DoubleILUT

java.lang.Object
  extended by cern.colt.matrix.tdouble.algo.solver.preconditioner.DoubleILUT
All Implemented Interfaces:
DoublePreconditioner

public class DoubleILUT
extends Object
implements DoublePreconditioner

ILU preconditioner with fill-in. Uses the dual threshold approach of Saad.


Constructor Summary
DoubleILUT(RCMDoubleMatrix2D LU)
          Sets up the preconditioner for the given matrix.
DoubleILUT(RCMDoubleMatrix2D LU, double tau, int p)
          Sets up the preconditioner for the given matrix
 
Method Summary
 DoubleMatrix1D apply(DoubleMatrix1D b, DoubleMatrix1D x)
          Solves the approximate problem with the given right hand side.
 void setMatrix(DoubleMatrix2D A)
          Sets the operator matrix for the preconditioner.
 DoubleMatrix1D transApply(DoubleMatrix1D b, DoubleMatrix1D 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

DoubleILUT

public DoubleILUT(RCMDoubleMatrix2D 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 matrix
tau - Drop tolerance
p - 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(RCMDoubleMatrix2D LU)
Sets up the preconditioner for the given matrix. 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:
LU - Matrix to use internally. For best performance, its non-zero pattern should conform to that of the system matrix
Method Detail

apply

public DoubleMatrix1D apply(DoubleMatrix1D b,
                            DoubleMatrix1D x)
Description copied from interface: DoublePreconditioner
Solves the approximate problem with the given right hand side. Result is stored in given solution vector

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

transApply

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

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

setMatrix

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

Parallel Colt 0.7.2

Jump to the Parallel Colt Homepage