Epetra Development
|
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. | |
![]() | |
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. | |
Epetra_CompObject & | operator= (const Epetra_CompObject &src) |
![]() | |
virtual | ~Epetra_Operator () |
Destructor. | |
Additional methods required to support the Epetra_Operator interface | |
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_ |
char * | Label () const |
Returns a character string describing the operator. | |
int | SetUseTranspose (bool UseTranspose) |
If set true, transpose of this operator will be applied. | |
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. | |
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. | |
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. | |
int | Allocate (bool UseFloats) |
Additional Inherited Members | |
![]() | |
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 |
Returns a pointer to the Epetra_Comm communicator associated with this matrix.
Implements Epetra_Operator.
References Epetra_CrsMatrix::Comm().
|
inlinevirtual |
Returns true because this class can compute an Inf-norm.
Implements Epetra_Operator.
References Epetra_CrsMatrix::HasNormInf().
|
inlinevirtual |
Returns a character string describing the operator.
Implements Epetra_Operator.
References Epetra_CrsMatrix::Label().
|
inlinevirtual |
Returns the infinity norm of the global matrix.
Implements Epetra_Operator.
References Epetra_CrsMatrix::NormInf().
|
inlinevirtual |
Returns the Epetra_Map object associated with the domain of this matrix operator.
Implements Epetra_Operator.
References Epetra_CrsMatrix::OperatorDomainMap().
|
inlinevirtual |
Returns the Epetra_Map object associated with the range of this matrix operator.
Implements Epetra_Operator.
References Epetra_CrsMatrix::OperatorRangeMap().
|
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().
|
inlinevirtual |
Returns the current UseTranspose setting.
Implements Epetra_Operator.
References Epetra_CrsMatrix::UseTranspose().