LOCA::Epetra::LowRankUpdateOp Class Reference

An Epetra operator for implementing the operator $P = J + U V^T$. More...

#include <LOCA_Epetra_LowRankUpdateOp.H>

Inheritance diagram for LOCA::Epetra::LowRankUpdateOp:

Collaboration diagram for LOCA::Epetra::LowRankUpdateOp:
List of all members.

Public Member Functions

 LowRankUpdateOp (const Teuchos::RefCountPtr< LOCA::GlobalData > &global_data, const Teuchos::RefCountPtr< Epetra_Operator > &jacOperator, const Teuchos::RefCountPtr< const Epetra_MultiVector > &U_multiVec, const Teuchos::RefCountPtr< const Epetra_MultiVector > &V_multiVec)
virtual ~LowRankUpdateOp ()
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
 This method does nothing.
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. Always returns false.
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

Teuchos::RefCountPtr< LOCA::GlobalDataglobalData
 Global data object.
string label
 Label for operator.
Epetra_LocalMap localMap
 Local map for generating temporary matrices.
Teuchos::RefCountPtr< Epetra_OperatorJ
 Stores operator representing J.
Teuchos::RefCountPtr< const
 Stores multivector representing U.
Teuchos::RefCountPtr< const
 Stores multivector representing V.
bool useTranspose
 Flag indicating whether to use the transpose.
Teuchos::RefCountPtr< Epetra_MultiVectortmpMat
 Temporary matrix.

Detailed Description

An Epetra operator for implementing the operator $P = J + U V^T$.

This class implements the Epetra_Operator interface for $P = J + U V^T$ where $J$ is an Epetra_Operator and $U$ and $V$ are Epetra_MultiVectors.

Constructor & Destructor Documentation

LOCA::Epetra::LowRankUpdateOp::LowRankUpdateOp const Teuchos::RefCountPtr< LOCA::GlobalData > &  global_data,
const Teuchos::RefCountPtr< Epetra_Operator > &  jacOperator,
const Teuchos::RefCountPtr< const Epetra_MultiVector > &  U_multiVec,
const Teuchos::RefCountPtr< const Epetra_MultiVector > &  V_multiVec


global_data [in] The global data object
jacOperator [in] Jacobian operator J
U_multiVec [in] Multivector representing U
V_multiVec [in] Multivector representing V

Member Function Documentation

double LOCA::Epetra::LowRankUpdateOp::NormInf  )  const [virtual]

Returns an approximate infinity norm of the operator matrix.

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

Implements Epetra_Operator.

Reimplemented in LOCA::Epetra::LowRankUpdateRowMatrix.

The documentation for this class was generated from the following files:
Generated on Thu Sep 18 12:38:31 2008 for NOX by doxygen