Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
Alien::CxrOperator< MatrixT, VectorT > Class Template Reference
Collaboration diagram for Alien::CxrOperator< MatrixT, VectorT >:

Public Types

using MatrixType = MatrixT
using VectorType = VectorT

Public Member Functions

 CxrOperator (MatrixT const &matrix)
template<typename AlgebraT>
void apply (AlgebraT &algebra, const VectorType &x, VectorType &y)
MatrixType const & getCxrMatrix () const
MatrixType & getCxrMatrix ()
template<typename AlgebraT>
void computeCxrMatrix (AlgebraT &algebra)
template<typename AlgebraT>
void computeCxrMatrix (AlgebraT &algebra, VectorType const &diag)
template<typename AlgebraT>
void get (AlgebraT &algebra, VectorType const &x, VectorType &cxr_x)
template<typename AlgebraT>
void scal (AlgebraT &algebra, VectorType &cxr_x)
template<typename AlgebraT>
void combine (AlgebraT &algebra, VectorType const &cxr_x, VectorType &x)
template<typename AlgebraT>
void copy (AlgebraT &algebra, VectorType const &cxr_x, VectorType &x)

Private Attributes

MatrixType const & m_matrix
MatrixType m_cxr_matrix
VectorType m_v
int m_block_size = 1
bool m_use_diag_scal = false
VectorType m_cxr_diag_scal
VectorType m_cxr_v

Detailed Description

template<typename MatrixT, typename VectorT>
class Alien::CxrOperator< MatrixT, VectorT >

Definition at line 13 of file CxrOperator.h.

Member Typedef Documentation

◆ MatrixType

template<typename MatrixT, typename VectorT>
using Alien::CxrOperator< MatrixT, VectorT >::MatrixType = MatrixT

Definition at line 16 of file CxrOperator.h.

◆ VectorType

template<typename MatrixT, typename VectorT>
using Alien::CxrOperator< MatrixT, VectorT >::VectorType = VectorT

Definition at line 17 of file CxrOperator.h.

Constructor & Destructor Documentation

◆ CxrOperator()

template<typename MatrixT, typename VectorT>
Alien::CxrOperator< MatrixT, VectorT >::CxrOperator ( MatrixT const & matrix)
inline

Definition at line 20 of file CxrOperator.h.

◆ ~CxrOperator()

template<typename MatrixT, typename VectorT>
virtual Alien::CxrOperator< MatrixT, VectorT >::~CxrOperator ( )
inlinevirtual

Definition at line 25 of file CxrOperator.h.

Member Function Documentation

◆ apply()

template<typename MatrixT, typename VectorT>
template<typename AlgebraT>
void Alien::CxrOperator< MatrixT, VectorT >::apply ( AlgebraT & algebra,
const VectorType & x,
VectorType & y )
inline

Definition at line 29 of file CxrOperator.h.

◆ combine()

template<typename MatrixT, typename VectorT>
template<typename AlgebraT>
void Alien::CxrOperator< MatrixT, VectorT >::combine ( AlgebraT & algebra,
VectorType const & cxr_x,
VectorType & x )
inline

Definition at line 90 of file CxrOperator.h.

◆ computeCxrMatrix() [1/2]

template<typename MatrixT, typename VectorT>
template<typename AlgebraT>
void Alien::CxrOperator< MatrixT, VectorT >::computeCxrMatrix ( AlgebraT & algebra)
inline

Definition at line 47 of file CxrOperator.h.

◆ computeCxrMatrix() [2/2]

template<typename MatrixT, typename VectorT>
template<typename AlgebraT>
void Alien::CxrOperator< MatrixT, VectorT >::computeCxrMatrix ( AlgebraT & algebra,
VectorType const & diag )
inline

Definition at line 58 of file CxrOperator.h.

◆ copy()

template<typename MatrixT, typename VectorT>
template<typename AlgebraT>
void Alien::CxrOperator< MatrixT, VectorT >::copy ( AlgebraT & algebra,
VectorType const & cxr_x,
VectorType & x )
inline

Definition at line 97 of file CxrOperator.h.

◆ get()

template<typename MatrixT, typename VectorT>
template<typename AlgebraT>
void Alien::CxrOperator< MatrixT, VectorT >::get ( AlgebraT & algebra,
VectorType const & x,
VectorType & cxr_x )
inline

Definition at line 69 of file CxrOperator.h.

◆ getCxrMatrix() [1/2]

template<typename MatrixT, typename VectorT>
MatrixType & Alien::CxrOperator< MatrixT, VectorT >::getCxrMatrix ( )
inline

Definition at line 42 of file CxrOperator.h.

◆ getCxrMatrix() [2/2]

template<typename MatrixT, typename VectorT>
MatrixType const & Alien::CxrOperator< MatrixT, VectorT >::getCxrMatrix ( ) const
inline

Definition at line 38 of file CxrOperator.h.

◆ scal()

template<typename MatrixT, typename VectorT>
template<typename AlgebraT>
void Alien::CxrOperator< MatrixT, VectorT >::scal ( AlgebraT & algebra,
VectorType & cxr_x )
inline

Definition at line 81 of file CxrOperator.h.

Member Data Documentation

◆ m_block_size

template<typename MatrixT, typename VectorT>
int Alien::CxrOperator< MatrixT, VectorT >::m_block_size = 1
private

Definition at line 106 of file CxrOperator.h.

◆ m_cxr_diag_scal

template<typename MatrixT, typename VectorT>
VectorType Alien::CxrOperator< MatrixT, VectorT >::m_cxr_diag_scal
private

Definition at line 109 of file CxrOperator.h.

◆ m_cxr_matrix

template<typename MatrixT, typename VectorT>
MatrixType Alien::CxrOperator< MatrixT, VectorT >::m_cxr_matrix
private

Definition at line 104 of file CxrOperator.h.

◆ m_cxr_v

template<typename MatrixT, typename VectorT>
VectorType Alien::CxrOperator< MatrixT, VectorT >::m_cxr_v
private

Definition at line 110 of file CxrOperator.h.

◆ m_matrix

template<typename MatrixT, typename VectorT>
MatrixType const& Alien::CxrOperator< MatrixT, VectorT >::m_matrix
private

Definition at line 103 of file CxrOperator.h.

◆ m_use_diag_scal

template<typename MatrixT, typename VectorT>
bool Alien::CxrOperator< MatrixT, VectorT >::m_use_diag_scal = false
private

Definition at line 108 of file CxrOperator.h.

◆ m_v

template<typename MatrixT, typename VectorT>
VectorType Alien::CxrOperator< MatrixT, VectorT >::m_v
private

Definition at line 105 of file CxrOperator.h.


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