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

Jacobi-type preconditioner class, can be supplied to solve()-routines. This is a diagonal preconditioner with the diagonal entries being (configurable) row norms of the matrix. More...

#include <row_scaling.hpp>

Public Member Functions

 row_scaling (MatrixType const &mat, row_scaling_tag const &tag)
 Constructor for the preconditioner. More...
 
void init (MatrixType const &mat, row_scaling_tag const &tag)
 
template<typename VectorType >
void apply (VectorType &vec) const
 Apply to res = b - Ax, i.e. row applied vec (right hand side),. More...
 

Detailed Description

template<typename MatrixType, bool is_viennacl = detail::row_scaling_for_viennacl<MatrixType>::value>
class viennacl::linalg::row_scaling< MatrixType, is_viennacl >

Jacobi-type preconditioner class, can be supplied to solve()-routines. This is a diagonal preconditioner with the diagonal entries being (configurable) row norms of the matrix.

Default implementation for non-native ViennaCL matrices (e.g. uBLAS)

Definition at line 87 of file row_scaling.hpp.

Constructor & Destructor Documentation

template<typename MatrixType , bool is_viennacl = detail::row_scaling_for_viennacl<MatrixType>::value>
viennacl::linalg::row_scaling< MatrixType, is_viennacl >::row_scaling ( MatrixType const &  mat,
row_scaling_tag const &  tag 
)
inline

Constructor for the preconditioner.

Parameters
matThe system matrix
tagA row scaling tag holding the desired norm.

Definition at line 97 of file row_scaling.hpp.

Member Function Documentation

template<typename MatrixType , bool is_viennacl = detail::row_scaling_for_viennacl<MatrixType>::value>
template<typename VectorType >
void viennacl::linalg::row_scaling< MatrixType, is_viennacl >::apply ( VectorType &  vec) const
inline

Apply to res = b - Ax, i.e. row applied vec (right hand side),.

Definition at line 133 of file row_scaling.hpp.

template<typename MatrixType , bool is_viennacl = detail::row_scaling_for_viennacl<MatrixType>::value>
void viennacl::linalg::row_scaling< MatrixType, is_viennacl >::init ( MatrixType const &  mat,
row_scaling_tag const &  tag 
)
inline

Definition at line 103 of file row_scaling.hpp.


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