37 #ifndef NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_SPARSE_MATRIX_HPP
38 #define NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_SPARSE_MATRIX_HPP
49 #include <boost/call_traits.hpp>
60 template<
typename SparseStorageType>
66 typedef typename SparseStorageType::DataType
DataType;
115 #endif //NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_SPARSE_MATRIX_HPP
boost::shared_ptr< SparseStorageType > SparseStorageSharedPtr
COOMatTypeSharedPtr GetCooStorage()
boost::shared_ptr< COOMatType > COOMatTypeSharedPtr
Array< OneD, const DataType > ConstDataVectorType
boost::call_traits< DataType >::const_reference operator()(const IndexType row, const IndexType column) const
SparseStorageType::const_iterator begin() const
SparseStorageSharedPtr m_sparseStorage
const size_t GetMemoryFootprint() const
SparseStorageType::DataType DataType
Array< OneD, DataType > DataVectorType
void Multiply(const DataVectorType &in, DataVectorType &out)
const IndexType GetColumns() const
const IndexType GetBandwidth()
const IndexType GetNumNonZeroEntries() const
#define LIB_UTILITIES_EXPORT
const unsigned long GetMulCallsCounter() const
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 en...
const IndexType GetRows() const
SparseStorageType::const_iterator end() const
const DataType GetAvgRowDensity() const
NekSparseMatrix(const SparseStorageSharedPtr &sparseStoragePtr)
void writeSparsityPatternTo(std::ostream &out, IndexType blockSize=64)
unsigned long m_mulCallsCounter
1D Array of constant elements with garbage collection and bounds checking.
SparseStorageType StorageType
const DataType GetFillInRatio() const