TBCI Numerical high perf. C++ Library 2.8.0
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 >:
Collaboration diagram for Symm_BdMatrix< T >:

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 T & operator() (const unsigned int i, const unsigned int k) const
const T & get (const unsigned int i, const unsigned int k) const
T & setval (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< T > operator* (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
T & operator() (const unsigned, const unsigned)
 rw access
Matrix_Sig< T > & fill (const T &)
Matrix_Sig< T > & setunit (const T &=(T) 1)
Matrix_Sig< T > & clear ()
TVector< T > operator* (const Vector_Sig< T > &) const
TVector< T > transMult (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
T * elementPtr
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 63 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 create(), and T.

Referenced by operator<<FGD.

◆ 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 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 create(), and T.

◆ 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 create(), and T.

◆ ~Symm_BdMatrix()

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

Definition at line 95 of file symm_bdmatrix.h.

References 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, setval(), and T.

◆ clear()

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

Definition at line 637 of file symm_bdmatrix.h.

References dimension, elementPtr, rowPtr, and T.

◆ columns()

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

Definition at line 116 of file symm_bdmatrix.h.

References 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.

Referenced by create(), create(), and setval().

◆ create() [1/2]

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

◆ 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 conf, construct(), dimension, elementPtr, i, rowOccupation, rowPtr, BVector< T >::size(), STD__, T, and zero.

◆ destroy()

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

Definition at line 268 of file symm_bdmatrix.h.

References elementPtr.

Referenced by resize(), resize(), and ~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, and T.

◆ 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 dimension, EXPCHK, i, rowOccupation, rowPtr, T, and zero.

◆ operator*()

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

◆ resize() [1/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.

References create(), destroy(), and T.

◆ resize() [2/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.

References create(), destroy(), and T.

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

◆ resize() [3/3]

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

Definition at line 92 of file symm_bdmatrix.h.

References resize().

Referenced by resize().

◆ rows()

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

Definition at line 115 of file symm_bdmatrix.h.

References dimension.

◆ setval() [1/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, setval(), and T.

◆ setval() [2/2]

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

◆ ILU0_Symm_BdMatrixPreconditioner< T >

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

Definition at line 52 of file symm_bdmatrix.h.

◆ operator<<FGD

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

References FGD, i, setval(), STD__, Symm_BdMatrix(), and T.

Member Data Documentation

◆ conf

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

Definition at line 73 of file symm_bdmatrix.h.

Referenced by create(), create(), operator*(), and setval().

◆ dimension

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

Definition at line 70 of file symm_bdmatrix.h.

Referenced by clear(), columns(), create(), create(), operator()(), operator*(), operator<<(), rows(), and setval().

◆ elementPtr

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

Definition at line 69 of file symm_bdmatrix.h.

Referenced by clear(), create(), create(), destroy(), and setval().

◆ rowOccupation

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

Definition at line 72 of file symm_bdmatrix.h.

Referenced by create(), create(), operator()(), and setval().

◆ rowPtr

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

Definition at line 71 of file symm_bdmatrix.h.

Referenced by clear(), create(), create(), operator()(), operator*(), and setval().

◆ zero

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

Definition at line 68 of file symm_bdmatrix.h.

Referenced by create(), create(), and operator()().


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