Epetra_Operator: A pure virtual class for using real-valued double-precision operators. More...
#include <Epetra_Operator.h>
Public Member Functions | |
Destructor | |
virtual | ~Epetra_Operator () |
Destructor. | |
Attribute set methods | |
virtual int | SetUseTranspose (bool UseTranspose)=0 |
If set true, transpose of this operator will be applied. More... | |
Mathematical functions | |
virtual int | Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const =0 |
Returns the result of a Epetra_Operator applied to a Epetra_MultiVector X in Y. More... | |
virtual int | ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const =0 |
Returns the result of a Epetra_Operator inverse applied to an Epetra_MultiVector X in Y. More... | |
virtual double | NormInf () const =0 |
Returns the infinity norm of the global matrix. | |
Attribute access functions | |
virtual const char * | Label () const =0 |
Returns a character string describing the operator. | |
virtual bool | UseTranspose () const =0 |
Returns the current UseTranspose setting. | |
virtual bool | HasNormInf () const =0 |
Returns true if the this object can provide an approximate Inf-norm, false otherwise. | |
virtual const Epetra_Comm & | Comm () const =0 |
Returns a pointer to the Epetra_Comm communicator associated with this operator. | |
virtual const Epetra_Map & | OperatorDomainMap () const =0 |
Returns the Epetra_Map object associated with the domain of this operator. | |
virtual const Epetra_Map & | OperatorRangeMap () const =0 |
Returns the Epetra_Map object associated with the range of this operator. | |
Epetra_Operator: A pure virtual class for using real-valued double-precision operators.
The Epetra_Operator class is a pure virtual class (specifies interface only) that enable the use of real-valued double-precision operators. It is currently implemented by both the Epetra_CrsMatrix and Epetra_VbrMatrix classes and the Ifpack_CrsRiluk preconditioner class.
|
pure virtual |
Returns the result of a Epetra_Operator applied to a Epetra_MultiVector X in Y.
In | X - A Epetra_MultiVector of dimension NumVectors to multiply with matrix. |
Out | Y -A Epetra_MultiVector of dimension NumVectors containing result. |
Implemented in Epetra_CrsMatrix, Epetra_VbrMatrix, Epetra_BasicRowMatrix, Epetra_MsrMatrix, Epetra_FastCrsOperator, and Epetra_InvOperator.
Referenced by Epetra_InvOperator::ApplyInverse().
|
pure virtual |
Returns the result of a Epetra_Operator inverse applied to an Epetra_MultiVector X in Y.
In | X - A Epetra_MultiVector of dimension NumVectors to solve for. |
Out | Y -A Epetra_MultiVector of dimension NumVectors containing result. |
Implemented in Epetra_CrsMatrix, Epetra_VbrMatrix, Epetra_BasicRowMatrix, Epetra_MsrMatrix, Epetra_FastCrsOperator, and Epetra_InvOperator.
Referenced by Epetra_InvOperator::Apply().
|
pure virtual |
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. |
Implemented in Epetra_CrsMatrix, Epetra_VbrMatrix, Epetra_BasicRowMatrix, Epetra_MsrMatrix, Epetra_FastCrsOperator, and Epetra_InvOperator.
Referenced by Epetra_InvOperator::SetUseTranspose().