|
NOX
Development
|
An Epetra operator for implementing the operator
.
More...
#include <LOCA_Epetra_LowRankUpdateOp.H>


Public Member Functions | |
| LowRankUpdateOp (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< Epetra_Operator > &jacOperator, const Teuchos::RCP< const Epetra_MultiVector > &U_multiVec, const Teuchos::RCP< const Epetra_MultiVector > &V_multiVec, bool setup_for_solve) | |
| Constructor. More... | |
| virtual | ~LowRankUpdateOp () |
| 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 |
| This method does nothing. | |
| 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. | |
| 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_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 | |
| Teuchos::RCP< LOCA::GlobalData > | globalData |
| Global data object. | |
| std::string | label |
| Label for operator. | |
| Epetra_LocalMap | localMap |
| Local map for generating temporary matrices. | |
| Teuchos::RCP< Epetra_Operator > | J |
| Stores operator representing J. | |
|
Teuchos::RCP< const Epetra_MultiVector > | U |
| Stores multivector representing U. | |
|
Teuchos::RCP< const Epetra_MultiVector > | V |
| Stores multivector representing V. | |
| bool | useTranspose |
| Flag indicating whether to use the transpose. | |
| Teuchos::RCP< Epetra_MultiVector > | tmpMat |
| Temporary matrix. | |
| Teuchos::RCP< Epetra_MultiVector > | JinvU |
| Stores J^{-1}*U. | |
| Teuchos::RCP< Epetra_MultiVector > | lu |
| Stores LU factorization of I + V^T*J^{-1}*U. | |
| std::vector< int > | ipiv |
| Stores pivots for LU factorization. | |
| Teuchos::LAPACK< int, double > | lapack |
| Lapack wrappers. | |
An Epetra operator for implementing the operator
.
This class implements the Epetra_Operator interface for
where
is an Epetra_Operator and
and
are Epetra_MultiVectors.
| LOCA::Epetra::LowRankUpdateOp::LowRankUpdateOp | ( | const Teuchos::RCP< LOCA::GlobalData > & | global_data, |
| const Teuchos::RCP< Epetra_Operator > & | jacOperator, | ||
| const Teuchos::RCP< const Epetra_MultiVector > & | U_multiVec, | ||
| const Teuchos::RCP< const Epetra_MultiVector > & | V_multiVec, | ||
| bool | setup_for_solve | ||
| ) |
Constructor.
| global_data | [in] The global data object |
| jacOperator | [in] Jacobian operator J |
| U_multiVec | [in] Multivector representing U |
| V_multiVec | [in] Multivector representing V |
References Epetra_Operator::ApplyInverse(), Teuchos::LAPACK< OrdinalType, ScalarType >::GETRF(), ipiv, J, JinvU, lapack, localMap, lu, Teuchos::rcp(), U, and V.
|
virtual |
Returns an approximate infinity norm of the operator matrix.
This is defined only if NormInf() of the underlying operator
is defined and is given by
.
Implements Epetra_Operator.
Reimplemented in LOCA::Epetra::LowRankUpdateRowMatrix.
1.8.5