ViennaCL - The Vienna Computing Library  1.5.2
Namespaces | Functions
amg_coarse.hpp File Reference

Implementations of several variants of the AMG coarsening procedure (setup phase). Experimental. More...

#include <cmath>
#include "viennacl/linalg/detail/amg/amg_base.hpp"
#include <map>
#include "viennacl/linalg/detail/amg/amg_debug.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.
 
 viennacl::linalg::detail
 Namespace holding implementation details for linear algebra routines. Usually not of interest for a library user.
 
 viennacl::linalg::detail::amg
 Implementation namespace for algebraic multigrid preconditioner.
 

Functions

template<typename InternalType1 , typename InternalType2 , typename InternalType3 >
void amg_coarse (unsigned int level, InternalType1 &A, InternalType2 &Pointvector, InternalType3 &Slicing, amg_tag &tag)
 Calls the right coarsening procedure. More...
 
template<typename InternalType1 , typename InternalType2 >
void amg_influence (unsigned int level, InternalType1 const &A, InternalType2 &Pointvector, amg_tag &tag)
 Determines strong influences in system matrix, classical approach (RS). Multithreaded! More...
 
template<typename InternalType1 , typename InternalType2 >
void amg_coarse_classic_onepass (unsigned int level, InternalType1 &A, InternalType2 &Pointvector, amg_tag &tag)
 Classical (RS) one-pass coarsening. Single-Threaded! (VIENNACL_AMG_COARSE_CLASSIC_ONEPASS) More...
 
template<typename InternalType1 , typename InternalType2 >
void amg_coarse_classic (unsigned int level, InternalType1 &A, InternalType2 &Pointvector, amg_tag &tag)
 Classical (RS) two-pass coarsening. Single-Threaded! (VIENNACL_AMG_COARSE_CLASSIC) More...
 
template<typename InternalType1 , typename InternalType2 , typename InternalType3 >
void amg_coarse_rs0 (unsigned int level, InternalType1 &A, InternalType2 &Pointvector, InternalType3 &Slicing, amg_tag &tag)
 Parallel classical RS0 coarsening. Multi-Threaded! (VIENNACL_AMG_COARSE_RS0 || VIENNACL_AMG_COARSE_RS3) More...
 
template<typename InternalType1 , typename InternalType2 , typename InternalType3 >
void amg_coarse_rs3 (unsigned int level, InternalType1 &A, InternalType2 &Pointvector, InternalType3 &Slicing, amg_tag &tag)
 RS3 coarsening. Single-Threaded! (VIENNACL_AMG_COARSE_RS3) More...
 
template<typename InternalType1 , typename InternalType2 >
void amg_coarse_ag (unsigned int level, InternalType1 &A, InternalType2 &Pointvector, amg_tag &tag)
 AG (aggregation based) coarsening. Single-Threaded! (VIENNACL_AMG_COARSE_SA) More...
 

Detailed Description

Implementations of several variants of the AMG coarsening procedure (setup phase). Experimental.