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
viennacl::linalg::detail::amg Namespace Reference

Implementation namespace for algebraic multigrid preconditioner. More...

Classes

struct  amg_level_context
 

Functions

template<typename NumericT , typename AMGContextT >
void amg_influence (compressed_matrix< NumericT > const &A, AMGContextT &amg_context, amg_tag &tag)
 
template<typename NumericT , typename AMGContextT >
void amg_coarse (compressed_matrix< NumericT > const &A, AMGContextT &amg_context, amg_tag &tag)
 
template<typename NumericT , typename AMGContextT >
void amg_interpol (compressed_matrix< NumericT > const &A, compressed_matrix< NumericT > &P, AMGContextT &amg_context, amg_tag &tag)
 
template<typename NumericT >
void amg_transpose (compressed_matrix< NumericT > &A, compressed_matrix< NumericT > &B)
 
template<typename SparseMatrixType , typename NumericT >
viennacl::enable_if
< viennacl::is_any_sparse_matrix
< SparseMatrixType >::value >
::type 
assign_to_dense (SparseMatrixType const &A, viennacl::matrix_base< NumericT > &B)
 
template<typename NumericT >
void smooth_jacobi (unsigned int iterations, compressed_matrix< NumericT > const &A, vector< NumericT > &x, vector< NumericT > &x_backup, vector< NumericT > const &rhs_smooth, NumericT weight)
 

Detailed Description

Implementation namespace for algebraic multigrid preconditioner.

Function Documentation

template<typename NumericT , typename AMGContextT >
void viennacl::linalg::detail::amg::amg_coarse ( compressed_matrix< NumericT > const &  A,
AMGContextT &  amg_context,
amg_tag &  tag 
)

Definition at line 77 of file amg_operations.hpp.

template<typename NumericT , typename AMGContextT >
void viennacl::linalg::detail::amg::amg_influence ( compressed_matrix< NumericT > const &  A,
AMGContextT &  amg_context,
amg_tag &  tag 
)

Definition at line 51 of file amg_operations.hpp.

template<typename NumericT , typename AMGContextT >
void viennacl::linalg::detail::amg::amg_interpol ( compressed_matrix< NumericT > const &  A,
compressed_matrix< NumericT > &  P,
AMGContextT &  amg_context,
amg_tag &  tag 
)

Definition at line 103 of file amg_operations.hpp.

template<typename NumericT >
void viennacl::linalg::detail::amg::amg_transpose ( compressed_matrix< NumericT > &  A,
compressed_matrix< NumericT > &  B 
)

Definition at line 132 of file amg_operations.hpp.

template<typename SparseMatrixType , typename NumericT >
viennacl::enable_if< viennacl::is_any_sparse_matrix<SparseMatrixType>::value>::type viennacl::linalg::detail::amg::assign_to_dense ( SparseMatrixType const &  A,
viennacl::matrix_base< NumericT > &  B 
)

Assign sparse matrix A to dense matrix B

Definition at line 174 of file amg_operations.hpp.

template<typename NumericT >
void viennacl::linalg::detail::amg::smooth_jacobi ( unsigned int  iterations,
compressed_matrix< NumericT > const &  A,
vector< NumericT > &  x,
vector< NumericT > &  x_backup,
vector< NumericT > const &  rhs_smooth,
NumericT  weight 
)

Definition at line 203 of file amg_operations.hpp.