9 #ifndef _fei_Matrix_Local_hpp_
10 #define _fei_Matrix_Local_hpp_
39 int parameters(
int numParams,
const char*
const* paramStrings);
74 int copyOutRow(
int row,
int len,
double* coefs,
int* indices)
const;
88 int sumIn(
int numRows,
const int* rows,
89 int numCols,
const int* cols,
90 const double*
const* values,
105 int copyIn(
int numRows,
const int* rows,
106 int numCols,
const int* cols,
107 const double*
const* values,
129 const double*
const* data,
165 int sumIn(
int blockID,
int connectivityID,
166 const double*
const* values,
205 bool matrixMarketFormat=
true);
220 bool matrixMarketFormat=
true);
244 const std::vector<double>&
getCoefs()
const;
250 int numCols,
const int* cols,
251 const double*
const* values,
252 bool sumInto,
int format);
bool usingBlockEntryStorage()
Matrix_Local(fei::SharedPtr< fei::MatrixGraph > matrixGraph, fei::SharedPtr< fei::SparseRowGraph > sparseRowGraph)
const std::vector< int > & getRowOffsets() const
int getRowIndex(int rowNumber) const
int sumInFieldData(int fieldID, int idType, int rowID, int colID, const double *const *data, int format=0)
int copyIn(int numRows, const int *rows, int numCols, const int *cols, const double *const *values, int format=0)
int sumIn(int numRows, const int *rows, int numCols, const int *cols, const double *const *values, int format=0)
int getLocalNumRows() const
fei::SharedPtr< fei::SparseRowGraph > sparseRowGraph_
std::vector< double > coefs_
int multiply(fei::Vector *x, fei::Vector *y)
std::vector< const double * > work_data2D_
int giveToMatrix(int numRows, const int *rows, int numCols, const int *cols, const double *const *values, bool sumInto, int format)
int parameters(const fei::ParameterSet ¶mset)
const std::vector< int > & getRowNumbers() const
const std::vector< int > & getColumnIndices() const
std::vector< double > work_data1D_
int gatherFromOverlap(bool accumulate=true)
int writeToStream(FEI_OSTREAM &ostrm, bool matrixMarketFormat=true)
int writeToFile(const char *filename, bool matrixMarketFormat=true)
int getGlobalNumRows() const
int putScalar(double scalar)
const std::vector< double > & getCoefs() const
void setMatrixGraph(fei::SharedPtr< fei::MatrixGraph > matrixGraph)
fei::SharedPtr< fei::MatrixGraph > matrixGraph_
int copyOutRow(int row, int len, double *coefs, int *indices) const
static fei::SharedPtr< fei::Matrix > create_Matrix_Local(fei::SharedPtr< fei::MatrixGraph > matrixGraph, bool blockEntry)
fei::SharedPtr< fei::MatrixGraph > getMatrixGraph() const
int getRowLength(int row, int &length) const