LOCA::Epetra::LeftPreconditionedOp Class Reference

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

#include <LOCA_Epetra_LeftPreconditionedOp.H>

Collaboration diagram for LOCA::Epetra::LeftPreconditionedOp:

Collaboration graph
[legend]

List of all members.

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 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_Comm & Comm () const
 Returns a reference to the Epetra_Comm communicator associated with this operator.
virtual const Epetra_Map & OperatorDomainMap () const
 Returns the Epetra_Map object associated with the domain of this matrix operator.
virtual const Epetra_Map & OperatorRangeMap () const
 Returns the Epetra_Map object associated with the range of this matrix operator.

Protected Attributes

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

Private Member Functions

 LeftPreconditionedOp (const LeftPreconditionedOp &)
 Private to prohibit copying.
LeftPreconditionedOpoperator= (const LeftPreconditionedOp &)
 Private to prohibit copying.


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.

Definition at line 62 of file LOCA_Epetra_LeftPreconditionedOp.H.


Constructor & Destructor Documentation

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

Definition at line 46 of file LOCA_Epetra_LeftPreconditionedOp.C.

LOCA::Epetra::LeftPreconditionedOp::~LeftPreconditionedOp (  )  [virtual]

Destructor.

Definition at line 56 of file LOCA_Epetra_LeftPreconditionedOp.C.

LOCA::Epetra::LeftPreconditionedOp::LeftPreconditionedOp ( const LeftPreconditionedOp  )  [private]

Private to prohibit copying.


Member Function Documentation

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

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

Definition at line 61 of file LOCA_Epetra_LeftPreconditionedOp.C.

References J, M, and useTranspose.

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.

Definition at line 71 of file LOCA_Epetra_LeftPreconditionedOp.C.

References J, M, and useTranspose.

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.

Definition at line 101 of file LOCA_Epetra_LeftPreconditionedOp.C.

References J, M, and useTranspose.

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

Definition at line 132 of file LOCA_Epetra_LeftPreconditionedOp.C.

References J, and M.

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

Returns a character string describing the operator.

Definition at line 139 of file LOCA_Epetra_LeftPreconditionedOp.C.

References label.

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

Returns the current UseTranspose setting.

Definition at line 145 of file LOCA_Epetra_LeftPreconditionedOp.C.

References useTranspose.

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

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

Definition at line 151 of file LOCA_Epetra_LeftPreconditionedOp.C.

References J, and M.

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

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

Definition at line 157 of file LOCA_Epetra_LeftPreconditionedOp.C.

References J.

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

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

Definition at line 162 of file LOCA_Epetra_LeftPreconditionedOp.C.

References J.

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

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

Definition at line 168 of file LOCA_Epetra_LeftPreconditionedOp.C.

References M.

LeftPreconditionedOp& LOCA::Epetra::LeftPreconditionedOp::operator= ( const LeftPreconditionedOp  )  [private]

Private to prohibit copying.


Member Data Documentation

Label for operator.

Definition at line 144 of file LOCA_Epetra_LeftPreconditionedOp.H.

Referenced by Label().

Teuchos::RCP<Epetra_Operator> LOCA::Epetra::LeftPreconditionedOp::J [protected]

Stores operator representing J.

Definition at line 147 of file LOCA_Epetra_LeftPreconditionedOp.H.

Referenced by Apply(), ApplyInverse(), Comm(), HasNormInf(), NormInf(), OperatorDomainMap(), and SetUseTranspose().

Teuchos::RCP<Epetra_Operator> LOCA::Epetra::LeftPreconditionedOp::M [protected]

Stores operator representing M.

Definition at line 150 of file LOCA_Epetra_LeftPreconditionedOp.H.

Referenced by Apply(), ApplyInverse(), HasNormInf(), NormInf(), OperatorRangeMap(), and SetUseTranspose().

Flag indicating whether to use the transpose.

Definition at line 153 of file LOCA_Epetra_LeftPreconditionedOp.H.

Referenced by Apply(), ApplyInverse(), SetUseTranspose(), and UseTranspose().


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

Generated on Thu Dec 17 11:02:48 2009 for Nonlinear Solver Project by  doxygen 1.5.9