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
amg.hpp File Reference

Main include file for algebraic multigrid (AMG) preconditioners. Experimental. More...

Go to the source code of this file.

Classes

class  viennacl::linalg::amg_coarse_problem_too_large_exception
 
class  viennacl::linalg::amg_precond< MatrixT >
 AMG preconditioner class, can be supplied to solve()-routines. More...
 
class  viennacl::linalg::amg_precond< compressed_matrix< NumericT, AlignmentV > >
 AMG 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.
 

Macros

#define VIENNACL_AMG_MAX_LEVELS   20
 

Functions

template<typename NumericT >
void viennacl::linalg::detail::amg_galerkin_prod (compressed_matrix< NumericT > &A_fine, compressed_matrix< NumericT > &P, compressed_matrix< NumericT > &R, compressed_matrix< NumericT > &A_coarse)
 Sparse Galerkin product: Calculates A_coarse = trans(P)*A_fine*P = R*A_fine*P. More...
 
template<typename NumericT , typename AMGContextListT >
vcl_size_t viennacl::linalg::detail::amg_setup (std::vector< compressed_matrix< NumericT > > &list_of_A, std::vector< compressed_matrix< NumericT > > &list_of_P, std::vector< compressed_matrix< NumericT > > &list_of_R, AMGContextListT &list_of_amg_level_context, amg_tag &tag)
 Setup AMG preconditioner. More...
 
template<typename MatrixT , typename InternalT1 , typename InternalT2 >
void viennacl::linalg::detail::amg_init (MatrixT const &mat, InternalT1 &list_of_A, InternalT1 &list_of_P, InternalT1 &list_of_R, InternalT2 &list_of_amg_level_context, amg_tag &tag)
 Initialize AMG preconditioner. More...
 
template<typename InternalVectorT , typename SparseMatrixT >
void viennacl::linalg::detail::amg_setup_apply (InternalVectorT &result, InternalVectorT &result_backup, InternalVectorT &rhs, InternalVectorT &residual, SparseMatrixT const &A, vcl_size_t coarse_levels, amg_tag const &tag)
 Setup data structures for precondition phase for later use on the GPU. More...
 
template<typename NumericT , typename SparseMatrixT >
void viennacl::linalg::detail::amg_lu (viennacl::matrix< NumericT > &op, SparseMatrixT const &A, amg_tag const &tag)
 Pre-compute LU factorization for direct solve (ublas library). More...
 

Detailed Description

Main include file for algebraic multigrid (AMG) preconditioners. Experimental.

Implementation contributed by Markus Wagner

Definition in file amg.hpp.

Macro Definition Documentation

#define VIENNACL_AMG_MAX_LEVELS   20

Definition at line 48 of file amg.hpp.