|
Nektar++
|
#include <SparseMatrix.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 |
Public Member Functions | |
| NekSparseMatrix (const SparseStorageSharedPtr &sparseStoragePtr) | |
| NekSparseMatrix (const NekSparseMatrix &src) | |
| ~NekSparseMatrix () | |
| IndexType | GetRows () const |
| IndexType | GetColumns () const |
| IndexType | GetNumNonZeroEntries () const |
| const DataType | GetFillInRatio () const |
| size_t | GetMemoryFootprint () const |
| unsigned long | GetMulCallsCounter () const |
| const DataType | GetAvgRowDensity () const |
| IndexType | GetBandwidth () |
| COOMatTypeSharedPtr | GetCooStorage () |
| boost::call_traits< DataType >::const_reference | operator() (const IndexType row, const IndexType column) const |
| SparseStorageType::const_iterator | begin () const |
| SparseStorageType::const_iterator | end () const |
| void | Multiply (const DataVectorType &in, DataVectorType &out) |
| void | Multiply (const DataType *in, DataType *out) |
| void | writeSparsityPatternTo (std::ostream &out, IndexType blockSize=64) |
| void | writeBlockSparsityPatternTo (std::ostream &out, 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 | |
| unsigned long | m_mulCallsCounter |
| SparseStorageSharedPtr | m_sparseStorage |
Definition at line 58 of file SparseMatrix.hpp.
| typedef Array<OneD, const DataType> Nektar::NekSparseMatrix< SparseStorageType >::ConstDataVectorType |
Definition at line 65 of file SparseMatrix.hpp.
| typedef SparseStorageType::DataType Nektar::NekSparseMatrix< SparseStorageType >::DataType |
Definition at line 62 of file SparseMatrix.hpp.
| typedef Array<OneD, DataType> Nektar::NekSparseMatrix< SparseStorageType >::DataVectorType |
Definition at line 64 of file SparseMatrix.hpp.
| typedef std::shared_ptr<SparseStorageType> Nektar::NekSparseMatrix< SparseStorageType >::SparseStorageSharedPtr |
Definition at line 63 of file SparseMatrix.hpp.
| typedef SparseStorageType Nektar::NekSparseMatrix< SparseStorageType >::StorageType |
Definition at line 61 of file SparseMatrix.hpp.
| Nektar::NekSparseMatrix< SparseStorageType >::NekSparseMatrix | ( | const SparseStorageSharedPtr & | sparseStoragePtr | ) |
Definition at line 55 of file SparseMatrix.cpp.
| Nektar::NekSparseMatrix< SparseStorageType >::NekSparseMatrix | ( | const NekSparseMatrix< SparseStorageType > & | src | ) |
Definition at line 62 of file SparseMatrix.cpp.
| Nektar::NekSparseMatrix< SparseStorageType >::~NekSparseMatrix |
Definition at line 69 of file SparseMatrix.cpp.
| SparseStorageType::const_iterator Nektar::NekSparseMatrix< SparseStorageType >::begin |
Definition at line 109 of file SparseMatrix.cpp.
References Nektar::NekSparseMatrix< SparseStorageType >::begin().
Referenced by Nektar::NekSparseMatrix< SparseStorageType >::begin().
| SparseStorageType::const_iterator Nektar::NekSparseMatrix< SparseStorageType >::end |
Definition at line 116 of file SparseMatrix.cpp.
References Nektar::NekSparseMatrix< SparseStorageType >::end().
Referenced by Nektar::NekSparseMatrix< SparseStorageType >::end().
| const SparseStorageType::DataType Nektar::NekSparseMatrix< SparseStorageType >::GetAvgRowDensity |
Definition at line 152 of file SparseMatrix.cpp.
References Nektar::NekSparseMatrix< SparseStorageType >::GetNumNonZeroEntries().
| IndexType Nektar::NekSparseMatrix< SparseStorageType >::GetBandwidth |
| IndexType Nektar::NekSparseMatrix< SparseStorageType >::GetColumns |
Definition at line 80 of file SparseMatrix.cpp.
Referenced by Nektar::operator<<().
| COOMatTypeSharedPtr Nektar::NekSparseMatrix< SparseStorageType >::GetCooStorage |
Definition at line 175 of file SparseMatrix.cpp.
| const NekSparseMatrix< SparseStorageType >::DataType Nektar::NekSparseMatrix< SparseStorageType >::GetFillInRatio |
Definition at line 93 of file SparseMatrix.cpp.
References Nektar::NekSparseMatrix< SparseStorageType >::GetFillInRatio().
Referenced by Nektar::NekSparseMatrix< SparseStorageType >::GetFillInRatio().
| size_t Nektar::NekSparseMatrix< SparseStorageType >::GetMemoryFootprint |
Definition at line 138 of file SparseMatrix.cpp.
| unsigned long Nektar::NekSparseMatrix< SparseStorageType >::GetMulCallsCounter |
Definition at line 145 of file SparseMatrix.cpp.
| IndexType Nektar::NekSparseMatrix< SparseStorageType >::GetNumNonZeroEntries |
Definition at line 86 of file SparseMatrix.cpp.
Referenced by Nektar::NekSparseMatrix< SparseStorageType >::GetAvgRowDensity().
| IndexType Nektar::NekSparseMatrix< SparseStorageType >::GetRows |
Definition at line 74 of file SparseMatrix.cpp.
Referenced by Nektar::operator<<().
| void Nektar::NekSparseMatrix< SparseStorageType >::Multiply | ( | const DataType * | in, |
| DataType * | out | ||
| ) |
Definition at line 130 of file SparseMatrix.cpp.
| void Nektar::NekSparseMatrix< SparseStorageType >::Multiply | ( | const DataVectorType & | in, |
| DataVectorType & | out | ||
| ) |
Definition at line 122 of file SparseMatrix.cpp.
| boost::call_traits< typename SparseStorageType::DataType >::const_reference Nektar::NekSparseMatrix< SparseStorageType >::operator() | ( | const IndexType | row, |
| const IndexType | column | ||
| ) | const |
Definition at line 101 of file SparseMatrix.cpp.
| void Nektar::NekSparseMatrix< SparseStorageType >::writeBlockSparsityPatternTo | ( | std::ostream & | out, |
| 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 236 of file SparseMatrix.cpp.
| void Nektar::NekSparseMatrix< SparseStorageType >::writeSparsityPatternTo | ( | std::ostream & | out, |
| IndexType | blockSize = 64 |
||
| ) |
Definition at line 196 of file SparseMatrix.cpp.
|
protected |
Definition at line 100 of file SparseMatrix.hpp.
|
protected |
Definition at line 101 of file SparseMatrix.hpp.