All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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_point * | operator[] (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_point * | get_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 946 of file amg_base.hpp.

## Member Typedef Documentation

typedef VectorType::const_iterator viennacl::linalg::detail::amg::amg_pointvector::const_iterator

Definition at line 961 of file amg_base.hpp.

typedef VectorType::iterator viennacl::linalg::detail::amg::amg_pointvector::iterator

Definition at line 960 of file amg_base.hpp.

## Constructor & Destructor Documentation

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

inline

The constructor.

Parameters

  size | Number of points

Definition at line 966 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 1050 of file amg_base.hpp.

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

inline

Definition at line 985 of file amg_base.hpp.

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

inline

Definition at line 1013 of file amg_base.hpp.

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

inline

Definition at line 1015 of file amg_base.hpp.

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

inline

Definition at line 1086 of file amg_base.hpp.

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

inline

Definition at line 1000 of file amg_base.hpp.

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

inline

Definition at line 1003 of file amg_base.hpp.

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

inline

Definition at line 979 of file amg_base.hpp.

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

inline

Definition at line 1014 of file amg_base.hpp.

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

inline

Definition at line 1016 of file amg_base.hpp.

template<typename MatrixT >

void viennacl::linalg::detail::amg::amg_pointvector::get_Aggregates | ( | MatrixT & | mat | ) | const

inline

Definition at line 1159 of file amg_base.hpp.

template<typename VectorT >

void viennacl::linalg::detail::amg::amg_pointvector::get_C | ( | VectorT & | vec | ) | const

inline

Definition at line 1135 of file amg_base.hpp.

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

inline

Definition at line 1026 of file amg_base.hpp.

template<typename VectorT >

void viennacl::linalg::detail::amg::amg_pointvector::get_F | ( | VectorT & | vec | ) | const

inline

Definition at line 1147 of file amg_base.hpp.

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

inline

Definition at line 1028 of file amg_base.hpp.

template<typename VectorT >

void viennacl::linalg::detail::amg::amg_pointvector::get_influence | ( | VectorT & | vec | ) | const

inline

Definition at line 1113 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 1103 of file amg_base.hpp.

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

inline

Definition at line 1037 of file amg_base.hpp.

template<typename VectorT >

void viennacl::linalg::detail::amg::amg_pointvector::get_sorting | ( | VectorT & | vec | ) | const

inline

Definition at line 1122 of file amg_base.hpp.

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

inline

Definition at line 973 of file amg_base.hpp.

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

inline

Definition at line 1064 of file amg_base.hpp.

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

inline

Definition at line 1071 of file amg_base.hpp.

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

inline

Definition at line 1012 of file amg_base.hpp.

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

inline

Definition at line 1018 of file amg_base.hpp.

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

inline

Definition at line 1023 of file amg_base.hpp.

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

inline

Definition at line 1031 of file amg_base.hpp.

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

inline

Definition at line 1078 of file amg_base.hpp.

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

inline

Definition at line 994 of file amg_base.hpp.

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

- viennacl/linalg/detail/amg/amg_base.hpp