Nektar++
|
#include <SparseMatrix.hpp>
Public Types | |
typedef SparseStorageType | StorageType |
typedef SparseStorageType::DataType | DataType |
typedef boost::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 () | |
const IndexType | GetRows () const |
const IndexType | GetColumns () const |
const IndexType | GetNumNonZeroEntries () const |
const DataType | GetFillInRatio () const |
const size_t | GetMemoryFootprint () const |
const unsigned long | GetMulCallsCounter () const |
const DataType | GetAvgRowDensity () const |
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. |
Protected Attributes | |
unsigned long | m_mulCallsCounter |
SparseStorageSharedPtr | m_sparseStorage |
Definition at line 61 of file SparseMatrix.hpp.
typedef Array<OneD, const DataType> Nektar::NekSparseMatrix< SparseStorageType >::ConstDataVectorType |
Definition at line 69 of file SparseMatrix.hpp.
typedef SparseStorageType::DataType Nektar::NekSparseMatrix< SparseStorageType >::DataType |
Definition at line 66 of file SparseMatrix.hpp.
typedef Array<OneD, DataType> Nektar::NekSparseMatrix< SparseStorageType >::DataVectorType |
Definition at line 68 of file SparseMatrix.hpp.
typedef boost::shared_ptr<SparseStorageType> Nektar::NekSparseMatrix< SparseStorageType >::SparseStorageSharedPtr |
Definition at line 67 of file SparseMatrix.hpp.
typedef SparseStorageType Nektar::NekSparseMatrix< SparseStorageType >::StorageType |
Definition at line 65 of file SparseMatrix.hpp.
Nektar::NekSparseMatrix< SparseStorageType >::NekSparseMatrix | ( | const SparseStorageSharedPtr & | sparseStoragePtr | ) |
Definition at line 58 of file SparseMatrix.cpp.
Nektar::NekSparseMatrix< SparseStorageType >::NekSparseMatrix | ( | const NekSparseMatrix< SparseStorageType > & | src | ) |
Definition at line 65 of file SparseMatrix.cpp.
Nektar::NekSparseMatrix< SparseStorageType >::~NekSparseMatrix | ( | ) |
Definition at line 72 of file SparseMatrix.cpp.
SparseStorageType::const_iterator Nektar::NekSparseMatrix< SparseStorageType >::begin | ( | ) | const |
Definition at line 111 of file SparseMatrix.cpp.
SparseStorageType::const_iterator Nektar::NekSparseMatrix< SparseStorageType >::end | ( | ) | const |
Definition at line 117 of file SparseMatrix.cpp.
const SparseStorageType::DataType Nektar::NekSparseMatrix< SparseStorageType >::GetAvgRowDensity | ( | ) | const |
Definition at line 157 of file SparseMatrix.cpp.
const IndexType Nektar::NekSparseMatrix< SparseStorageType >::GetBandwidth | ( | ) |
Definition at line 164 of file SparseMatrix.cpp.
const IndexType Nektar::NekSparseMatrix< SparseStorageType >::GetColumns | ( | ) | const |
Definition at line 84 of file SparseMatrix.cpp.
COOMatTypeSharedPtr Nektar::NekSparseMatrix< SparseStorageType >::GetCooStorage | ( | ) |
Definition at line 178 of file SparseMatrix.cpp.
const NekSparseMatrix< SparseStorageType >::DataType Nektar::NekSparseMatrix< SparseStorageType >::GetFillInRatio | ( | ) | const |
Definition at line 97 of file SparseMatrix.cpp.
const size_t Nektar::NekSparseMatrix< SparseStorageType >::GetMemoryFootprint | ( | ) | const |
Definition at line 140 of file SparseMatrix.cpp.
const unsigned long Nektar::NekSparseMatrix< SparseStorageType >::GetMulCallsCounter | ( | ) | const |
Definition at line 151 of file SparseMatrix.cpp.
const IndexType Nektar::NekSparseMatrix< SparseStorageType >::GetNumNonZeroEntries | ( | ) | const |
Definition at line 90 of file SparseMatrix.cpp.
const IndexType Nektar::NekSparseMatrix< SparseStorageType >::GetRows | ( | ) | const |
Definition at line 78 of file SparseMatrix.cpp.
void Nektar::NekSparseMatrix< SparseStorageType >::Multiply | ( | const DataVectorType & | in, |
DataVectorType & | out | ||
) |
Definition at line 124 of file SparseMatrix.cpp.
void Nektar::NekSparseMatrix< SparseStorageType >::Multiply | ( | const DataType * | in, |
DataType * | out | ||
) |
Definition at line 132 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 105 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 237 of file SparseMatrix.cpp.
void Nektar::NekSparseMatrix< SparseStorageType >::writeSparsityPatternTo | ( | std::ostream & | out, |
IndexType | blockSize = 64 |
||
) |
Definition at line 198 of file SparseMatrix.cpp.
|
protected |
Definition at line 106 of file SparseMatrix.hpp.
|
protected |
Definition at line 107 of file SparseMatrix.hpp.