NOX Development
Loading...
Searching...
No Matches
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:
Collaboration diagram for LOCA::Epetra::LeftPreconditionedOp:

Public Member Functions

 LeftPreconditionedOp (const Teuchos::RCP< Epetra_Operator > &jacOperator, const Teuchos::RCP< Epetra_Operator > &precOperator)
 Constructor.
virtual ~LeftPreconditionedOp ()
 Destructor.
virtual int SetUseTranspose (bool UseTranspose)
 Set to true if the transpose of the operator is requested.
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.
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.
virtual double NormInf () const
 Returns an approximate infinity norm of the operator matrix.
virtual const char * Label () const
 Returns a character std::string describing the operator.
virtual bool UseTranspose () const
 Returns the current UseTranspose setting.
virtual bool HasNormInf () const
 Returns true if the this object can provide an approximate Inf-norm, false otherwise.
virtual const Epetra_CommComm () const
 Returns a reference to the Epetra_Comm communicator associated with this operator.
virtual const Epetra_MapOperatorDomainMap () const
 Returns the Epetra_Map object associated with the domain of this matrix operator.
virtual const Epetra_MapOperatorRangeMap () const
 Returns the Epetra_Map object associated with the range of this matrix operator.

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

References J, label, M, and useTranspose.

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.

References J, M, and useTranspose.

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

References J, M, and useTranspose.

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

References J.

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

References J, and M.

◆ Label()

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

Returns a character std::string describing the operator.

Implements Epetra_Operator.

References label.

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

References J, and M.

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

References J.

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

References M.

◆ SetUseTranspose()

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

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

Implements Epetra_Operator.

References J, M, UseTranspose(), and useTranspose.

◆ UseTranspose()

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

Returns the current UseTranspose setting.

Implements Epetra_Operator.

References useTranspose.

Referenced by SetUseTranspose().


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