Epetra_InvOperator: An implementation of the Epetra_Operator class that reverses the role of Apply() and ApplyInverse() methods. More...
#include <Epetra_InvOperator.h>
Public Member Functions | |
Constructor | |
Epetra_InvOperator (Epetra_Operator *operatorIn) | |
Uses an Epetra_Operator instance to implement the Epetra_Operator interface. More... | |
virtual | ~Epetra_InvOperator () |
Destructor. | |
Attribute set methods | |
int | SetUseTranspose (bool UseTranspose_in) |
If set true, transpose of this operator will be applied. More... | |
Mathematical functions | |
int | Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
Returns the result of a Epetra_InvOperator 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_InvOperator inverse applied to an Epetra_MultiVector X in Y. More... | |
double | NormInf () const |
Returns the infinity norm of the global matrix. | |
Attribute access functions | |
const char * | Label () const |
Returns a character std::string describing the operator. | |
Epetra_Operator * | Operator () const |
Returns a pointer to the Epetra_Operator operator object that was used to create this Epetra_InvOperator object. | |
bool | UseTranspose () const |
Returns the current UseTranspose setting. | |
bool | HasNormInf () const |
Returns true if the this object can provide an approximate Inf-norm, false otherwise. | |
const Epetra_Comm & | Comm () const |
Returns a pointer to the Epetra_Comm communicator associated with this operator. | |
const Epetra_Map & | OperatorDomainMap () const |
Returns the Epetra_BlockMap object associated with the domain of this matrix operator. | |
const Epetra_Map & | OperatorRangeMap () const |
Returns the Epetra_BlockMap object associated with the range of this matrix operator. | |
Public Member Functions inherited from Epetra_Operator | |
virtual | ~Epetra_Operator () |
Destructor. | |
Protected Attributes | |
Epetra_Operator * | operator_ |
std::string | Label_ |
Epetra_InvOperator: An implementation of the Epetra_Operator class that reverses the role of Apply() and ApplyInverse() methods.
The Epetra_InvOperator class implements Epetra_Operator using another pre-constructed Epetra_Operator object. Once constructed, an Epetra_InvOperator can be used as the inverse of the input operator object as long as the appropriate Apply and ApplyInverse methods are implemented in the original Epetra_Operator object.
|
inline |
Uses an Epetra_Operator instance to implement the Epetra_Operator interface.
Facilitates the use of an Epetra_Operator instance as an inverse operator.
In | - A fully-constructed Epetra_Operator object. |
References Epetra_Operator::Label().
|
inlinevirtual |
Returns the result of a Epetra_InvOperator 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. |
Implements Epetra_Operator.
References Epetra_Operator::ApplyInverse().
|
inlinevirtual |
Returns the result of a Epetra_InvOperator 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. |
Implements Epetra_Operator.
References Epetra_Operator::Apply().
|
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_in - If true, multiply by the transpose of operator, otherwise just use operator. |
Implements Epetra_Operator.
References Epetra_Operator::SetUseTranspose().