FEMTIC
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
ComplexSparseMatrix Class Reference

#include <ComplexSparseMatrix.h>

Inheritance diagram for ComplexSparseMatrix:
Inheritance graph
[legend]

Public Member Functions

 ComplexSparseMatrix ()
 
 ComplexSparseMatrix (const int nrows, const int ncols, const int nrhs=1)
 
virtual ~ComplexSparseMatrix ()
 
virtual void setNumRowsAndColumns (const int nrows, const int ncols)
 
virtual void setStructureByTripletFormat (const int row, const int col)
 
virtual void setStructureAndAddValueByTripletFormat (const int row, const int col, const std::complex< double > &val)
 
void convertToCRSFormat ()
 
virtual void addNonZeroValues (const int row, const int col, const std::complex< double > &val)
 
virtual int checkAndGetLocationNonZeroValue (const int row, const int col)
 
virtual void addNonZeroValuesWithoutSearchingLocation (const int loc, const std::complex< double > &val)
 
void zeroClearNonZeroValues ()
 
void addRightHandSideVector (const int row, const std::complex< double > &val, const int irhs=0)
 
void zeroClearRightHandSideVector ()
 
virtual void initializeMatrixAndRhsVectors (const int nrows, const int ncols, const int nrhs)
 
int getNumRows () const
 
int getNumColumns () const
 
int getNumRightHandSideVectors () const
 
bool hasConvertedToCRSFormat () const
 
void reallocateMemoryForRightHandSideVectors (const int nrhs)
 
virtual void releaseMemory ()
 
void copyRhsVector (std::complex< double > *vecOut) const
 
void copyRhsVector (const int numCompsCopied, const int *const compsCopied, std::complex< double > *vecOut) const
 
void debugWriteMatrix () const
 
void debugWriteRightHandSide () const
 
void debugWriteNonZeroRightHandSide () const
 

Protected Member Functions

void deleteTripletMatrix ()
 

Protected Attributes

int m_numRows
 
int m_numColumns
 
int m_numNonZeros
 
int m_numRightHandSideVectors
 
bool m_hasConvertedToCRSFormat
 
std::map< int, std::complex< double > > * m_matrixTripletFormat
 
long long int * m_rowIndex
 
long long int * m_columns
 
std::complex< double > * m_values
 
std::complex< double > * m_rightHandSideVector
 

Private Member Functions

 ComplexSparseMatrix (const ComplexSparseMatrix &matrix)
 
ComplexSparseMatrixoperator= (const ComplexSparseMatrix &rhs)
 

Constructor & Destructor Documentation

◆ ComplexSparseMatrix() [1/3]

ComplexSparseMatrix::ComplexSparseMatrix ( )
explicit

◆ ComplexSparseMatrix() [2/3]

ComplexSparseMatrix::ComplexSparseMatrix ( const int  nrows,
const int  ncols,
const int  nrhs = 1 
)
explicit

◆ ~ComplexSparseMatrix()

ComplexSparseMatrix::~ComplexSparseMatrix ( )
virtual

◆ ComplexSparseMatrix() [3/3]

ComplexSparseMatrix::ComplexSparseMatrix ( const ComplexSparseMatrix matrix)
private

Member Function Documentation

◆ addNonZeroValues()

void ComplexSparseMatrix::addNonZeroValues ( const int  row,
const int  col,
const std::complex< double > &  val 
)
virtual

◆ addNonZeroValuesWithoutSearchingLocation()

void ComplexSparseMatrix::addNonZeroValuesWithoutSearchingLocation ( const int  loc,
const std::complex< double > &  val 
)
virtual

◆ addRightHandSideVector()

void ComplexSparseMatrix::addRightHandSideVector ( const int  row,
const std::complex< double > &  val,
const int  irhs = 0 
)

◆ checkAndGetLocationNonZeroValue()

int ComplexSparseMatrix::checkAndGetLocationNonZeroValue ( const int  row,
const int  col 
)
virtual

◆ convertToCRSFormat()

void ComplexSparseMatrix::convertToCRSFormat ( )

◆ copyRhsVector() [1/2]

void ComplexSparseMatrix::copyRhsVector ( const int  numCompsCopied,
const int *const  compsCopied,
std::complex< double > *  vecOut 
) const

◆ copyRhsVector() [2/2]

void ComplexSparseMatrix::copyRhsVector ( std::complex< double > *  vecOut) const

◆ debugWriteMatrix()

void ComplexSparseMatrix::debugWriteMatrix ( ) const

◆ debugWriteNonZeroRightHandSide()

void ComplexSparseMatrix::debugWriteNonZeroRightHandSide ( ) const

◆ debugWriteRightHandSide()

void ComplexSparseMatrix::debugWriteRightHandSide ( ) const

◆ deleteTripletMatrix()

void ComplexSparseMatrix::deleteTripletMatrix ( )
protected

◆ getNumColumns()

int ComplexSparseMatrix::getNumColumns ( ) const

◆ getNumRightHandSideVectors()

int ComplexSparseMatrix::getNumRightHandSideVectors ( ) const

◆ getNumRows()

int ComplexSparseMatrix::getNumRows ( ) const

◆ hasConvertedToCRSFormat()

bool ComplexSparseMatrix::hasConvertedToCRSFormat ( ) const

◆ initializeMatrixAndRhsVectors()

void ComplexSparseMatrix::initializeMatrixAndRhsVectors ( const int  nrows,
const int  ncols,
const int  nrhs 
)
virtual

◆ operator=()

ComplexSparseMatrix & ComplexSparseMatrix::operator= ( const ComplexSparseMatrix rhs)
private

◆ reallocateMemoryForRightHandSideVectors()

void ComplexSparseMatrix::reallocateMemoryForRightHandSideVectors ( const int  nrhs)

◆ releaseMemory()

void ComplexSparseMatrix::releaseMemory ( )
virtual

Reimplemented in ComplexSparseSquareMatrix.

◆ setNumRowsAndColumns()

void ComplexSparseMatrix::setNumRowsAndColumns ( const int  nrows,
const int  ncols 
)
virtual

Reimplemented in ComplexSparseSquareMatrix.

◆ setStructureAndAddValueByTripletFormat()

void ComplexSparseMatrix::setStructureAndAddValueByTripletFormat ( const int  row,
const int  col,
const std::complex< double > &  val 
)
virtual

◆ setStructureByTripletFormat()

void ComplexSparseMatrix::setStructureByTripletFormat ( const int  row,
const int  col 
)
virtual

◆ zeroClearNonZeroValues()

void ComplexSparseMatrix::zeroClearNonZeroValues ( )

◆ zeroClearRightHandSideVector()

void ComplexSparseMatrix::zeroClearRightHandSideVector ( )

Member Data Documentation

◆ m_columns

long long int* ComplexSparseMatrix::m_columns
protected

◆ m_hasConvertedToCRSFormat

bool ComplexSparseMatrix::m_hasConvertedToCRSFormat
protected

◆ m_matrixTripletFormat

std::map< int, std::complex<double> >* ComplexSparseMatrix::m_matrixTripletFormat
protected

◆ m_numColumns

int ComplexSparseMatrix::m_numColumns
protected

◆ m_numNonZeros

int ComplexSparseMatrix::m_numNonZeros
protected

◆ m_numRightHandSideVectors

int ComplexSparseMatrix::m_numRightHandSideVectors
protected

◆ m_numRows

int ComplexSparseMatrix::m_numRows
protected

◆ m_rightHandSideVector

std::complex<double>* ComplexSparseMatrix::m_rightHandSideVector
protected

◆ m_rowIndex

long long int* ComplexSparseMatrix::m_rowIndex
protected

◆ m_values

std::complex<double>* ComplexSparseMatrix::m_values
protected

The documentation for this class was generated from the following files: