24 #ifndef DBLDEF_DOUBLE_SPARSE_MATRIX
25 #define DBLDEF_DOUBLE_SPARSE_MATRIX
56 virtual void addNonZeroValues(
const int row,
const int col,
const double val );
Definition: DoubleSparseMatrix.h:29
int getColumnsCRS(const int iNonZero) const
Definition: DoubleSparseMatrix.cpp:575
long long int * m_rowIndex
Definition: DoubleSparseMatrix.h:144
int getNumRows() const
Definition: DoubleSparseMatrix.cpp:421
virtual void setStructureByTripletFormat(const int row, const int col)
Definition: DoubleSparseMatrix.cpp:135
std::map< int, double > * m_matrixTripletFormat
Definition: DoubleSparseMatrix.h:141
bool hasConvertedToCRSFormat() const
Definition: DoubleSparseMatrix.cpp:436
void addRightHandSideVector(const int row, const double val, const int irhs=0)
Definition: DoubleSparseMatrix.cpp:325
void reallocateMemoryForRightHandSideVectors(const int nrhs)
Definition: DoubleSparseMatrix.cpp:477
int getNumColumns() const
Definition: DoubleSparseMatrix.cpp:426
void zeroClearNonZeroValues()
Definition: DoubleSparseMatrix.cpp:308
int m_numNonZeros
Definition: DoubleSparseMatrix.h:132
virtual void setNumRowsAndColumns(const int nrows, const int ncols)
Definition: DoubleSparseMatrix.cpp:103
virtual void addNonZeroValues(const int row, const int col, const double val)
Definition: DoubleSparseMatrix.cpp:261
double * m_values
Definition: DoubleSparseMatrix.h:150
void calcMatrixVectorProduct(const double *invVec, double *outVec) const
Definition: DoubleSparseMatrix.cpp:598
void deleteTripletMatrix()
Definition: DoubleSparseMatrix.cpp:633
virtual void setStructureAndAddValueByTripletFormat(const int row, const int col, const double val)
Definition: DoubleSparseMatrix.cpp:151
long long int * m_columns
Definition: DoubleSparseMatrix.h:147
void convertToCRSFormat()
Definition: DoubleSparseMatrix.cpp:172
double getValueCRS(const int iNonZero) const
Definition: DoubleSparseMatrix.cpp:582
virtual void releaseMemory()
Definition: DoubleSparseMatrix.cpp:441
void zeroClearRightHandSideVector()
Definition: DoubleSparseMatrix.cpp:346
int getRowIndexCRS(const int iRow) const
Definition: DoubleSparseMatrix.cpp:568
double getRightHandSideVector(const int row, const int irhs=0) const
Definition: DoubleSparseMatrix.cpp:589
double * m_rightHandSideVector
Definition: DoubleSparseMatrix.h:153
int m_numRightHandSideVectors
Definition: DoubleSparseMatrix.h:135
void debugWriteRightHandSide() const
Definition: DoubleSparseMatrix.cpp:557
virtual ~DoubleSparseMatrix()
Definition: DoubleSparseMatrix.cpp:70
int m_numRows
Definition: DoubleSparseMatrix.h:126
DoubleSparseMatrix & operator=(const DoubleSparseMatrix &rhs)
Definition: DoubleSparseMatrix.cpp:652
void copyRhsVector(double *vecOut) const
Definition: DoubleSparseMatrix.cpp:529
int getNumRightHandSideVectors() const
Definition: DoubleSparseMatrix.cpp:431
bool m_hasConvertedToCRSFormat
Definition: DoubleSparseMatrix.h:138
virtual void initializeMatrixAndRhsVectors(const int nrows, const int ncols, const int nrhs)
Definition: DoubleSparseMatrix.cpp:356
DoubleSparseMatrix()
Definition: DoubleSparseMatrix.cpp:32
void debugWriteMatrix() const
Definition: DoubleSparseMatrix.cpp:540
int m_numColumns
Definition: DoubleSparseMatrix.h:129
void calcMatrixVectorProductUsingTransposedMatrix(const double *invVec, double *outVec) const
Definition: DoubleSparseMatrix.cpp:613