44 #ifndef EPETRA_INVOPERATOR_H
45 #define EPETRA_INVOPERATOR_H
71 Label_ =
"Inverse of " + std::string(operatorIn->
Label());
Epetra_MultiVector: A class for constructing and using dense multi-vectors, vectors and matrices in p...
Epetra_InvOperator(Epetra_Operator *operatorIn)
Uses an Epetra_Operator instance to implement the Epetra_Operator interface.
Epetra_Map: A class for partitioning vectors and matrices.
virtual int SetUseTranspose(bool UseTranspose)=0
If set true, transpose of this operator will be applied.
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...
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...
#define EPETRA_CHK_ERR(a)
virtual const Epetra_Map & OperatorDomainMap() const =0
Returns the Epetra_Map object associated with the domain of this operator.
const Epetra_Comm & Comm() const
Returns a pointer to the Epetra_Comm communicator associated with this operator.
virtual const char * Label() const =0
Returns a character string describing the operator.
const Epetra_Map & OperatorRangeMap() const
Returns the Epetra_BlockMap object associated with the range of this matrix operator.
Epetra_InvOperator: An implementation of the Epetra_Operator class that reverses the role of Apply() ...
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.
bool UseTranspose() const
Returns the current UseTranspose setting.
Epetra_Operator * Operator() const
Returns a pointer to the Epetra_Operator operator object that was used to create this Epetra_InvOpera...
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.
virtual const Epetra_Map & OperatorRangeMap() const =0
Returns the Epetra_Map object associated with the range of this operator.
virtual const Epetra_Comm & Comm() const =0
Returns a pointer to the Epetra_Comm communicator associated with this operator.
Epetra_Comm: The Epetra Communication Abstract Base Class.
virtual bool UseTranspose() const =0
Returns the current UseTranspose setting.
Epetra_Operator * operator_
Epetra_BlockMap: A class for partitioning block element vectors and matrices.
const Epetra_Map & OperatorDomainMap() const
Returns the Epetra_BlockMap object associated with the domain of this matrix operator.
bool HasNormInf() const
Returns true if the this object can provide an approximate Inf-norm, false otherwise.
const char * Label() const
Returns a character std::string describing the operator.
virtual bool HasNormInf() const =0
Returns true if the this object can provide an approximate Inf-norm, false otherwise.
virtual ~Epetra_InvOperator()
Destructor.
double NormInf() const
Returns the infinity norm of the global matrix.
virtual double NormInf() const =0
Returns the infinity norm of the global matrix.
Epetra_Operator: A pure virtual class for using real-valued double-precision operators.
int SetUseTranspose(bool UseTranspose_in)
If set true, transpose of this operator will be applied.