Epetra Package Browser (Single Doxygen Collection)  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members
Epetra_Operator Class Referenceabstract

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

#include <Epetra_Operator.h>

Inheritance diagram for Epetra_Operator:
Inheritance graph
[legend]

Destructor

virtual ~Epetra_Operator ()
 Destructor. More...
 

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. More...
 

Attribute access functions

virtual const char * Label () const =0
 Returns a character string describing the operator. More...
 
virtual bool UseTranspose () const =0
 Returns the current UseTranspose setting. More...
 
virtual bool HasNormInf () const =0
 Returns true if the this object can provide an approximate Inf-norm, false otherwise. More...
 
virtual const Epetra_CommComm () const =0
 Returns a pointer to the Epetra_Comm communicator associated with this operator. More...
 
virtual const Epetra_MapOperatorDomainMap () const =0
 Returns the Epetra_Map object associated with the domain of this operator. More...
 
virtual const Epetra_MapOperatorRangeMap () const =0
 Returns the Epetra_Map object associated with the range of this operator. More...
 

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.

Definition at line 68 of file Epetra_Operator.h.

Constructor & Destructor Documentation

virtual Epetra_Operator::~Epetra_Operator ( )
inlinevirtual

Destructor.

Definition at line 75 of file Epetra_Operator.h.

Member Function Documentation

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
InUseTranspose -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_VbrMatrix, Epetra_BasicRowMatrix, Epetra_FastCrsOperator, and Epetra_InvOperator.

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
InX - A Epetra_MultiVector of dimension NumVectors to multiply with matrix.
OutY -A Epetra_MultiVector of dimension NumVectors containing result.
Returns
Integer error code, set to 0 if successful.

Implemented in Epetra_CrsMatrix, Epetra_VbrMatrix, Epetra_BasicRowMatrix, Epetra_FastCrsOperator, and Epetra_InvOperator.

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
InX - A Epetra_MultiVector of dimension NumVectors to solve for.
OutY -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_VbrMatrix, Epetra_BasicRowMatrix, Epetra_FastCrsOperator, and Epetra_InvOperator.

virtual double Epetra_Operator::NormInf ( ) const
pure virtual

Returns the infinity norm of the global matrix.

Implemented in Epetra_CrsMatrix, Epetra_VbrMatrix, Epetra_BasicRowMatrix, Epetra_RowMatrix, Epetra_InvOperator, and Epetra_FastCrsOperator.

virtual const char* Epetra_Operator::Label ( ) const
pure virtual

Returns a character string describing the operator.

Implemented in Epetra_CrsMatrix, Epetra_VbrMatrix, Epetra_BasicRowMatrix, Epetra_InvOperator, and Epetra_FastCrsOperator.

virtual bool Epetra_Operator::UseTranspose ( ) const
pure virtual

Returns the current UseTranspose setting.

Implemented in Epetra_CrsMatrix, Epetra_VbrMatrix, Epetra_BasicRowMatrix, Epetra_InvOperator, and Epetra_FastCrsOperator.

virtual bool Epetra_Operator::HasNormInf ( ) const
pure virtual

Returns true if the this object can provide an approximate Inf-norm, false otherwise.

Implemented in Epetra_CrsMatrix, Epetra_VbrMatrix, Epetra_BasicRowMatrix, Epetra_InvOperator, and Epetra_FastCrsOperator.

virtual const Epetra_Comm& Epetra_Operator::Comm ( ) const
pure virtual

Returns a pointer to the Epetra_Comm communicator associated with this operator.

Implemented in Epetra_CrsMatrix, Epetra_VbrMatrix, Epetra_BasicRowMatrix, Epetra_InvOperator, and Epetra_FastCrsOperator.

virtual const Epetra_Map& Epetra_Operator::OperatorDomainMap ( ) const
pure virtual

Returns the Epetra_Map object associated with the domain of this operator.

Implemented in Epetra_CrsMatrix, Epetra_VbrMatrix, Epetra_BasicRowMatrix, Epetra_InvOperator, and Epetra_FastCrsOperator.

virtual const Epetra_Map& Epetra_Operator::OperatorRangeMap ( ) const
pure virtual

Returns the Epetra_Map object associated with the range of this operator.

Implemented in Epetra_CrsMatrix, Epetra_VbrMatrix, Epetra_BasicRowMatrix, Epetra_InvOperator, and Epetra_FastCrsOperator.


The documentation for this class was generated from the following file: