ILU Programmers Guide Contents | Index |  Search

Category:itl,functors Component type:type
Description
```  Usage:
Matrix A;
ILU precond(A);
qmr(A, x, b, precond.left(), precond.right(), iter);
```
Matrix has to be unsymmetric. For symmetric one, use incomlete cholesky. Notes: The idea under a concrete Preconditioner such as Incomplete Cholesky is to create a Preconditioner object to use in iterative methods.
Example
In ilu.cc:
```typedef matrix< Type, rectangle<>,
array< compressed<> >,
row_major >::type Matrix;
Matrix A(5, 5);
dense1D<Type> x(A.nrows(), Type(0));
dense1D<Type> b(A.ncols());
for (dense1D<Type>::iterator i=b.begin(); i!=b.end(); i++)
*i = 1.;
// ilu preconditioner
ILU<Matrix> precond(A);
//iteration
noisy_iteration<double> iter(b, max_iter, 1.e-6);
//qmr algorithm
qmr(A, x, b, precond.left(), precond.right(), iter);

```
Definition
ilu.h
Template Parameters

ParameterDescriptionDefault
MatrixAn MTL Matrix
Model of
Members
Member Where defined Description
Precond   The preconditioner type
Left   The left preconditioner type
Right   The right preconditioner type
ILU ()   Default Constructor
ILU (const Matrix& A_)   Construct from Matrix A
Precond operator() ()   return a left or right Preconditioner object.
Left left ()   return the left part of a Split Preconditioner object
Right right ()   return the right part of a Split Preconditioner object
void print ()
New members
Notes
See also