35#ifndef NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_MATRIX_BASE_HPP 
   36#define NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_MATRIX_BASE_HPP 
   60    operator()(
unsigned int row, 
unsigned int column) 
const;
 
   81        char transpose) 
const;
 
   91        unsigned int numRows, 
unsigned int numColumns,
 
   92        const char transpose = 
'N', 
unsigned int numSubDiags = 0,
 
   93        unsigned int numSuperDiags = 0);
 
   97        unsigned int subDiags = 0, 
unsigned int superDiags = 0);
 
  121    virtual typename boost::call_traits<DataType>::value_type 
v_GetValue(
 
  122        unsigned int row, 
unsigned int column) 
const = 0;
 
  139        unsigned int row, 
unsigned int column,
 
  140        typename boost::call_traits<DataType>::const_reference 
d);
 
  158        unsigned int row, 
unsigned int column,
 
  159        typename boost::call_traits<DataType>::const_reference 
d) = 0;
 
#define LIB_UTILITIES_EXPORT
 
void SetTransposeFlag(char newValue)
 
MatrixStorage GetType() const
 
MatrixStorage GetStorageType() const
 
ConstMatrix< DataType > & operator=(const ConstMatrix< DataType > &rhs)
 
boost::call_traits< DataType >::value_type operator()(unsigned int row, unsigned int column) const
 
unsigned int GetStorageSize() const
 
ConstMatrix(unsigned int rows, unsigned int columns, MatrixStorage policy=eFULL)
 
static unsigned int CalculateIndex(MatrixStorage type, unsigned int row, unsigned int col, unsigned int numRows, unsigned int numColumns, const char transpose='N', unsigned int numSubDiags=0, unsigned int numSuperDiags=0)
 
virtual unsigned int v_GetStorageSize() const =0
 
unsigned int GetTransposedColumns(char transpose) const
 
virtual ~ConstMatrix()=default
 
virtual char v_GetTransposeFlag() const
 
unsigned int GetRows() const
 
virtual boost::call_traits< DataType >::value_type v_GetValue(unsigned int row, unsigned int column) const =0
 
virtual void v_Transpose()
 
MatrixStorage m_storageType
 
unsigned int GetTransposedRows(char transpose) const
 
void Resize(unsigned int rows, unsigned int columns)
Resets the rows and columns in the array. This method does not update the data storage to match the n...
 
char GetRawTransposeFlag() const
 
static unsigned int GetRequiredStorageSize(MatrixStorage type, unsigned int rows, unsigned int columns, unsigned int subDiags=0, unsigned int superDiags=0)
 
char GetTransposeFlag() const
 
unsigned int GetColumns() const
 
const unsigned int * GetSize() const
 
void SetValue(unsigned int row, unsigned int column, typename boost::call_traits< DataType >::const_reference d)
 
Matrix< DataType > & operator=(const Matrix< DataType > &rhs)
 
Matrix(unsigned int rows, unsigned int columns, MatrixStorage policy=eFULL)
 
virtual void v_SetValue(unsigned int row, unsigned int column, typename boost::call_traits< DataType >::const_reference d)=0
 
std::vector< double > d(NPUPPER *NPUPPER)