ergo
mat::MatrixHierarchicBase< Treal, Telement > Class Template Reference

Base class for Matrix and Matrix specialization. More...

#include <MatrixHierarchicBase.h>

Inheritance diagram for mat::MatrixHierarchicBase< Treal, Telement >:
mat::Matrix< Treal, Telement >

Public Member Functions

bool operator== (int k) const
 
const int & nScalarsRows () const
 
const int & nScalarsCols () const
 
const int & nrows () const
 
const int & ncols () const
 
Telement & operator ()(int row
 
 assert (row >=0)
 
 assert (col >=0)
 
 assert (row< nrows())
 
 assert (col< ncols())
 
const Telement & operator ()(int row
 
 assert (row >=0)
 
 assert (col >=0)
 
 assert (row< nrows())
 
 assert (col< ncols())
 
Telement & operator[] (int index)
 
Telement constoperator[] (int index) const
 
bool is_zero () const
 
int nElements () const
 
void resetRows (SizesAndBlocks const &newRows)
 
void resetCols (SizesAndBlocks const &newCols)
 
void getRows (SizesAndBlocks &rowsCopy) const
 
void getCols (SizesAndBlocks &colsCopy) const
 
bool highestLevel () const
 
bool is_empty () const
 Check if matrix is empty Empty is different from zero, a zero matrix contains information about blocksizes etc. More...
 

Public Attributes

Telement int col
 
return elements [row+col *nrows()]
 
const Telement int col const
 

Protected Member Functions

 MatrixHierarchicBase ()
 
 MatrixHierarchicBase (SizesAndBlocks const &rowsInp, SizesAndBlocks const &colsInp)
 
 MatrixHierarchicBase (const MatrixHierarchicBase< Treal, Telement > &mat)
 
MatrixHierarchicBase< Treal, Telement > & operator= (const MatrixHierarchicBase< Treal, Telement > &mat)
 
virtual ~MatrixHierarchicBase ()
 

Static Protected Member Functions

static void swap (MatrixHierarchicBase< Treal, Telement > &A, MatrixHierarchicBase< Treal, Telement > &B)
 

Protected Attributes

SizesAndBlocks rows
 
SizesAndBlocks cols
 
Telement * elements
 

Detailed Description

template<class Treal, class Telement = Treal>
class mat::MatrixHierarchicBase< Treal, Telement >

Base class for Matrix and Matrix specialization.

See also
Matrix
Permutation

Constructor & Destructor Documentation

◆ MatrixHierarchicBase() [1/3]

template<class Treal, class Telement = Treal>
mat::MatrixHierarchicBase< Treal, Telement >::MatrixHierarchicBase ( )
inlineprotected

◆ MatrixHierarchicBase() [2/3]

template<class Treal, class Telement = Treal>
mat::MatrixHierarchicBase< Treal, Telement >::MatrixHierarchicBase ( SizesAndBlocks const rowsInp,
SizesAndBlocks const colsInp 
)
inlineprotected

◆ MatrixHierarchicBase() [3/3]

template<class Treal, class Telement>
mat::MatrixHierarchicBase< Treal, Telement >::MatrixHierarchicBase ( const MatrixHierarchicBase< Treal, Telement > &  mat)
protected

◆ ~MatrixHierarchicBase()

template<class Treal , class Telement >
mat::MatrixHierarchicBase< Treal, Telement >::~MatrixHierarchicBase ( )
protectedvirtual

Member Function Documentation

◆ assert() [1/8]

template<class Treal, class Telement = Treal>
mat::MatrixHierarchicBase< Treal, Telement >::assert ( row >=  0)

◆ assert() [2/8]

template<class Treal, class Telement = Treal>
mat::MatrixHierarchicBase< Treal, Telement >::assert ( col >=  0)

◆ assert() [3/8]

template<class Treal, class Telement = Treal>
mat::MatrixHierarchicBase< Treal, Telement >::assert ( )

Referenced by mat::Matrix< Treal >::add(), mat::Matrix< Treal >::add_abs_col_sums(), mat::Matrix< Treal >::addValues(), mat::Matrix< Treal, Telement >::allocate(), mat::Matrix< Treal >::allocate(), mat::Matrix< Treal >::assign(), mat::Matrix< Treal >::assignDiffFrobNormsLowestLevel(), mat::Matrix< Treal >::assignFrobNormsLowestLevel(), mat::Matrix< Treal >::assignFromFull(), mat::Matrix< Treal >::assignFromSparse(), mat::Matrix< Treal >::frobSquared(), mat::Matrix< Treal >::gemm(), mat::Matrix< Treal >::gershgorin(), mat::Matrix< Treal >::get_diagonal(), mat::Matrix< Treal >::getAllValues(), mat::Matrix< Treal >::getValues(), mat::Matrix< Treal >::inch(), mat::Matrix< Treal >::memory_usage(), mat::MatrixHierarchicBase< Treal >::operator[](), mat::Matrix< Treal >::ssmm(), mat::Matrix< Treal >::sy_nvalues(), mat::Matrix< Treal >::sy_trace_ab(), mat::Matrix< Treal >::syAddValues(), mat::Matrix< Treal >::syAssignDiffFrobNormsLowestLevel(), mat::Matrix< Treal >::syAssignFrobNormsLowestLevel(), mat::Matrix< Treal >::syAssignFromSparse(), mat::Matrix< Treal >::syFrobSquared(), mat::Matrix< Treal >::syGetAllValues(), mat::Matrix< Treal >::syGetValues(), mat::Matrix< Treal >::symm(), mat::Matrix< Treal >::syrk(), mat::Matrix< Treal >::sysq(), mat::Matrix< Treal >::trace(), mat::Matrix< Treal >::trace_ab(), mat::Matrix< Treal >::trace_aTb(), mat::Matrix< Treal >::trmm(), mat::Matrix< Treal >::trmm_upper_tr_only(), mat::Matrix< Treal >::trsytriplemm(), and mat::Matrix< Treal >::truncateAccordingToSparsityPattern().

◆ assert() [4/8]

template<class Treal, class Telement = Treal>
mat::MatrixHierarchicBase< Treal, Telement >::assert ( )

◆ assert() [5/8]

template<class Treal, class Telement = Treal>
mat::MatrixHierarchicBase< Treal, Telement >::assert ( row >=  0)

◆ assert() [6/8]

template<class Treal, class Telement = Treal>
mat::MatrixHierarchicBase< Treal, Telement >::assert ( col >=  0)

◆ assert() [7/8]

template<class Treal, class Telement = Treal>
mat::MatrixHierarchicBase< Treal, Telement >::assert ( )

◆ assert() [8/8]

template<class Treal, class Telement = Treal>
mat::MatrixHierarchicBase< Treal, Telement >::assert ( )

◆ getCols()

template<class Treal, class Telement = Treal>
void mat::MatrixHierarchicBase< Treal, Telement >::getCols ( SizesAndBlocks colsCopy) const
inline

◆ getRows()

template<class Treal, class Telement = Treal>
void mat::MatrixHierarchicBase< Treal, Telement >::getRows ( SizesAndBlocks rowsCopy) const
inline

◆ highestLevel()

template<class Treal, class Telement = Treal>
bool mat::MatrixHierarchicBase< Treal, Telement >::highestLevel ( ) const
inline

◆ is_empty()

◆ is_zero()

template<class Treal, class Telement = Treal>
bool mat::MatrixHierarchicBase< Treal, Telement >::is_zero ( ) const
inline

Referenced by mat::Matrix< Treal >::add_abs_col_sums(), mat::Matrix< Treal >::addIdentity(), mat::Matrix< Treal >::addValues(), mat::Matrix< Treal, Telement >::allocate(), mat::Matrix< Treal >::allocate(), mat::Matrix< Treal >::assignDiffFrobNormsLowestLevel(), mat::Matrix< Treal >::assignFrobNormsLowestLevel(), mat::Matrix< Treal >::assignFromFull(), mat::Matrix< Treal >::assignFromSparse(), mat::Matrix< Treal >::frobSquared(), mat::Matrix< Treal, Telement >::frobThreshElementLevel(), mat::Matrix< Treal >::frobThreshElementLevel(), mat::Matrix< Treal, Telement >::frobThreshLowestLevel(), mat::Matrix< Treal >::frobThreshLowestLevel(), mat::Matrix< Treal >::fullMatrix(), mat::Matrix< Treal, Telement >::geAccumulateWith(), mat::Matrix< Treal >::geAccumulateWith(), mat::Matrix< Treal, Telement >::gemm(), mat::Matrix< Treal >::gemm(), mat::Matrix< Treal, Telement >::gemm_upper_tr_only(), mat::Matrix< Treal >::get_diagonal(), mat::Matrix< Treal >::getAllValues(), mat::Matrix< Treal >::getFrobSqElementLevel(), mat::Matrix< Treal >::getFrobSqLowestLevel(), mat::Matrix< Treal >::getValues(), mat::Matrix< Treal, Telement >::maxAbsValue(), mat::Matrix< Treal >::maxAbsValue(), mat::Matrix< Treal >::memory_usage(), mat::Matrix< Treal >::nnz(), mat::Matrix< Treal >::nosymToSym(), mat::Matrix< Treal >::operator*=(), mat::MatrixHierarchicBase< Treal >::operator==(), mat::Matrix< Treal >::random(), mat::Matrix< Treal >::readFromFile(), mat::Matrix< Treal >::setElementsByRule(), mat::Matrix< Treal, Telement >::ssmm(), mat::Matrix< Treal, Telement >::ssmm_upper_tr_only(), mat::Matrix< Treal >::sy_nnz(), mat::Matrix< Treal >::sy_nvalues(), mat::Matrix< Treal, Telement >::syAccumulateWith(), mat::Matrix< Treal >::syAccumulateWith(), mat::Matrix< Treal >::syAssignDiffFrobNormsLowestLevel(), mat::Matrix< Treal >::syAssignFrobNormsLowestLevel(), mat::Matrix< Treal >::syFrobSquared(), mat::Matrix< Treal >::syFullMatrix(), mat::Matrix< Treal >::syGetAllValues(), mat::Matrix< Treal, Telement >::symm(), mat::Matrix< Treal >::symm(), mat::Matrix< Treal >::symToNosym(), mat::Matrix< Treal >::syRandom(), mat::Matrix< Treal, Telement >::syrk(), mat::Matrix< Treal >::syrk(), mat::Matrix< Treal >::sySetElementsByRule(), mat::Matrix< Treal, Telement >::sysq(), mat::Matrix< Treal, Telement >::sytr_upper_tr_only(), mat::Matrix< Treal >::syUpTriFullMatrix(), mat::Matrix< Treal >::trace(), mat::Matrix< Treal, Telement >::transpose(), mat::Matrix< Treal >::transpose(), mat::Matrix< Treal >::truncateAccordingToSparsityPattern(), and mat::Matrix< Treal >::writeToFile().

◆ ncols()

template<class Treal, class Telement = Treal>
const int& mat::MatrixHierarchicBase< Treal, Telement >::ncols ( ) const
inline

Referenced by mat::Matrix< Treal >::add_abs_col_sums(), mat::Matrix< Treal >::addIdentity(), mat::Matrix< Treal >::assignFromFull(), mat::Matrix< Treal >::fullMatrix(), mat::Matrix< Treal, Telement >::geAccumulateWith(), mat::Matrix< Treal >::geAccumulateWith(), mat::Matrix< Treal, Telement >::gemm(), mat::Matrix< Treal >::gemm(), mat::Matrix< Treal, Telement >::gemm_upper_tr_only(), mat::Matrix< Treal >::get_diagonal(), mat::Matrix< Treal >::getAllValues(), mat::Matrix< Treal >::nosymToSym(), mat::Matrix< Treal >::operator=(), mat::Matrix< Treal >::setElementsByRule(), mat::Matrix< Treal, Telement >::ssmm(), mat::Matrix< Treal, Telement >::ssmm_upper_tr_only(), mat::Matrix< Treal, Telement >::syAccumulateWith(), mat::Matrix< Treal >::syAccumulateWith(), mat::Matrix< Treal >::syAssignDiffFrobNormsLowestLevel(), mat::Matrix< Treal >::syAssignFrobNormsLowestLevel(), mat::Matrix< Treal >::syFrobSquared(), mat::Matrix< Treal >::syFullMatrix(), mat::Matrix< Treal >::syGetAllValues(), mat::Matrix< Treal, Telement >::syInch(), mat::Matrix< Treal, Telement >::symm(), mat::Matrix< Treal >::symm(), mat::Matrix< Treal >::symToNosym(), mat::Matrix< Treal >::syRandom(), mat::Matrix< Treal, Telement >::syrk(), mat::Matrix< Treal >::syrk(), mat::Matrix< Treal >::sySetElementsByRule(), mat::Matrix< Treal, Telement >::sysq(), mat::Matrix< Treal, Telement >::sytr_upper_tr_only(), mat::Matrix< Treal >::syUpTriFullMatrix(), mat::Matrix< Treal >::trace(), mat::Matrix< Treal, Telement >::transpose(), and mat::Matrix< Treal >::transpose().

◆ nElements()

◆ nrows()

◆ nScalarsCols()

◆ nScalarsRows()

template<class Treal, class Telement = Treal>
const int& mat::MatrixHierarchicBase< Treal, Telement >::nScalarsRows ( ) const
inline

◆ operator() [1/2]

template<class Treal, class Telement = Treal>
Telement& mat::MatrixHierarchicBase< Treal, Telement >::operator ( )
inline

◆ operator() [2/2]

template<class Treal, class Telement = Treal>
const Telement& mat::MatrixHierarchicBase< Treal, Telement >::operator ( )
inline

◆ operator=()

template<class Treal, class Telement>
MatrixHierarchicBase< Treal, Telement > & mat::MatrixHierarchicBase< Treal, Telement >::operator= ( const MatrixHierarchicBase< Treal, Telement > &  mat)
protected

◆ operator==()

template<class Treal, class Telement = Treal>
bool mat::MatrixHierarchicBase< Treal, Telement >::operator== ( int  k) const
inline

◆ operator[]() [1/2]

template<class Treal, class Telement = Treal>
Telement& mat::MatrixHierarchicBase< Treal, Telement >::operator[] ( int  index)
inline

◆ operator[]() [2/2]

template<class Treal, class Telement = Treal>
Telement const& mat::MatrixHierarchicBase< Treal, Telement >::operator[] ( int  index) const
inline

◆ resetCols()

◆ resetRows()

◆ swap()

template<class Treal, class Telement>
void mat::MatrixHierarchicBase< Treal, Telement >::swap ( MatrixHierarchicBase< Treal, Telement > &  A,
MatrixHierarchicBase< Treal, Telement > &  B 
)
staticprotected

Member Data Documentation

◆ col

◆ cols

◆ const

template<class Treal, class Telement = Treal>
const Telement int col mat::MatrixHierarchicBase< Treal, Telement >::const
Initial value:

◆ elements [1/2]

◆ elements [2/2]

template<class Treal, class Telement = Treal>
Telement* mat::MatrixHierarchicBase< Treal, Telement >::elements
protected

◆ rows


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