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 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
Toperator() (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< 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 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 i, 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: