ViennaCL - The Vienna Computing Library  1.5.0
Public Member Functions
amg_precond< compressed_matrix< ScalarType, MAT_ALIGNMENT > > 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< ScalarType, MAT_ALIGNMENT > const &mat, amg_tag const &tag)
 The constructor. Builds data structures.
void setup ()
 Start setup phase for this class and copy data structures.
void init_apply () const
 Prepare data structures for preconditioning: Build data structures for precondition phase. Do LU factorization on coarsest level.
template<typename VectorType >
ScalarType calc_complexity (VectorType &avgstencil)
 Returns complexity measures.
template<typename VectorType >
void apply (VectorType &vec) const
 Precondition Operation.
template<typename VectorType >
void smooth_jacobi (int level, unsigned int iterations, VectorType &x, VectorType const &rhs) const
 Jacobi Smoother (GPU version)
amg_tagtag ()

Detailed Description

template<typename ScalarType, unsigned int MAT_ALIGNMENT>
class viennacl::linalg::amg_precond< compressed_matrix< ScalarType, MAT_ALIGNMENT > >

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

Specialization for compressed_matrix


Constructor & Destructor Documentation

amg_precond ( ) [inline]
amg_precond ( compressed_matrix< ScalarType, MAT_ALIGNMENT > const &  mat,
amg_tag const &  tag 
) [inline]

The constructor. Builds data structures.

Parameters:
matSystem matrix
tagThe AMG tag

Member Function Documentation

void apply ( VectorType vec) const [inline]

Precondition Operation.

Parameters:
vecThe vector to which preconditioning is applied to
ScalarType calc_complexity ( VectorType avgstencil) [inline]

Returns complexity measures.

Parameters:
avgstencilAverage stencil sizes on all levels
Returns:
Operator complexity of AMG method
void init_apply ( ) const [inline]

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

void setup ( ) [inline]

Start setup phase for this class and copy data structures.

void smooth_jacobi ( int  level,
unsigned int  iterations,
VectorType x,
VectorType const &  rhs 
) 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
rhsThe right hand side of the equation for the smoother
amg_tag& tag ( ) [inline]

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