.
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. | |
| 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. | |
| 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_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. | |
| 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. | |
Private Member Functions | |
| LowRankUpdateOp (const LowRankUpdateOp &) | |
| Private to prohibit copying. | |
| LowRankUpdateOp & | operator= (const LowRankUpdateOp &) |
| Private to prohibit copying. | |
.
This class implements the Epetra_Operator interface for
where
is an Epetra_Operator and
and
are Epetra_MultiVectors.
Definition at line 71 of file LOCA_Epetra_LowRankUpdateOp.H.
| 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 |
Definition at line 50 of file LOCA_Epetra_LowRankUpdateOp.C.
| LOCA::Epetra::LowRankUpdateOp::~LowRankUpdateOp | ( | ) | [virtual] |
| LOCA::Epetra::LowRankUpdateOp::LowRankUpdateOp | ( | const LowRankUpdateOp & | ) | [private] |
Private to prohibit copying.
| int LOCA::Epetra::LowRankUpdateOp::SetUseTranspose | ( | bool | UseTranspose | ) | [virtual] |
Set to true if the transpose of the operator is requested.
Definition at line 94 of file LOCA_Epetra_LowRankUpdateOp.C.
References J, and useTranspose.
| int LOCA::Epetra::LowRankUpdateOp::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 101 of file LOCA_Epetra_LowRankUpdateOp.C.
| int LOCA::Epetra::LowRankUpdateOp::ApplyInverse | ( | const Epetra_MultiVector & | X, | |
| Epetra_MultiVector & | Y | |||
| ) | const [virtual] |
This method does nothing.
Definition at line 139 of file LOCA_Epetra_LowRankUpdateOp.C.
References globalData, ipiv, J, JinvU, lapack, localMap, lu, tmpMat, U, useTranspose, and V.
| 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
is defined and is given by
.
Reimplemented in LOCA::Epetra::LowRankUpdateRowMatrix.
Definition at line 180 of file LOCA_Epetra_LowRankUpdateOp.C.
| const char * LOCA::Epetra::LowRankUpdateOp::Label | ( | ) | const [virtual] |
Returns a character string describing the operator.
Definition at line 200 of file LOCA_Epetra_LowRankUpdateOp.C.
References label.
| bool LOCA::Epetra::LowRankUpdateOp::UseTranspose | ( | ) | const [virtual] |
Returns the current UseTranspose setting. Always returns false.
Definition at line 206 of file LOCA_Epetra_LowRankUpdateOp.C.
References useTranspose.
| bool LOCA::Epetra::LowRankUpdateOp::HasNormInf | ( | ) | const [virtual] |
Returns true if the this object can provide an approximate Inf-norm, false otherwise.
Definition at line 212 of file LOCA_Epetra_LowRankUpdateOp.C.
References J.
| const Epetra_Comm & LOCA::Epetra::LowRankUpdateOp::Comm | ( | ) | const [virtual] |
Returns a reference to the Epetra_Comm communicator associated with this operator.
Definition at line 218 of file LOCA_Epetra_LowRankUpdateOp.C.
References J.
| const Epetra_Map & LOCA::Epetra::LowRankUpdateOp::OperatorDomainMap | ( | ) | const [virtual] |
Returns the Epetra_Map object associated with the domain of this matrix operator.
Definition at line 223 of file LOCA_Epetra_LowRankUpdateOp.C.
References J.
| const Epetra_Map & LOCA::Epetra::LowRankUpdateOp::OperatorRangeMap | ( | ) | const [virtual] |
Returns the Epetra_Map object associated with the range of this matrix operator.
Definition at line 229 of file LOCA_Epetra_LowRankUpdateOp.C.
References J.
| LowRankUpdateOp& LOCA::Epetra::LowRankUpdateOp::operator= | ( | const LowRankUpdateOp & | ) | [private] |
Private to prohibit copying.
Teuchos::RCP<LOCA::GlobalData> LOCA::Epetra::LowRankUpdateOp::globalData [protected] |
Global data object.
Definition at line 157 of file LOCA_Epetra_LowRankUpdateOp.H.
Referenced by ApplyInverse().
string LOCA::Epetra::LowRankUpdateOp::label [protected] |
Label for operator.
Definition at line 160 of file LOCA_Epetra_LowRankUpdateOp.H.
Referenced by Label().
Epetra_LocalMap LOCA::Epetra::LowRankUpdateOp::localMap [protected] |
Local map for generating temporary matrices.
Definition at line 163 of file LOCA_Epetra_LowRankUpdateOp.H.
Referenced by Apply(), ApplyInverse(), LowRankUpdateOp(), and LOCA::Epetra::LowRankUpdateRowMatrix::Multiply().
Teuchos::RCP<Epetra_Operator> LOCA::Epetra::LowRankUpdateOp::J [protected] |
Stores operator representing J.
Definition at line 166 of file LOCA_Epetra_LowRankUpdateOp.H.
Referenced by Apply(), ApplyInverse(), Comm(), HasNormInf(), LowRankUpdateOp(), NormInf(), OperatorDomainMap(), OperatorRangeMap(), and SetUseTranspose().
Teuchos::RCP<const Epetra_MultiVector> LOCA::Epetra::LowRankUpdateOp::U [protected] |
Stores multivector representing U.
Definition at line 169 of file LOCA_Epetra_LowRankUpdateOp.H.
Referenced by Apply(), ApplyInverse(), LOCA::Epetra::LowRankUpdateRowMatrix::computeUV(), LowRankUpdateOp(), LOCA::Epetra::LowRankUpdateRowMatrix::Multiply(), and NormInf().
Teuchos::RCP<const Epetra_MultiVector> LOCA::Epetra::LowRankUpdateOp::V [protected] |
Stores multivector representing V.
Definition at line 172 of file LOCA_Epetra_LowRankUpdateOp.H.
Referenced by Apply(), ApplyInverse(), LowRankUpdateOp(), LOCA::Epetra::LowRankUpdateRowMatrix::Multiply(), and NormInf().
bool LOCA::Epetra::LowRankUpdateOp::useTranspose [protected] |
Flag indicating whether to use the transpose.
Definition at line 175 of file LOCA_Epetra_LowRankUpdateOp.H.
Referenced by Apply(), ApplyInverse(), SetUseTranspose(), and UseTranspose().
Teuchos::RCP<Epetra_MultiVector> LOCA::Epetra::LowRankUpdateOp::tmpMat [mutable, protected] |
Temporary matrix.
Definition at line 178 of file LOCA_Epetra_LowRankUpdateOp.H.
Referenced by Apply(), ApplyInverse(), and LOCA::Epetra::LowRankUpdateRowMatrix::Multiply().
Teuchos::RCP<Epetra_MultiVector> LOCA::Epetra::LowRankUpdateOp::JinvU [protected] |
Stores J^{-1}*U.
Definition at line 181 of file LOCA_Epetra_LowRankUpdateOp.H.
Referenced by ApplyInverse(), and LowRankUpdateOp().
Teuchos::RCP<Epetra_MultiVector> LOCA::Epetra::LowRankUpdateOp::lu [protected] |
Stores LU factorization of I + V^T*J^{-1}*U.
Definition at line 184 of file LOCA_Epetra_LowRankUpdateOp.H.
Referenced by ApplyInverse(), and LowRankUpdateOp().
std::vector<int> LOCA::Epetra::LowRankUpdateOp::ipiv [protected] |
Stores pivots for LU factorization.
Definition at line 187 of file LOCA_Epetra_LowRankUpdateOp.H.
Referenced by ApplyInverse(), and LowRankUpdateOp().
Teuchos::LAPACK<int,double> LOCA::Epetra::LowRankUpdateOp::lapack [protected] |
Lapack wrappers.
Definition at line 190 of file LOCA_Epetra_LowRankUpdateOp.H.
Referenced by ApplyInverse(), and LowRankUpdateOp().
1.5.9