ViennaCL - The Vienna Computing Library  1.6.1
Free open-source GPU-accelerated linear algebra and solver library.
viennacl::linalg::detail::amg::amg_pointvector Class Reference

A class for the AMG points. Holds pointers of type amg_point in a vector that can be accessed using [point-index]. Additional list of pointers sorted by influence number and index to improve coarsening performance (see amg_coarse_classic_onepass() in amg_coarse.hpp) Constructs indices for C points on the coarse level, needed for interpolation. More...

#include <amg_base.hpp>

Public Types

typedef VectorType::iterator iterator
 
typedef VectorType::const_iterator const_iterator
 

Public Member Functions

 amg_pointvector (unsigned int size=0)
 The constructor. More...
 
void init_points ()
 
void delete_points ()
 
void add_point (amg_point *point)
 
void update_cf (amg_point *point)
 
void clear_cf ()
 
void clear_influencelists ()
 
amg_pointoperator[] (unsigned int i) const
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
void resize (unsigned int size)
 
unsigned int size () const
 
unsigned int get_cpoints () const
 
unsigned int get_fpoints () const
 
void sort ()
 
amg_pointget_nextpoint ()
 
void add_influence (amg_point *point, unsigned int add)
 
void make_cpoint (amg_point *point)
 
void make_fpoint (amg_point *point)
 
void switch_ftoc (amg_point *point)
 
void build_index ()
 
template<typename MatrixT >
void get_influence_matrix (MatrixT &mat) const
 
template<typename VectorT >
void get_influence (VectorT &vec) const
 
template<typename VectorT >
void get_sorting (VectorT &vec) const
 
template<typename VectorT >
void get_C (VectorT &vec) const
 
template<typename VectorT >
void get_F (VectorT &vec) const
 
template<typename MatrixT >
void get_Aggregates (MatrixT &mat) const
 

Detailed Description

A class for the AMG points. Holds pointers of type amg_point in a vector that can be accessed using [point-index]. Additional list of pointers sorted by influence number and index to improve coarsening performance (see amg_coarse_classic_onepass() in amg_coarse.hpp) Constructs indices for C points on the coarse level, needed for interpolation.

Definition at line 934 of file amg_base.hpp.

Member Typedef Documentation

Definition at line 949 of file amg_base.hpp.

Definition at line 948 of file amg_base.hpp.

Constructor & Destructor Documentation

viennacl::linalg::detail::amg::amg_pointvector::amg_pointvector ( unsigned int  size = 0)
inline

The constructor.

Parameters
sizeNumber of points

Definition at line 954 of file amg_base.hpp.

Member Function Documentation

void viennacl::linalg::detail::amg::amg_pointvector::add_influence ( amg_point point,
unsigned int  add 
)
inline

Definition at line 1038 of file amg_base.hpp.

void viennacl::linalg::detail::amg::amg_pointvector::add_point ( amg_point point)
inline

Definition at line 973 of file amg_base.hpp.

iterator viennacl::linalg::detail::amg::amg_pointvector::begin ( )
inline

Definition at line 1001 of file amg_base.hpp.

const_iterator viennacl::linalg::detail::amg::amg_pointvector::begin ( ) const
inline

Definition at line 1003 of file amg_base.hpp.

void viennacl::linalg::detail::amg::amg_pointvector::build_index ( )
inline

Definition at line 1074 of file amg_base.hpp.

void viennacl::linalg::detail::amg::amg_pointvector::clear_cf ( )
inline

Definition at line 988 of file amg_base.hpp.

void viennacl::linalg::detail::amg::amg_pointvector::clear_influencelists ( )
inline

Definition at line 991 of file amg_base.hpp.

void viennacl::linalg::detail::amg::amg_pointvector::delete_points ( )
inline

Definition at line 967 of file amg_base.hpp.

iterator viennacl::linalg::detail::amg::amg_pointvector::end ( )
inline

Definition at line 1002 of file amg_base.hpp.

const_iterator viennacl::linalg::detail::amg::amg_pointvector::end ( ) const
inline

Definition at line 1004 of file amg_base.hpp.

template<typename MatrixT >
void viennacl::linalg::detail::amg::amg_pointvector::get_Aggregates ( MatrixT &  mat) const
inline

Definition at line 1147 of file amg_base.hpp.

template<typename VectorT >
void viennacl::linalg::detail::amg::amg_pointvector::get_C ( VectorT &  vec) const
inline

Definition at line 1123 of file amg_base.hpp.

unsigned int viennacl::linalg::detail::amg::amg_pointvector::get_cpoints ( ) const
inline

Definition at line 1014 of file amg_base.hpp.

template<typename VectorT >
void viennacl::linalg::detail::amg::amg_pointvector::get_F ( VectorT &  vec) const
inline

Definition at line 1135 of file amg_base.hpp.

unsigned int viennacl::linalg::detail::amg::amg_pointvector::get_fpoints ( ) const
inline

Definition at line 1016 of file amg_base.hpp.

template<typename VectorT >
void viennacl::linalg::detail::amg::amg_pointvector::get_influence ( VectorT &  vec) const
inline

Definition at line 1101 of file amg_base.hpp.

template<typename MatrixT >
void viennacl::linalg::detail::amg::amg_pointvector::get_influence_matrix ( MatrixT &  mat) const
inline

Definition at line 1091 of file amg_base.hpp.

amg_point* viennacl::linalg::detail::amg::amg_pointvector::get_nextpoint ( )
inline

Definition at line 1025 of file amg_base.hpp.

template<typename VectorT >
void viennacl::linalg::detail::amg::amg_pointvector::get_sorting ( VectorT &  vec) const
inline

Definition at line 1110 of file amg_base.hpp.

void viennacl::linalg::detail::amg::amg_pointvector::init_points ( )
inline

Definition at line 961 of file amg_base.hpp.

void viennacl::linalg::detail::amg::amg_pointvector::make_cpoint ( amg_point point)
inline

Definition at line 1052 of file amg_base.hpp.

void viennacl::linalg::detail::amg::amg_pointvector::make_fpoint ( amg_point point)
inline

Definition at line 1059 of file amg_base.hpp.

amg_point* viennacl::linalg::detail::amg::amg_pointvector::operator[] ( unsigned int  i) const
inline

Definition at line 1000 of file amg_base.hpp.

void viennacl::linalg::detail::amg::amg_pointvector::resize ( unsigned int  size)
inline

Definition at line 1006 of file amg_base.hpp.

unsigned int viennacl::linalg::detail::amg::amg_pointvector::size ( ) const
inline

Definition at line 1011 of file amg_base.hpp.

void viennacl::linalg::detail::amg::amg_pointvector::sort ( )
inline

Definition at line 1019 of file amg_base.hpp.

void viennacl::linalg::detail::amg::amg_pointvector::switch_ftoc ( amg_point point)
inline

Definition at line 1066 of file amg_base.hpp.

void viennacl::linalg::detail::amg::amg_pointvector::update_cf ( amg_point point)
inline

Definition at line 982 of file amg_base.hpp.


The documentation for this class was generated from the following file: