ViennaCL - The Vienna Computing Library: viennacl/linalg/detail/ilu/ilu0.hpp File Reference

ViennaCL - The Vienna Computing Library 1.7.1 Free open-source GPU-accelerated linear algebra and solver library. |

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Functions
ilu0.hpp File Reference

Implementations of incomplete factorization preconditioners with static nonzero pattern. More...

`#include <vector>`
`#include <cmath>`
`#include <iostream>`
`#include "viennacl/forwards.h"`
`#include "viennacl/tools/tools.hpp"`
`#include "viennacl/linalg/detail/ilu/common.hpp"`
`#include "viennacl/compressed_matrix.hpp"`
`#include "viennacl/backend/memory.hpp"`
`#include "viennacl/linalg/host_based/common.hpp"`
`#include <map>`

Go to the source code of this file.

## Classes
class | viennacl::linalg::ilu0_tag
| A tag for incomplete LU factorization with static pattern (ILU0) More...
class | viennacl::linalg::ilu0_precond< MatrixT >
| ILU0 preconditioner class, can be supplied to solve()-routines. More...
class | viennacl::linalg::ilu0_precond< viennacl::compressed_matrix< NumericT, AlignmentV > >
| ILU0 preconditioner class, can be supplied to solve()-routines. More...

## Namespaces
| viennacl
| Main namespace in ViennaCL. Holds all the basic types such as vector, matrix, etc. and defines operations upon them.
| viennacl::linalg
| Provides all linear algebra operations which are not covered by operator overloads.

## Functions
template<typename NumericT >
void | viennacl::linalg::precondition (viennacl::compressed_matrix< NumericT > &A, ilu0_tag const &)
| Implementation of a ILU-preconditioner with static pattern. Optimized version for CSR matrices. More...

## Detailed Description

Implementations of incomplete factorization preconditioners with static nonzero pattern.

Contributed by Evan Bollig.

ILU0 (Incomplete LU with zero fill-in)

- All preconditioner nonzeros exist at locations that were nonzero in the input matrix.
- The number of nonzeros in the output preconditioner are exactly the same number as the input matrix

Evan Bollig 3/30/12

Adapted from viennacl/linalg/detail/ilut.hpp

Low-level reimplementation by Karl Rupp in Nov 2012, increasing performance substantially. Also added level-scheduling.

Definition in file ilu0.hpp.