TBCI Numerical high perf. C++ Library  2.8.0
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
Symm_BdMatrix< T > Class Template Reference

Matrix class with optimized Matrix-Vector multiplication for symmetrical Matrices. More...

#include <symm_bdmatrix.h>

Inheritance diagram for Symm_BdMatrix< T >:
Inheritance graph
[legend]
Collaboration diagram for Symm_BdMatrix< T >:
Collaboration graph
[legend]

Public Types

typedef T value_type
 
typedef T element_type
 
typedef T aligned_value_type TALIGN(MIN_ALIGN2)
 

Public Member Functions

 Symm_BdMatrix ()
 
 Symm_BdMatrix (const unsigned int N)
 
 Symm_BdMatrix (const T &val, const unsigned int N)
 
 Symm_BdMatrix (const T &val, const unsigned int N, const BVector< unsigned int > &diagConf)
 
void resize (const T &, const unsigned int)
 
void resize (const unsigned int newDim)
 
void resize (const T &, const unsigned int N, const BVector< unsigned int > &)
 
 ~Symm_BdMatrix ()
 
const char * mat_info () const
 
const Toperator() (const unsigned int i, const unsigned int k) const
 
const Tget (const unsigned int i, const unsigned int k) const
 
Tsetval (const unsigned int i, const unsigned int k)
 
void setval (const T &wert, const unsigned int i, const unsigned int k)
 
void autoinsert (const T &wert, const unsigned int i, const unsigned int k)
 
TVector< Toperator* (const Vector< T > &) const
 
unsigned int rows () const
 
unsigned int columns () const
 
void clear ()
 
- Public Member Functions inherited from Matrix_Sig< T >
 Matrix_Sig ()
 
 ~Matrix_Sig ()
 
tbci_traits< T >::const_refval_type operator() (const unsigned, const unsigned) const
 ro access More...
 
Toperator() (const unsigned, const unsigned)
 rw access More...
 
Matrix_Sig< T > & fill (const T &)
 
Matrix_Sig< T > & setunit (const T &=(T) 1)
 
Matrix_Sig< T > & clear ()
 
TVector< Toperator* (const Vector_Sig< T > &) const
 
TVector< TtransMult (const Vector_Sig< T > &) const
 
unsigned int rows () const
 
unsigned int columns () const
 

Protected Member Functions

void construct (const unsigned int N, const T &, T *&, const BVector< unsigned int > &, BVector< T *> &, BVector< unsigned int > &)
 
void create (const T &val, const unsigned int N)
 
void create (const T &val, const unsigned int N, const BVector< unsigned int > &)
 
void destroy ()
 

Protected Attributes

T zero
 
TelementPtr
 
unsigned int dimension
 
BVector< T * > rowPtr
 
BVector< unsigned int > rowOccupation
 
BVector< unsigned int > conf
 

Friends

class ILU0_Symm_BdMatrixPreconditioner< T >
 
STD__ ostream & operator<< FGD (STD__ ostream &, const Symm_BdMatrix< T > &)
 

Additional Inherited Members

- Static Public Member Functions inherited from Matrix_Sig< T >
static const char * mat_info ()
 

Detailed Description

template<typename T>
class Symm_BdMatrix< T >

Matrix class with optimized Matrix-Vector multiplication for symmetrical Matrices.

Definition at line 25 of file symm_bdmatrix.h.

Member Typedef Documentation

◆ element_type

template<typename T>
typedef T Symm_BdMatrix< T >::element_type

Definition at line 120 of file symm_bdmatrix.h.

◆ TALIGN

template<typename T>
typedef T aligned_value_type Symm_BdMatrix< T >::TALIGN(MIN_ALIGN2)

Definition at line 121 of file symm_bdmatrix.h.

◆ value_type

template<typename T>
typedef T Symm_BdMatrix< T >::value_type

Definition at line 119 of file symm_bdmatrix.h.

Constructor & Destructor Documentation

◆ Symm_BdMatrix() [1/4]

template<typename T>
Symm_BdMatrix< T >::Symm_BdMatrix ( )
inline

Definition at line 84 of file symm_bdmatrix.h.

References Symm_BdMatrix< T >::create(), and T.

◆ Symm_BdMatrix() [2/4]

template<typename T>
Symm_BdMatrix< T >::Symm_BdMatrix ( const unsigned int  N)
inline

Definition at line 85 of file symm_bdmatrix.h.

References Symm_BdMatrix< T >::create(), and T.

◆ Symm_BdMatrix() [3/4]

template<typename T>
Symm_BdMatrix< T >::Symm_BdMatrix ( const T val,
const unsigned int  N 
)
inline

Definition at line 86 of file symm_bdmatrix.h.

References Symm_BdMatrix< T >::create().

◆ Symm_BdMatrix() [4/4]

template<typename T>
Symm_BdMatrix< T >::Symm_BdMatrix ( const T val,
const unsigned int  N,
const BVector< unsigned int > &  diagConf 
)
inline

Definition at line 87 of file symm_bdmatrix.h.

References Symm_BdMatrix< T >::create().

◆ ~Symm_BdMatrix()

template<typename T>
Symm_BdMatrix< T >::~Symm_BdMatrix ( )
inline

Definition at line 95 of file symm_bdmatrix.h.

References Symm_BdMatrix< T >::destroy().

Member Function Documentation

◆ autoinsert()

template<typename T>
void Symm_BdMatrix< T >::autoinsert ( const T wert,
const unsigned int  i,
const unsigned int  k 
)
inline

Definition at line 108 of file symm_bdmatrix.h.

References i, and Symm_BdMatrix< T >::setval().

◆ clear()

template<typename T >
void Symm_BdMatrix< T >::clear ( )
inline

Definition at line 637 of file symm_bdmatrix.h.

References T.

◆ columns()

template<typename T>
unsigned int Symm_BdMatrix< T >::columns ( ) const
inline

Definition at line 116 of file symm_bdmatrix.h.

References Symm_BdMatrix< T >::dimension.

◆ construct()

template<typename T >
void Symm_BdMatrix< T >::construct ( const unsigned int  N,
const T value,
T *&  elemPtr,
const BVector< unsigned int > &  ConfVector,
BVector< T *> &  rPtr,
BVector< unsigned int > &  rowOccup 
)
inlineprotected

Definition at line 211 of file symm_bdmatrix.h.

References BVector< T >::get(), i, BVector< T >::set(), BVector< T >::size(), and T.

◆ create() [1/2]

template<typename T >
void Symm_BdMatrix< T >::create ( const T val,
const unsigned int  N 
)
inlineprotected

Definition at line 152 of file symm_bdmatrix.h.

References STD__, and T.

Referenced by Symm_BdMatrix< T >::Symm_BdMatrix().

◆ create() [2/2]

template<typename T >
void Symm_BdMatrix< T >::create ( const T val,
const unsigned int  N,
const BVector< unsigned int > &  configVector 
)
inlineprotected

Definition at line 178 of file symm_bdmatrix.h.

References i, BVector< T >::size(), STD__, and T.

◆ destroy()

template<typename T >
void Symm_BdMatrix< T >::destroy ( )
inlineprotected

Definition at line 268 of file symm_bdmatrix.h.

Referenced by Symm_BdMatrix< T >::~Symm_BdMatrix().

◆ get()

template<typename T>
const T& Symm_BdMatrix< T >::get ( const unsigned int  i,
const unsigned int  k 
) const
inline

Definition at line 102 of file symm_bdmatrix.h.

References i.

◆ mat_info()

template<typename T>
const char* Symm_BdMatrix< T >::mat_info ( ) const
inline

Definition at line 98 of file symm_bdmatrix.h.

◆ operator()()

template<typename T >
const T & Symm_BdMatrix< T >::operator() ( const unsigned int  i,
const unsigned int  k 
) const
inline

Definition at line 375 of file symm_bdmatrix.h.

References EXPCHK, and i.

◆ operator*()

template<typename T >
TVector< T > Symm_BdMatrix< T >::operator* ( const Vector< T > &  Vector) const
inline

Definition at line 416 of file symm_bdmatrix.h.

References TVector< T >::get(), i, TVector< T >::size(), STD__, and T.

◆ resize() [1/3]

template<typename T >
void Symm_BdMatrix< T >::resize ( const T val,
const unsigned int  N 
)
inline

Definition at line 132 of file symm_bdmatrix.h.

Referenced by ILU0_Symm_BdMatrixPreconditioner< T >::update().

◆ resize() [2/3]

template<typename T>
void Symm_BdMatrix< T >::resize ( const unsigned int  newDim)
inline

Definition at line 92 of file symm_bdmatrix.h.

References Symm_BdMatrix< T >::resize().

Referenced by Symm_BdMatrix< T >::resize().

◆ resize() [3/3]

template<typename T >
void Symm_BdMatrix< T >::resize ( const T val,
const unsigned int  N,
const BVector< unsigned int > &  Diagconf 
)
inline

Definition at line 139 of file symm_bdmatrix.h.

◆ rows()

template<typename T>
unsigned int Symm_BdMatrix< T >::rows ( ) const
inline

Definition at line 115 of file symm_bdmatrix.h.

References Symm_BdMatrix< T >::dimension.

◆ setval() [1/2]

template<typename T >
T & Symm_BdMatrix< T >::setval ( const unsigned int  i,
const unsigned int  k 
)
inline

◆ setval() [2/2]

template<typename T>
void Symm_BdMatrix< T >::setval ( const T wert,
const unsigned int  i,
const unsigned int  k 
)
inline

Definition at line 106 of file symm_bdmatrix.h.

References i, and Symm_BdMatrix< T >::setval().

Friends And Related Function Documentation

◆ ILU0_Symm_BdMatrixPreconditioner< T >

template<typename T>
friend class ILU0_Symm_BdMatrixPreconditioner< T >
friend

Definition at line 65 of file symm_bdmatrix.h.

◆ operator<< FGD

template<typename T>
STD__ ostream& operator<< FGD ( STD__ ostream &  ,
const Symm_BdMatrix< T > &   
)
friend

Member Data Documentation

◆ conf

template<typename T>
BVector<unsigned int> Symm_BdMatrix< T >::conf
protected

Definition at line 73 of file symm_bdmatrix.h.

◆ dimension

template<typename T>
unsigned int Symm_BdMatrix< T >::dimension
protected

Definition at line 70 of file symm_bdmatrix.h.

Referenced by Symm_BdMatrix< T >::columns(), and Symm_BdMatrix< T >::rows().

◆ elementPtr

template<typename T>
T* Symm_BdMatrix< T >::elementPtr
protected

Definition at line 69 of file symm_bdmatrix.h.

◆ rowOccupation

template<typename T>
BVector<unsigned int> Symm_BdMatrix< T >::rowOccupation
protected

Definition at line 72 of file symm_bdmatrix.h.

◆ rowPtr

template<typename T>
BVector<T*> Symm_BdMatrix< T >::rowPtr
protected

Definition at line 71 of file symm_bdmatrix.h.

◆ zero

template<typename T>
T Symm_BdMatrix< T >::zero
protected

Definition at line 68 of file symm_bdmatrix.h.


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