Implementations of several variants of the AMG coarsening procedure (setup phase). Experimental. More...
#include <cmath>
#include "viennacl/linalg/amg.hpp"
#include <map>
#include "amg_debug.hpp"
Go to the source code of this file.
Namespaces | |
namespace | viennacl |
namespace | viennacl::linalg |
namespace | viennacl::linalg::detail |
namespace | viennacl::linalg::detail::amg |
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. | |
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! | |
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). | |
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). | |
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). | |
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). | |
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). |
Implementations of several variants of the AMG coarsening procedure (setup phase). Experimental.