Public Member Functions | |
DenseSerialMatrix (const VectorSpace< double > &domain, const VectorSpace< double > &range) | |
~DenseSerialMatrix () | |
virtual void | apply (Teuchos::ETransp transApplyType, const Vector< double > &in, Vector< double > out) const |
virtual void | addToRow (int globalRowIndex, int nElemsToInsert, const int *globalColumnIndices, const double *elementValues) |
virtual void | zero () |
void | print (std::ostream &os) const |
const double *const | dataPtr () const |
double * | dataPtr () |
int | numRows () const |
int | numCols () const |
void | setRow (int row, const Array< double > &rowVals) |
Private Attributes | |
int | nRows_ |
int | nCols_ |
Array< double > | data_ |
Related Functions | |
(Note that these are not member functions.) | |
void | denseSVD (const LinearOperator< double > &A, LinearOperator< double > &U, Vector< double > &Sigma, LinearOperator< double > &Vt) |
SolverState< double > | denseSolve (const LinearOperator< double > &A, const Vector< double > &b, Vector< double > &x) |
Definition at line 30 of file PlayaDenseSerialMatrix.hpp.
DenseSerialMatrix::DenseSerialMatrix | ( | const VectorSpace< double > & | domain, | |
const VectorSpace< double > & | range | |||
) |
Construct with domain and range spaces, which should be DenseSerialVectorSpace objects
Definition at line 35 of file PlayaDenseSerialMatrix.cpp.
Playa::DenseSerialMatrix::~DenseSerialMatrix | ( | ) | [inline] |
Virtual dtor
Definition at line 42 of file PlayaDenseSerialMatrix.hpp.
void DenseSerialMatrix::addToRow | ( | int | globalRowIndex, | |
int | nElemsToInsert, | |||
const int * | globalColumnIndices, | |||
const double * | elementValues | |||
) | [virtual] |
Insert a set of elements in a row, adding to any previously existing values. The nonzero structure of the matrix must have been determined at construction time.
globalRowIndex | the global index of the row to which these elements belong. | |
nElemsToInsert | the number of elements being inserted in this step | |
globalColumnIndices | array of column indices. Must be nElemsToInsert in length. | |
elements | array of element values. Must be nElemsToInsert in length |
Implements Playa::LoadableMatrix< double >.
Definition at line 59 of file PlayaDenseSerialMatrix.cpp.
void DenseSerialMatrix::apply | ( | Teuchos::ETransp | transApplyType, | |
const Vector< double > & | in, | |||
Vector< double > | out | |||
) | const [virtual] |
Apply either the operator or its transpose
Implements Playa::LinearOperatorBase< double >.
Definition at line 45 of file PlayaDenseSerialMatrix.cpp.
References Playa::SerialVector::dataPtr(), dataPtr(), Playa::SerialVector::getConcrete(), numCols(), and numRows().
double* Playa::DenseSerialMatrix::dataPtr | ( | ) | [inline] |
const double* const Playa::DenseSerialMatrix::dataPtr | ( | ) | const [inline] |
Definition at line 78 of file PlayaDenseSerialMatrix.hpp.
References data_.
Referenced by apply(), Playa::denseSolve(), and Playa::denseSVD().
int Playa::DenseSerialMatrix::numCols | ( | ) | const [inline] |
Definition at line 87 of file PlayaDenseSerialMatrix.hpp.
References nCols_.
Referenced by apply(), Playa::denseSVD(), print(), and setRow().
int Playa::DenseSerialMatrix::numRows | ( | ) | const [inline] |
Definition at line 84 of file PlayaDenseSerialMatrix.hpp.
References nRows_.
Referenced by addToRow(), apply(), Playa::denseSolve(), Playa::denseSVD(), print(), and setRow().
void DenseSerialMatrix::print | ( | std::ostream & | os | ) | const [virtual] |
write to a stream
Implements Playa::Printable.
Definition at line 79 of file PlayaDenseSerialMatrix.cpp.
void DenseSerialMatrix::setRow | ( | int | row, | |
const Array< double > & | rowVals | |||
) |
Definition at line 105 of file PlayaDenseSerialMatrix.cpp.
void DenseSerialMatrix::zero | ( | ) | [virtual] |
Set all elements to zero, preserving the existing structure
Implements Playa::LoadableMatrix< double >.
Definition at line 73 of file PlayaDenseSerialMatrix.cpp.
References data_.
SolverState< double > denseSolve | ( | const LinearOperator< double > & | A, | |
const Vector< double > & | b, | |||
Vector< double > & | x | |||
) | [related] |
Definition at line 122 of file PlayaDenseSerialMatrix.cpp.
void denseSVD | ( | const LinearOperator< double > & | A, | |
LinearOperator< double > & | U, | |||
Vector< double > & | Sigma, | |||
LinearOperator< double > & | Vt | |||
) | [related] |
Definition at line 159 of file PlayaDenseSerialMatrix.cpp.
Array<double> Playa::DenseSerialMatrix::data_ [private] |
Definition at line 97 of file PlayaDenseSerialMatrix.hpp.
Referenced by addToRow(), dataPtr(), print(), setRow(), and zero().
int Playa::DenseSerialMatrix::nCols_ [private] |
int Playa::DenseSerialMatrix::nRows_ [private] |