All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 InternalT1 , typename InternalT2 , typename InternalT3 >
void | viennacl::linalg::detail::amg::amg_coarse (unsigned int level, InternalT1 &A, InternalT2 &pointvector, InternalT3 &slicing, amg_tag &tag)
| Calls the right coarsening procedure. More...
template<typename InternalT1 , typename InternalT2 >
void | viennacl::linalg::detail::amg::amg_influence (unsigned int level, InternalT1 const &A, InternalT2 &pointvector, amg_tag &tag)
| Determines strong influences in system matrix, classical approach (RS). Multithreaded! More...
template<typename InternalT1 , typename InternalT2 >
void | viennacl::linalg::detail::amg::amg_coarse_classic_onepass (unsigned int level, InternalT1 &A, InternalT2 &pointvector, amg_tag &tag)
| Classical (RS) one-pass coarsening. Single-Threaded! (VIENNACL_AMG_COARSE_CLASSIC_ONEPASS) More...
template<typename InternalT1 , typename InternalT2 >
void | viennacl::linalg::detail::amg::amg_coarse_classic (unsigned int level, InternalT1 &A, InternalT2 &pointvector, amg_tag &tag)
| Classical (RS) two-pass coarsening. Single-Threaded! (VIENNACL_AMG_COARSE_CLASSIC) More...
template<typename InternalT1 , typename InternalT2 , typename InternalT3 >
void | viennacl::linalg::detail::amg::amg_coarse_rs0 (unsigned int level, InternalT1 &A, InternalT2 &pointvector, InternalT3 &slicing, amg_tag &tag)
| Parallel classical RS0 coarsening. Multi-Threaded! (VIENNACL_AMG_COARSE_RS0 || VIENNACL_AMG_COARSE_RS3) More...
template<typename InternalT1 , typename InternalT2 , typename InternalT3 >
void | viennacl::linalg::detail::amg::amg_coarse_rs3 (unsigned int level, InternalT1 &A, InternalT2 &pointvector, InternalT3 &slicing, amg_tag &tag)
| RS3 coarsening. Single-Threaded! (VIENNACL_AMG_COARSE_RS3) More...
template<typename InternalT1 , typename InternalT2 >
void | viennacl::linalg::detail::amg::amg_coarse_ag (unsigned int level, InternalT1 &A, InternalT2 &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.

Definition in file amg_coarse.hpp.