|
Nektar++
|
#include <SparseDiagBlkMatrix.hpp>
Public Types | |
| typedef SparseStorageType | StorageType |
| typedef SparseStorageType::DataType | DataType |
| typedef std::shared_ptr< SparseStorageType > | SparseStorageSharedPtr |
| typedef Array< OneD, DataType > | DataVectorType |
| typedef Array< OneD, const DataType > | ConstDataVectorType |
| typedef Array< OneD, SparseStorageSharedPtr > | SparseStorageSharedPtrVector |
Public Member Functions | |
| NekSparseDiagBlkMatrix (const SparseStorageSharedPtrVector &sparseStoragePtrVector) | |
| NekSparseDiagBlkMatrix (const NekSparseDiagBlkMatrix &src) | |
| ~NekSparseDiagBlkMatrix () | |
| IndexType | GetRows () const |
| IndexType | GetColumns () const |
| IndexType | GetNumNonZeroEntries () |
| DataType | GetFillInRatio () const |
| IndexType | GetRows (int i) const |
| number of rows at i-th submatrix More... | |
| IndexType | GetColumns (int i) const |
| number of columns at i-th submatrix More... | |
| IndexType | GetNumberOfMatrixBlocks () const |
| IndexType | GetNumNonZeroEntries (int i) const |
| DataType | GetFillInRatio (int i) const |
| boost::call_traits< DataType >::const_reference | operator() (const IndexType row, const IndexType column) const |
| boost::call_traits< DataType >::const_reference | operator() (const IndexType block, const IndexType row, const IndexType column) const |
| void | Multiply (const DataVectorType &in, DataVectorType &out) |
| void | Multiply (const DataType *in, DataType *out) |
| void | MultiplySubMatrix (const IndexType blockNum, DataType *in, DataType *out) |
| size_t | GetMemoryFootprint () |
| size_t | GetMemoryFootprint (IndexType i) const |
| unsigned long | GetMulCallsCounter () const |
| DataType | GetAvgRowDensity () |
| DataType | GetAvgRowDensity (IndexType i) const |
| IndexType | GetBandwidth () |
| IndexType | GetBandwidth (IndexType i) |
| COOMatTypeSharedPtr | GetCooStorage () |
| COOMatTypeSharedPtr | GetCooStorage (IndexType i) |
| void | writeSparsityPatternTo (std::ostream &out, IndexType blockSize=64) |
| void | writeSubmatrixSparsityPatternTo (std::ostream &out, const IndexType subMatrixIdx, IndexType blockSize=64) |
| void | writeBlockSparsityPatternTo (std::ostream &out, const IndexType blk_row=0, const IndexType blk_col=0, IndexType blockSize=64) |
| void | writeSubmatrixBlockSparsityPatternTo (std::ostream &out, const IndexType subMatrixIdx, const IndexType blk_row=0, const IndexType blk_col=0, IndexType blockSize=64) |
| Complementary routine to the previous. It generates exact non-zero pattern of a given block matrix entry to *this object. E.g., for a 6x6 matrix defined as A(i,i):=i, A(i,j):=0, block size = 2 and blk_row=blk_col=2 it produces 2x2 matrix with 5 and 6 along the diagonal. More... | |
Protected Attributes | |
| IndexType | m_rows |
| IndexType | m_cols |
| IndexVector | m_rowoffset |
| unsigned long | m_mulCallsCounter |
| SparseStorageSharedPtrVector | m_submatrix |
Definition at line 59 of file SparseDiagBlkMatrix.hpp.
| typedef Array<OneD, const DataType> Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::ConstDataVectorType |
Definition at line 66 of file SparseDiagBlkMatrix.hpp.
| typedef SparseStorageType::DataType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::DataType |
Definition at line 63 of file SparseDiagBlkMatrix.hpp.
| typedef Array<OneD, DataType> Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::DataVectorType |
Definition at line 65 of file SparseDiagBlkMatrix.hpp.
| typedef std::shared_ptr<SparseStorageType> Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::SparseStorageSharedPtr |
Definition at line 64 of file SparseDiagBlkMatrix.hpp.
| typedef Array<OneD, SparseStorageSharedPtr> Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::SparseStorageSharedPtrVector |
Definition at line 67 of file SparseDiagBlkMatrix.hpp.
| typedef SparseStorageType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::StorageType |
Definition at line 62 of file SparseDiagBlkMatrix.hpp.
| Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::NekSparseDiagBlkMatrix | ( | const SparseStorageSharedPtrVector & | sparseStoragePtrVector | ) |
Definition at line 51 of file SparseDiagBlkMatrix.cpp.
References Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::m_cols, Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::m_rowoffset, and Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::m_rows.
| Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::NekSparseDiagBlkMatrix | ( | const NekSparseDiagBlkMatrix< SparseStorageType > & | src | ) |
Definition at line 67 of file SparseDiagBlkMatrix.cpp.
| Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::~NekSparseDiagBlkMatrix |
Definition at line 75 of file SparseDiagBlkMatrix.cpp.
| SparseStorageType::DataType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetAvgRowDensity |
Definition at line 249 of file SparseDiagBlkMatrix.cpp.
| SparseStorageType::DataType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetAvgRowDensity | ( | IndexType | i | ) | const |
Definition at line 262 of file SparseDiagBlkMatrix.cpp.
References Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetNumNonZeroEntries().
| IndexType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetBandwidth |
Definition at line 269 of file SparseDiagBlkMatrix.cpp.
References tinysimd::abs().
| IndexType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetBandwidth | ( | IndexType | i | ) |
Definition at line 289 of file SparseDiagBlkMatrix.cpp.
References tinysimd::abs().
| IndexType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetColumns |
Definition at line 86 of file SparseDiagBlkMatrix.cpp.
Referenced by Nektar::operator<<().
| IndexType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetColumns | ( | int | i | ) | const |
number of columns at i-th submatrix
Definition at line 100 of file SparseDiagBlkMatrix.cpp.
| COOMatTypeSharedPtr Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetCooStorage |
Definition at line 319 of file SparseDiagBlkMatrix.cpp.
| COOMatTypeSharedPtr Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetCooStorage | ( | IndexType | i | ) |
Definition at line 304 of file SparseDiagBlkMatrix.cpp.
| NekSparseDiagBlkMatrix< SparseStorageType >::DataType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetFillInRatio |
Definition at line 140 of file SparseDiagBlkMatrix.cpp.
References Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetNumNonZeroEntries().
Referenced by Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetFillInRatio().
| NekSparseDiagBlkMatrix< SparseStorageType >::DataType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetFillInRatio | ( | int | i | ) | const |
Definition at line 133 of file SparseDiagBlkMatrix.cpp.
References Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetFillInRatio().
| size_t Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetMemoryFootprint |
Definition at line 218 of file SparseDiagBlkMatrix.cpp.
| size_t Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetMemoryFootprint | ( | IndexType | i | ) | const |
Definition at line 234 of file SparseDiagBlkMatrix.cpp.
| unsigned long Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetMulCallsCounter |
Definition at line 241 of file SparseDiagBlkMatrix.cpp.
| IndexType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetNumberOfMatrixBlocks |
Definition at line 106 of file SparseDiagBlkMatrix.cpp.
| IndexType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetNumNonZeroEntries |
Definition at line 113 of file SparseDiagBlkMatrix.cpp.
Referenced by Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetAvgRowDensity(), and Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetFillInRatio().
| IndexType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetNumNonZeroEntries | ( | int | i | ) | const |
Definition at line 125 of file SparseDiagBlkMatrix.cpp.
| IndexType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetRows |
Definition at line 80 of file SparseDiagBlkMatrix.cpp.
Referenced by Nektar::operator<<().
| IndexType Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::GetRows | ( | int | i | ) | const |
number of rows at i-th submatrix
Definition at line 93 of file SparseDiagBlkMatrix.cpp.
| void Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::Multiply | ( | const DataType * | in, |
| DataType * | out | ||
| ) |
Definition at line 198 of file SparseDiagBlkMatrix.cpp.
| void Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::Multiply | ( | const DataVectorType & | in, |
| DataVectorType & | out | ||
| ) |
Definition at line 187 of file SparseDiagBlkMatrix.cpp.
| void Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::MultiplySubMatrix | ( | const IndexType | blockNum, |
| DataType * | in, | ||
| DataType * | out | ||
| ) |
Definition at line 209 of file SparseDiagBlkMatrix.cpp.
| boost::call_traits< typenameSparseStorageType::DataType >::const_reference Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::operator() | ( | const IndexType | block, |
| const IndexType | row, | ||
| const IndexType | column | ||
| ) | const |
Definition at line 155 of file SparseDiagBlkMatrix.cpp.
| boost::call_traits< typenameSparseStorageType::DataType >::const_reference Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::operator() | ( | const IndexType | row, |
| const IndexType | column | ||
| ) | const |
Definition at line 164 of file SparseDiagBlkMatrix.cpp.
| void Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::writeBlockSparsityPatternTo | ( | std::ostream & | out, |
| const IndexType | blk_row = 0, |
||
| const IndexType | blk_col = 0, |
||
| IndexType | blockSize = 64 |
||
| ) |
Definition at line 476 of file SparseDiagBlkMatrix.cpp.
| void Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::writeSparsityPatternTo | ( | std::ostream & | out, |
| IndexType | blockSize = 64 |
||
| ) |
Definition at line 386 of file SparseDiagBlkMatrix.cpp.
| void Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::writeSubmatrixBlockSparsityPatternTo | ( | std::ostream & | out, |
| const IndexType | subMatrixIdx, | ||
| const IndexType | blk_row = 0, |
||
| const IndexType | blk_col = 0, |
||
| IndexType | blockSize = 64 |
||
| ) |
Complementary routine to the previous. It generates exact non-zero pattern of a given block matrix entry to *this object. E.g., for a 6x6 matrix defined as A(i,i):=i, A(i,j):=0, block size = 2 and blk_row=blk_col=2 it produces 2x2 matrix with 5 and 6 along the diagonal.
Definition at line 435 of file SparseDiagBlkMatrix.cpp.
| void Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::writeSubmatrixSparsityPatternTo | ( | std::ostream & | out, |
| const IndexType | subMatrixIdx, | ||
| IndexType | blockSize = 64 |
||
| ) |
Definition at line 349 of file SparseDiagBlkMatrix.cpp.
|
protected |
Definition at line 124 of file SparseDiagBlkMatrix.hpp.
Referenced by Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::NekSparseDiagBlkMatrix().
|
protected |
Definition at line 126 of file SparseDiagBlkMatrix.hpp.
|
protected |
Definition at line 125 of file SparseDiagBlkMatrix.hpp.
Referenced by Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::NekSparseDiagBlkMatrix().
|
protected |
Definition at line 123 of file SparseDiagBlkMatrix.hpp.
Referenced by Nektar::NekSparseDiagBlkMatrix< SparseStorageType >::NekSparseDiagBlkMatrix().
|
protected |
Definition at line 127 of file SparseDiagBlkMatrix.hpp.