ViennaCL - The Vienna Computing Library  1.6.0
Free open-source GPU-accelerated linear algebra and solver library.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
viennacl::linalg::amg_precond< compressed_matrix< NumericT, AlignmentV > > Class Template Reference

AMG preconditioner class, can be supplied to solve()-routines. More...

#include <amg.hpp>

Public Member Functions

 amg_precond ()
 
 amg_precond (compressed_matrix< NumericT, AlignmentV > const &mat, amg_tag const &tag)
 The constructor. Builds data structures. More...
 
void setup ()
 Start setup phase for this class and copy data structures. More...
 
void init_apply () const
 Prepare data structures for preconditioning: Build data structures for precondition phase. Do LU factorization on coarsest level. More...
 
template<typename VectorT >
NumericT calc_complexity (VectorT &avgstencil)
 Returns complexity measures. More...
 
template<typename VectorT >
void apply (VectorT &vec) const
 Precondition Operation. More...
 
template<typename VectorT >
void smooth_jacobi (vcl_size_t level, unsigned int iterations, VectorT &x, VectorT const &rhs_smooth) const
 Jacobi Smoother (GPU version) More...
 
amg_tagtag ()
 

Detailed Description

template<typename NumericT, unsigned int AlignmentV>
class viennacl::linalg::amg_precond< compressed_matrix< NumericT, AlignmentV > >

AMG preconditioner class, can be supplied to solve()-routines.

Specialization for compressed_matrix

Definition at line 565 of file amg.hpp.

Constructor & Destructor Documentation

template<typename NumericT , unsigned int AlignmentV>
viennacl::linalg::amg_precond< compressed_matrix< NumericT, AlignmentV > >::amg_precond ( )
inline

Definition at line 599 of file amg.hpp.

template<typename NumericT , unsigned int AlignmentV>
viennacl::linalg::amg_precond< compressed_matrix< NumericT, AlignmentV > >::amg_precond ( compressed_matrix< NumericT, AlignmentV > const &  mat,
amg_tag const &  tag 
)
inline

The constructor. Builds data structures.

Parameters
matSystem matrix
tagThe AMG tag

Definition at line 606 of file amg.hpp.

Member Function Documentation

template<typename NumericT , unsigned int AlignmentV>
template<typename VectorT >
void viennacl::linalg::amg_precond< compressed_matrix< NumericT, AlignmentV > >::apply ( VectorT &  vec) const
inline

Precondition Operation.

Parameters
vecThe vector to which preconditioning is applied to

Definition at line 680 of file amg.hpp.

template<typename NumericT , unsigned int AlignmentV>
template<typename VectorT >
NumericT viennacl::linalg::amg_precond< compressed_matrix< NumericT, AlignmentV > >::calc_complexity ( VectorT &  avgstencil)
inline

Returns complexity measures.

Parameters
avgstencilAverage stencil sizes on all levels
Returns
Operator complexity of AMG method

Definition at line 652 of file amg.hpp.

template<typename NumericT , unsigned int AlignmentV>
void viennacl::linalg::amg_precond< compressed_matrix< NumericT, AlignmentV > >::init_apply ( ) const
inline

Prepare data structures for preconditioning: Build data structures for precondition phase. Do LU factorization on coarsest level.

Definition at line 636 of file amg.hpp.

template<typename NumericT , unsigned int AlignmentV>
void viennacl::linalg::amg_precond< compressed_matrix< NumericT, AlignmentV > >::setup ( )
inline

Start setup phase for this class and copy data structures.

Definition at line 622 of file amg.hpp.

template<typename NumericT , unsigned int AlignmentV>
template<typename VectorT >
void viennacl::linalg::amg_precond< compressed_matrix< NumericT, AlignmentV > >::smooth_jacobi ( vcl_size_t  level,
unsigned int  iterations,
VectorT &  x,
VectorT const &  rhs_smooth 
) const
inline

Jacobi Smoother (GPU version)

Parameters
levelCoarse level to which smoother is applied to
iterationsNumber of smoother iterations
xThe vector smoothing is applied to
rhs_smoothThe right hand side of the equation for the smoother

Definition at line 770 of file amg.hpp.

template<typename NumericT , unsigned int AlignmentV>
amg_tag& viennacl::linalg::amg_precond< compressed_matrix< NumericT, AlignmentV > >::tag ( )
inline

Definition at line 793 of file amg.hpp.


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