Epetra_FastCrsOperator: A class for constructing matrix objects optimized for common kernels. More...
#include <Epetra_FastCrsMatrix.h>
Public Member Functions | |
Constructors/Destructor | |
Epetra_FastCrsOperator (const Epetra_CrsMatrix &Matrix, bool UseFloats=false) | |
Epetra_FastCrsOperator constuctor. | |
virtual | ~Epetra_FastCrsOperator () |
Epetra_FastCrsOperator Destructor. | |
Post-construction modifications | |
int | UpdateValues (const Epetra_CrsMatrix &Matrix) |
Update values using a matrix with identical structure. | |
Additional methods required to support the Epetra_Operator interface | |
char * | Label () const |
Returns a character string describing the operator. | |
int | SetUseTranspose (bool UseTranspose) |
If set true, transpose of this operator will be applied. More... | |
double | NormInf () const |
Returns the infinity norm of the global matrix. | |
const Epetra_Comm & | Comm () const |
Returns a pointer to the Epetra_Comm communicator associated with this matrix. | |
int | Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
Returns the result of a Epetra_Operator applied to a Epetra_MultiVector X in Y. More... | |
int | ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
Returns the result of a Epetra_Operator inverse applied to an Epetra_MultiVector X in Y. More... | |
bool | HasNormInf () const |
Returns true because this class can compute an Inf-norm. | |
bool | UseTranspose () const |
Returns the current UseTranspose setting. | |
const Epetra_Map & | OperatorDomainMap () const |
Returns the Epetra_Map object associated with the domain of this matrix operator. | |
const Epetra_Map & | OperatorRangeMap () const |
Returns the Epetra_Map object associated with the range of this matrix operator. | |
Public Member Functions inherited from Epetra_CompObject | |
Epetra_CompObject & | operator= (const Epetra_CompObject &src) |
Epetra_CompObject () | |
Basic Epetra_CompObject constuctor. | |
Epetra_CompObject (const Epetra_CompObject &Source) | |
Epetra_CompObject copy constructor. | |
virtual | ~Epetra_CompObject () |
Epetra_CompObject destructor. | |
void | SetFlopCounter (const Epetra_Flops &FlopCounter_in) |
Set the internal Epetra_Flops() pointer. | |
void | SetFlopCounter (const Epetra_CompObject &CompObject) |
Set the internal Epetra_Flops() pointer to the flop counter of another Epetra_CompObject. | |
void | UnsetFlopCounter () |
Set the internal Epetra_Flops() pointer to 0 (no flops counted). | |
Epetra_Flops * | GetFlopCounter () const |
Get the pointer to the Epetra_Flops() object associated with this object, returns 0 if none. | |
void | ResetFlops () const |
Resets the number of floating point operations to zero for this multi-vector. | |
double | Flops () const |
Returns the number of floating point operations with this multi-vector. | |
void | UpdateFlops (int Flops_in) const |
Increment Flop count for this object. | |
void | UpdateFlops (long int Flops_in) const |
Increment Flop count for this object. | |
void | UpdateFlops (long long Flops_in) const |
Increment Flop count for this object. | |
void | UpdateFlops (double Flops_in) const |
Increment Flop count for this object. | |
void | UpdateFlops (float Flops_in) const |
Increment Flop count for this object. | |
Public Member Functions inherited from Epetra_Operator | |
virtual | ~Epetra_Operator () |
Destructor. | |
Protected Member Functions | |
int | Allocate (bool UseFloats) |
Protected Attributes | |
const Epetra_CrsMatrix & | CrsMatrix_ |
int | NumMyRows_ |
int | NumMyNonzeros_ |
double * | Values_ |
float * | FloatValues_ |
int * | Indices_ |
unsigned short * | ShortIndices_ |
bool | UsingFloats_ |
bool | UsingShorts_ |
bool | ValuesAllocated_ |
Epetra_MultiVector * | ImportVector_ |
Epetra_MultiVector * | ExportVector_ |
Protected Attributes inherited from Epetra_CompObject | |
Epetra_Flops * | FlopCounter_ |
Epetra_FastCrsOperator: A class for constructing matrix objects optimized for common kernels.
The Epetra_FastCrsOperator class takes an existing Epetra_CrsMatrix object, analyzes it and builds upon it for the purposes of obtaining the best possible performance on basic operations.
|
virtual |
Returns the result of a Epetra_Operator applied to a Epetra_MultiVector X in Y.
X | (In) - A Epetra_MultiVector of dimension NumVectors to multiply with matrix. |
Y | (Out) - A Epetra_MultiVector of dimension NumVectors containing result. |
Implements Epetra_Operator.
|
virtual |
Returns the result of a Epetra_Operator inverse applied to an Epetra_MultiVector X in Y.
X | (In) - A Epetra_MultiVector of dimension NumVectors to solve for. |
Y | (Out) - A Epetra_MultiVector of dimension NumVectors containing result. |
Implements Epetra_Operator.
|
inlinevirtual |
If set true, transpose of this operator will be applied.
This flag allows the transpose of the given operator to be used implicitly. Setting this flag affects only the Apply() and ApplyInverse() methods. If the implementation of this interface does not support transpose use, this method should return a value of -1.
In | UseTranspose -If true, multiply by the transpose of operator, otherwise just use operator. |
Implements Epetra_Operator.
References Epetra_CrsMatrix::SetUseTranspose().