NOX Development
Public Member Functions | Protected Attributes | List of all members
LOCA::Epetra::LeftPreconditionedOp Class Reference

An Epetra operator for implementing the operator $P = M^{-1}J$. More...

#include <LOCA_Epetra_LeftPreconditionedOp.H>

Inheritance diagram for LOCA::Epetra::LeftPreconditionedOp:
Inheritance graph
[legend]
Collaboration diagram for LOCA::Epetra::LeftPreconditionedOp:
Collaboration graph
[legend]

Public Member Functions

 LeftPreconditionedOp (const Teuchos::RCP< Epetra_Operator > &jacOperator, const Teuchos::RCP< Epetra_Operator > &precOperator)
 Constructor. More...
 
virtual ~LeftPreconditionedOp ()
 Destructor.
 
virtual int SetUseTranspose (bool UseTranspose)
 Set to true if the transpose of the operator is requested. More...
 
virtual int Apply (const Epetra_MultiVector &Input, Epetra_MultiVector &Result) const
 Returns the result of a Epetra_Operator applied to a Epetra_MultiVector Input in Result as described above. More...
 
virtual int ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
 Returns the result of the inverse of the operator applied to a Epetra_MultiVector Input in Result as described above. More...
 
virtual double NormInf () const
 Returns an approximate infinity norm of the operator matrix. More...
 
virtual const char * Label () const
 Returns a character std::string describing the operator. More...
 
virtual bool UseTranspose () const
 Returns the current UseTranspose setting. More...
 
virtual bool HasNormInf () const
 Returns true if the this object can provide an approximate Inf-norm, false otherwise. More...
 
virtual const Epetra_CommComm () const
 Returns a reference to the Epetra_Comm communicator associated with this operator. More...
 
virtual const Epetra_MapOperatorDomainMap () const
 Returns the Epetra_Map object associated with the domain of this matrix operator. More...
 
virtual const Epetra_MapOperatorRangeMap () const
 Returns the Epetra_Map object associated with the range of this matrix operator. More...
 
virtual int SetUseTranspose (bool UseTranspose)=0
 
virtual int Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0
 
virtual int ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0
 
virtual double NormInf () const=0
 
virtual const char * Label () const=0
 
virtual bool UseTranspose () const=0
 
virtual bool HasNormInf () const=0
 
virtual const Epetra_CommComm () const=0
 
virtual const Epetra_MapOperatorDomainMap () const=0
 
virtual const Epetra_MapOperatorRangeMap () const=0
 
virtual int SetUseTranspose (bool UseTranspose)=0
 
virtual int Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0
 
virtual int ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const=0
 
virtual double NormInf () const=0
 
virtual const char * Label () const=0
 
virtual bool UseTranspose () const=0
 
virtual bool HasNormInf () const=0
 
virtual const Epetra_CommComm () const=0
 
virtual const Epetra_MapOperatorDomainMap () const=0
 
virtual const Epetra_MapOperatorRangeMap () const=0
 

Protected Attributes

std::string label
 Label for operator.
 
Teuchos::RCP< Epetra_OperatorJ
 Stores operator representing J.
 
Teuchos::RCP< Epetra_OperatorM
 Stores operator representing M.
 
bool useTranspose
 Flag indicating whether to use the transpose.
 

Detailed Description

An Epetra operator for implementing the operator $P = M^{-1}J$.

This class implements the Epetra_Operator interface for $P = M^{-1}J$ where $J$ and $M$ are Epetra_Operator's.

Constructor & Destructor Documentation

◆ LeftPreconditionedOp()

LOCA::Epetra::LeftPreconditionedOp::LeftPreconditionedOp ( const Teuchos::RCP< Epetra_Operator > &  jacOperator,
const Teuchos::RCP< Epetra_Operator > &  precOperator 
)

Constructor.

Parameters
jacOperator[in] Jacobian operator J
precOperator[in] Preconditioner operator M

Member Function Documentation

◆ Apply()

int LOCA::Epetra::LeftPreconditionedOp::Apply ( const Epetra_MultiVector Input,
Epetra_MultiVector Result 
) const
virtual

Returns the result of a Epetra_Operator applied to a Epetra_MultiVector Input in Result as described above.

Implements Epetra_Operator.

◆ ApplyInverse()

int LOCA::Epetra::LeftPreconditionedOp::ApplyInverse ( const Epetra_MultiVector X,
Epetra_MultiVector Y 
) const
virtual

Returns the result of the inverse of the operator applied to a Epetra_MultiVector Input in Result as described above.

Implements Epetra_Operator.

◆ Comm()

const Epetra_Comm & LOCA::Epetra::LeftPreconditionedOp::Comm ( ) const
virtual

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

Implements Epetra_Operator.

◆ HasNormInf()

bool LOCA::Epetra::LeftPreconditionedOp::HasNormInf ( ) const
virtual

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

Implements Epetra_Operator.

◆ Label()

const char * LOCA::Epetra::LeftPreconditionedOp::Label ( ) const
virtual

Returns a character std::string describing the operator.

Implements Epetra_Operator.

◆ NormInf()

double LOCA::Epetra::LeftPreconditionedOp::NormInf ( ) const
virtual

Returns an approximate infinity norm of the operator matrix.

This is defined only if NormInf() of the underlying operators $J$ and $M$ is defined and is given by $\|J\|_\infty+\|M\|_\infty$.

Implements Epetra_Operator.

◆ OperatorDomainMap()

const Epetra_Map & LOCA::Epetra::LeftPreconditionedOp::OperatorDomainMap ( ) const
virtual

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

Implements Epetra_Operator.

◆ OperatorRangeMap()

const Epetra_Map & LOCA::Epetra::LeftPreconditionedOp::OperatorRangeMap ( ) const
virtual

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

Implements Epetra_Operator.

◆ SetUseTranspose()

int LOCA::Epetra::LeftPreconditionedOp::SetUseTranspose ( bool  UseTranspose)
virtual

Set to true if the transpose of the operator is requested.

Implements Epetra_Operator.

◆ UseTranspose()

bool LOCA::Epetra::LeftPreconditionedOp::UseTranspose ( ) const
virtual

Returns the current UseTranspose setting.

Implements Epetra_Operator.


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