ILU<Matrix> [MTL Home] 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

[MTL Home] Copyright © 1998,1999 University of Notre Dame. All Rights Reserved.