#include <PlayaEpetraMatrix.hpp>
Public Member Functions | |
EpetraMatrix (const Epetra_CrsGraph &graph, const VectorSpace< double > &domain, const VectorSpace< double > &range) | |
EpetraMatrix (const RCP< Epetra_CrsMatrix > &mat, const VectorSpace< double > &domain, const VectorSpace< double > &range) | |
virtual void | apply (Teuchos::ETransp applyType, const Vector< double > &in, Vector< double > out) const |
std::ostream & | describe (std::ostream &out, const Teuchos::EVerbosityLevel verbLevel, const std::string leadingIndent, const std::string indentSpacer) const |
std::string | description () const |
const Epetra_CrsMatrix * | crsMatrix () const |
LoadableMatrix interface functions | |
virtual void | addToRow (int globalRowIndex, int nElemsToInsert, const int *globalColumnIndices, const double *elementValues) |
virtual void | addToElementBatch (int numRows, int rowBlockSize, const int *globalRowIndices, int numColumnsPerRow, const int *globalColumnIndices, const double *values, const int *skipRow) |
virtual void | zero () |
incomplete factorization preconditioning interface | |
virtual void | getILUKPreconditioner (int fillLevels, int overlapFill, double relaxationValue, double relativeThreshold, double absoluteThreshold, LeftOrRight leftOrRight, Preconditioner< double > &rtn) const |
Row access interface | |
void | getRow (const int &row, Teuchos::Array< int > &indices, Teuchos::Array< double > &values) const |
Diagnostic output | |
virtual void | print (std::ostream &os) const |
Static Public Member Functions | |
static Epetra_CrsMatrix & | getConcrete (const LinearOperator< double > &A) |
static RCP< const Epetra_CrsMatrix > | getConcretePtr (const LinearOperator< double > &A) |
Related Functions | |
(Note that these are not member functions.) | |
Vector< double > | getEpetraDiagonal (const LinearOperator< double > &A) |
LinearOperator< double > | makeEpetraDiagonalMatrix (const Vector< double > &d) |
Definition at line 24 of file PlayaEpetraMatrix.hpp.
EpetraMatrix::EpetraMatrix | ( | const Epetra_CrsGraph & | graph, | |
const VectorSpace< double > & | domain, | |||
const VectorSpace< double > & | range | |||
) |
Construct an empty EpetraMatrix structured according to the graph argument
Definition at line 25 of file PlayaEpetraMatrix.cpp.
EpetraMatrix::EpetraMatrix | ( | const RCP< Epetra_CrsMatrix > & | mat, | |
const VectorSpace< double > & | domain, | |||
const VectorSpace< double > & | range | |||
) |
Wrap an existing Epetra CRS Matrix
Definition at line 32 of file PlayaEpetraMatrix.cpp.
void EpetraMatrix::apply | ( | Teuchos::ETransp | applyType, | |
const Vector< double > & | in, | |||
Vector< double > | out | |||
) | const [virtual] |
Apply the operator
Implements Playa::LinearOperatorBase< double >.
Definition at line 40 of file PlayaEpetraMatrix.cpp.
void EpetraMatrix::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.
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 PlayaEpetraMatrix.cpp.
void EpetraMatrix::addToElementBatch | ( | int | numRows, | |
int | rowBlockSize, | |||
const int * | globalRowIndices, | |||
int | numColumnsPerRow, | |||
const int * | globalColumnIndices, | |||
const double * | values, | |||
const int * | skipRow | |||
) | [virtual] |
Add to a batch of elements
Reimplemented from Playa::LoadableMatrix< double >.
Definition at line 78 of file PlayaEpetraMatrix.cpp.
void EpetraMatrix::zero | ( | ) | [virtual] |
Set all elements to zero, preserving the existing structure
Implements Playa::LoadableMatrix< double >.
Definition at line 112 of file PlayaEpetraMatrix.cpp.
void EpetraMatrix::getILUKPreconditioner | ( | int | fillLevels, | |
int | overlapFill, | |||
double | relaxationValue, | |||
double | relativeThreshold, | |||
double | absoluteThreshold, | |||
LeftOrRight | leftOrRight, | |||
Preconditioner< double > & | rtn | |||
) | const [virtual] |
create an incomplete factorization.
fillLevels | number of levels of fill on the local processor | |
overlapFill | number of levels of fill on remote processors | |
relaxationValue | fraction of dropped values to be added to the diagonal | |
relativeThreshold | relative diagonal perutrbation | |
absoluteThreshold | absolute diagonal perturbation | |
leftOrRight | whether this preconditioner is to be applied from the left or right | |
rtn | newly created preconditioner, returned by reference argument. |
Implements Playa::ILUFactorizableOp< double >.
Definition at line 119 of file PlayaEpetraMatrix.cpp.
void EpetraMatrix::getRow | ( | const int & | row, | |
Teuchos::Array< int > & | indices, | |||
Teuchos::Array< double > & | values | |||
) | const [virtual] |
Get the specified row as defined by RowAccessible
Implements Playa::RowAccessibleOp< double >.
Definition at line 189 of file PlayaEpetraMatrix.cpp.
void EpetraMatrix::print | ( | std::ostream & | os | ) | const [virtual] |
std::ostream& Playa::EpetraMatrix::describe | ( | std::ostream & | out, | |
const Teuchos::EVerbosityLevel | verbLevel, | |||
const std::string | leadingIndent, | |||
const std::string | indentSpacer | |||
) | const [inline] |
Definition at line 126 of file PlayaEpetraMatrix.hpp.
string EpetraMatrix::description | ( | ) | const |
Definition at line 154 of file PlayaEpetraMatrix.cpp.
Epetra_CrsMatrix & EpetraMatrix::getConcrete | ( | const LinearOperator< double > & | A | ) | [static] |
Definition at line 176 of file PlayaEpetraMatrix.cpp.
RCP< const Epetra_CrsMatrix > EpetraMatrix::getConcretePtr | ( | const LinearOperator< double > & | A | ) | [static] |
Definition at line 183 of file PlayaEpetraMatrix.cpp.
const Epetra_CrsMatrix * EpetraMatrix::crsMatrix | ( | ) | const |
Read-only access to the underlying crs matrix. Needed by Ifpack and ML.
Definition at line 170 of file PlayaEpetraMatrix.cpp.
Vector< double > getEpetraDiagonal | ( | const LinearOperator< double > & | A | ) | [related] |
Definition at line 26 of file PlayaEpetraMatrixOps.cpp.
LinearOperator< double > makeEpetraDiagonalMatrix | ( | const Vector< double > & | d | ) | [related] |
Definition at line 42 of file PlayaEpetraMatrixOps.cpp.