Implementations of specialized routines for the Chow-Patel parallel ILU preconditioner. More...
#include "viennacl/forwards.h"
#include "viennacl/range.hpp"
#include "viennacl/scalar.hpp"
#include "viennacl/tools/tools.hpp"
#include "viennacl/meta/predicate.hpp"
#include "viennacl/meta/enable_if.hpp"
#include "viennacl/traits/size.hpp"
#include "viennacl/traits/start.hpp"
#include "viennacl/traits/handle.hpp"
#include "viennacl/traits/stride.hpp"
#include "viennacl/linalg/host_based/ilu_operations.hpp"
Go to the source code of this file.
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::extract_L (compressed_matrix< NumericT > const &A, compressed_matrix< NumericT > &L) |
Extracts the lower triangular part L from A. More... | |
template<typename NumericT > | |
void | viennacl::linalg::icc_scale (compressed_matrix< NumericT > const &A, compressed_matrix< NumericT > &L) |
Scales the values extracted from A such that A' = DAD has unit diagonal. Updates values from A in L accordingly. More... | |
template<typename NumericT > | |
void | viennacl::linalg::icc_chow_patel_sweep (compressed_matrix< NumericT > &L, vector< NumericT > &aij_L) |
Performs one nonlinear relaxation step in the Chow-Patel-ICC (cf. Algorithm 3 in paper, but for L rather than U) More... | |
template<typename NumericT > | |
void | viennacl::linalg::extract_LU (compressed_matrix< NumericT > const &A, compressed_matrix< NumericT > &L, compressed_matrix< NumericT > &U) |
Extracts the lower triangular part L and the upper triangular part U from A. More... | |
template<typename NumericT > | |
void | viennacl::linalg::ilu_scale (compressed_matrix< NumericT > const &A, compressed_matrix< NumericT > &L, compressed_matrix< NumericT > &U) |
Scales the values extracted from A such that A' = DAD has unit diagonal. Updates values from A in L and U accordingly. More... | |
template<typename NumericT > | |
void | viennacl::linalg::ilu_transpose (compressed_matrix< NumericT > const &A, compressed_matrix< NumericT > &B) |
Transposition B <- A^T, where the aij-vector is permuted in the same way as the value array in A when assigned to B. More... | |
template<typename NumericT > | |
void | viennacl::linalg::ilu_chow_patel_sweep (compressed_matrix< NumericT > &L, vector< NumericT > const &aij_L, compressed_matrix< NumericT > &U_trans, vector< NumericT > const &aij_U_trans) |
Performs one nonlinear relaxation step in the Chow-Patel-ILU (cf. Algorithm 2 in paper) More... | |
template<typename NumericT > | |
void | viennacl::linalg::ilu_form_neumann_matrix (compressed_matrix< NumericT > &R, vector< NumericT > &diag_R) |
Extracts the lower triangular part L and the upper triangular part U from A. More... | |
Implementations of specialized routines for the Chow-Patel parallel ILU preconditioner.
Definition in file ilu_operations.hpp.