Epetra_Operator Class Reference

Epetra_Operator: A pure virtual class for using real-valued double-precision operators. More...

#include <Epetra_Operator.h>

Inheritance diagram for Epetra_Operator:

[legend]
List of all members.

Public Member Functions

Destructor.
virtual ~Epetra_Operator ()
 Destructor.
Atribute set methods.
virtual int SetUseTranspose (bool UseTranspose)=0
 If set true, transpose of this operator will be applied.
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.
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.
virtual double NormInf () const =0
 Returns the infinity norm of the global matrix.
Atribute 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_CommComm () const =0
 Returns a pointer to the Epetra_Comm communicator associated with this operator.
virtual const Epetra_MapOperatorDomainMap () const =0
 Returns the Epetra_Map object associated with the domain of this operator.
virtual const Epetra_MapOperatorRangeMap () const =0
 Returns the Epetra_Map object associated with the range of this operator.

Detailed Description

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.


Member Function Documentation

virtual int Epetra_Operator::Apply const Epetra_MultiVector X,
Epetra_MultiVector Y
const [pure virtual]
 

Returns the result of a Epetra_Operator applied to a Epetra_MultiVector X in Y.

Parameters:
In X - A Epetra_MultiVector of dimension NumVectors to multiply with matrix.
Out Y -A Epetra_MultiVector of dimension NumVectors containing result.
Returns:
Integer error code, set to 0 if successful.

Implemented in Epetra_CrsMatrix, Epetra_FastCrsOperator, Epetra_JadOperator, Epetra_VbrMatrix, and Epetra_MsrMatrix.

virtual int Epetra_Operator::ApplyInverse const Epetra_MultiVector X,
Epetra_MultiVector Y
const [pure virtual]
 

Returns the result of a Epetra_Operator inverse applied to an Epetra_MultiVector X in Y.

Parameters:
In X - A Epetra_MultiVector of dimension NumVectors to solve for.
Out Y -A Epetra_MultiVector of dimension NumVectors containing result.
Returns:
Integer error code, set to 0 if successful.
Warning:
In order to work with AztecOO, any implementation of this method must support the case where X and Y are the same object.

Implemented in Epetra_CrsMatrix, Epetra_FastCrsOperator, Epetra_JadOperator, Epetra_VbrMatrix, and Epetra_MsrMatrix.

virtual int Epetra_Operator::SetUseTranspose bool  UseTranspose  )  [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.

Parameters:
In UseTranspose -If true, multiply by the transpose of operator, otherwise just use operator.
Returns:
Integer error code, set to 0 if successful. Set to -1 if this implementation does not support transpose.

Implemented in Epetra_CrsMatrix, Epetra_FastCrsOperator, Epetra_JadOperator, Epetra_VbrMatrix, and Epetra_MsrMatrix.


The documentation for this class was generated from the following file:
Generated on Thu Sep 18 12:40:18 2008 for Epetra by doxygen 1.3.9.1