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

Implementations of incomplete factorization preconditioners with fine-grained parallelism. 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/linalg/ilu_operations.hpp"`
`#include "viennacl/linalg/prod.hpp"`
`#include "viennacl/backend/memory.hpp"`

Go to the source code of this file.

## Classes

class | viennacl::linalg::chow_patel_tag
| A tag for incomplete LU and incomplete Cholesky factorization with static pattern (Parallel-ILU0, Parallel ICC0) More...
class | viennacl::linalg::chow_patel_icc_precond< MatrixT >
| Parallel Chow-Patel ILU preconditioner class, can be supplied to solve()-routines. More...
class | viennacl::linalg::chow_patel_icc_precond< viennacl::compressed_matrix< NumericT, AlignmentV > >
| Parallel Chow-Patel ILU preconditioner class, can be supplied to solve()-routines. More...
class | viennacl::linalg::chow_patel_ilu_precond< MatrixT >
| Parallel Chow-Patel ILU preconditioner class, can be supplied to solve()-routines. More...
class | viennacl::linalg::chow_patel_ilu_precond< viennacl::compressed_matrix< NumericT, AlignmentV > >
| Parallel Chow-Patel ILU 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.
| viennacl::linalg::detail
| Namespace holding implementation details for linear algebra routines. Usually not of interest for a library user.

## Functions

template<typename NumericT >
void | viennacl::linalg::detail::precondition (viennacl::compressed_matrix< NumericT > const &A, viennacl::compressed_matrix< NumericT > &L, viennacl::vector< NumericT > &diag_L, viennacl::compressed_matrix< NumericT > &L_trans, chow_patel_tag const &tag)
| Implementation of the parallel ICC0 factorization, Algorithm 3 in Chow-Patel paper. More...
template<typename NumericT >
void | viennacl::linalg::detail::precondition (viennacl::compressed_matrix< NumericT > const &A, viennacl::compressed_matrix< NumericT > &L, viennacl::vector< NumericT > &diag_L, viennacl::compressed_matrix< NumericT > &U, viennacl::vector< NumericT > &diag_U, chow_patel_tag const &tag)
| Implementation of the parallel ILU0 factorization, Algorithm 2 in Chow-Patel paper. More...

## Detailed Description

Implementations of incomplete factorization preconditioners with fine-grained parallelism.

Based on "Fine-Grained Parallel Incomplete LU Factorization" by Chow and Patel, SIAM J. Sci. Comput., vol. 37, no. 2, pp. C169-C193

Definition in file chow_patel_ilu.hpp.