AztecOO
Development
|
AztecOO_Operator: An implementation of the Epetra_Operator class. More...
#include <AztecOO_Operator.h>
Public Member Functions | |
AztecOO_Operator (AztecOO *solver, int NumIters, double Tol=0.0) | |
Uses an AztecOO instance to implement the Epetra_Operator interface. More... | |
~AztecOO_Operator () | |
Destructor. | |
int | SetUseTranspose (bool use_transpose) |
If set true, transpose of this operator will be applied. More... | |
int | Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
Returns the result of a AztecOO_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 AztecOO_Operator inverse applied to an Epetra_MultiVector X in Y. More... | |
double | NormInf () const |
Returns the infinity norm of the global matrix. | |
const char * | Label () const |
Returns a character string describing the operator. | |
AztecOO * | Solver () const |
Returns a pointer to the AztecOO solver object that was used to create this AztecOO_Operator object. | |
int | NumIters () const |
Returns the number of iterations that will be performed with the AztecOO solver. | |
double | Tol () const |
Returns the tolerance this will be used by the AztecOO solver. | |
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. | |
Protected Attributes | |
AztecOO * | solver_ |
int | NumIters_ |
double | Tol_ |
const char * | Label_ |
AztecOO_Operator: An implementation of the Epetra_Operator class.
The AztecOO_Operator class implements Epetra_Operator using a pre-constructed AztecOO solver object. Once constructed, an AztecOO_Operator can be used as a preconditioner within another AztecOO solver object.
AztecOO_Operator::AztecOO_Operator | ( | AztecOO * | solver, |
int | NumIters, | ||
double | Tol = 0.0 |
||
) |
Uses an AztecOO instance to implement the Epetra_Operator interface.
Facilitates the use of an AztecOO solver instance as an operator. This is particularly designed for using AztecOO as a preconditioner within another AztecOO instance.
|
inlinevirtual |
Returns the result of a AztecOO_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. |
Implements Epetra_Operator.
|
virtual |
Returns the result of a AztecOO_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. |
Implements Epetra_Operator.
References OperatorDomainMap(), OperatorRangeMap(), AztecOO::recursiveIterate(), AztecOO::SetLHS(), and AztecOO::SetRHS().
|
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 | use_transpose - If true, multiply by the transpose of operator, otherwise just use operator. |
Implements Epetra_Operator.