37 #ifndef NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_SPARSE_DIAG_BLK_MATRIX_HPP
38 #define NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_SPARSE_DIAG_BLK_MATRIX_HPP
49 #include <boost/call_traits.hpp>
61 template<
typename SparseStorageType>
67 typedef typename SparseStorageType::DataType
DataType;
138 #endif //NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_SPARSE_DIAG_BLK_MATRIX_HPP
IndexType GetRows() const
boost::shared_ptr< SparseStorageType > SparseStorageSharedPtr
boost::shared_ptr< COOMatType > COOMatTypeSharedPtr
COOMatTypeSharedPtr GetCooStorage()
size_t GetMemoryFootprint()
SparseStorageSharedPtrVector m_submatrix
void MultiplySubMatrix(const IndexType blockNum, DataType *in, DataType *out)
DataType GetAvgRowDensity()
unsigned long m_mulCallsCounter
DataType GetFillInRatio() const
#define LIB_UTILITIES_EXPORT
SparseStorageType::DataType DataType
IndexType GetNumberOfMatrixBlocks() const
unsigned long GetMulCallsCounter() const
boost::call_traits< DataType >::const_reference operator()(const IndexType row, const IndexType column) const
Array< OneD, DataType > DataVectorType
IndexType GetColumns() const
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 en...
void writeBlockSparsityPatternTo(std::ostream &out, const IndexType blk_row=0, const IndexType blk_col=0, IndexType blockSize=64)
void Multiply(const DataVectorType &in, DataVectorType &out)
void writeSparsityPatternTo(std::ostream &out, IndexType blockSize=64)
IndexType GetNumNonZeroEntries()
void writeSubmatrixSparsityPatternTo(std::ostream &out, const IndexType subMatrixIdx, IndexType blockSize=64)
Array< OneD, SparseStorageSharedPtr > SparseStorageSharedPtrVector
Array< OneD, const DataType > ConstDataVectorType
SparseStorageType StorageType
1D Array of constant elements with garbage collection and bounds checking.
~NekSparseDiagBlkMatrix()
NekSparseDiagBlkMatrix(const SparseStorageSharedPtrVector &sparseStoragePtrVector)