#include <LOCA_Epetra_CompactWYOp.H>

Public Member Functions | |
| CompactWYOp (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< const Epetra_Operator > &jacOperator, const Teuchos::RCP< const Epetra_MultiVector > &A_multiVec, const Teuchos::RCP< const Epetra_MultiVector > &Y_x_multiVec, const Teuchos::RCP< const NOX::Abstract::MultiVector::DenseMatrix > &Y_p_matrix, const Teuchos::RCP< const NOX::Abstract::MultiVector::DenseMatrix > &T_matrix) | |
| Constructor. | |
| virtual | ~CompactWYOp () |
| Destructor. | |
| virtual int | SetUseTranspose (bool UseTranspose) |
| The operator currently does not support a transpose. | |
| 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. | |
| void | init (const Epetra_MultiVector &x) |
| Initialize operator. Call this before starting a linear solve. The Epetra_MultiVector argument x must be of the same size and distribution as arguments to Apply(). | |
| void | finish () |
| Finish up solve. Call this after a linear solve is finished to inform the operator that the solve is completed. | |
| void | applyCompactWY (const Epetra_MultiVector &x, Epetra_MultiVector &result_x, Epetra_MultiVector &result_p) const |
| Applies the operator Q with a zero parameter component on input. | |
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< const Epetra_Operator > | J |
| Stores operator representing J. | |
| Teuchos::RCP< const Epetra_MultiVector > | A |
| Stores multivector representing A. | |
| Teuchos::RCP< const Epetra_MultiVector > | Y_x |
| Stores multivector representing solution component of Y. | |
| Epetra_MultiVector | Y_p |
| Stores multivector representing parameter component of Y. | |
| Epetra_MultiVector | T |
| Stores multivector representing T. | |
| Epetra_MultiVector * | tmpMat1 |
| Temporary matrix. | |
| Epetra_MultiVector * | tmpMV |
| Temporary multivec. | |
| Teuchos::BLAS< int, double > | dblas |
| BLAS wrappers, used for triangular matrix-matrix products. | |
Private Member Functions | |
| CompactWYOp (const CompactWYOp &) | |
| Private to prohibit copying. | |
| CompactWYOp & | operator= (const CompactWYOp &) |
| Private to prohibit copying. | |
This class implements the
operator as described in the LOCA::BorderedSolver::EpetraHouseholder documentation for solving an extended set of equations. It uses the
factor from a QR factorization using the compact WY representation.
Definition at line 73 of file LOCA_Epetra_CompactWYOp.H.
| LOCA::Epetra::CompactWYOp::CompactWYOp | ( | const Teuchos::RCP< LOCA::GlobalData > & | global_data, | |
| const Teuchos::RCP< const Epetra_Operator > & | jacOperator, | |||
| const Teuchos::RCP< const Epetra_MultiVector > & | A_multiVec, | |||
| const Teuchos::RCP< const Epetra_MultiVector > & | Y_x_multiVec, | |||
| const Teuchos::RCP< const NOX::Abstract::MultiVector::DenseMatrix > & | Y_p_matrix, | |||
| const Teuchos::RCP< const NOX::Abstract::MultiVector::DenseMatrix > & | T_matrix | |||
| ) |
Constructor.
| global_data | [in] The global data object | |
| jacOperator | [in] Jacobian operator J | |
| A_multiVec | [in] Multivector representing A | |
| Y_x_multiVec | [in] Multivector representing the solution component of the Y matrix in the compact WY representation | |
| Y_p_matrix | [in] Matrix representing the parameter component of the Y matrix in the compact WY representation | |
| T_matrix | [in] Matrix representing the T matrix in the compact WY representation. |
Definition at line 50 of file LOCA_Epetra_CompactWYOp.C.
| LOCA::Epetra::CompactWYOp::~CompactWYOp | ( | ) | [virtual] |
| LOCA::Epetra::CompactWYOp::CompactWYOp | ( | const CompactWYOp & | ) | [private] |
Private to prohibit copying.
| int LOCA::Epetra::CompactWYOp::SetUseTranspose | ( | bool | UseTranspose | ) | [virtual] |
The operator currently does not support a transpose.
Setting this to true throws an error.
Definition at line 82 of file LOCA_Epetra_CompactWYOp.C.
References globalData.
| int LOCA::Epetra::CompactWYOp::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 95 of file LOCA_Epetra_CompactWYOp.C.
References A, applyCompactWY(), globalData, J, tmpMat1, and tmpMV.
| int LOCA::Epetra::CompactWYOp::ApplyInverse | ( | const Epetra_MultiVector & | X, | |
| Epetra_MultiVector & | Y | |||
| ) | const [virtual] |
This method does nothing.
Definition at line 119 of file LOCA_Epetra_CompactWYOp.C.
References globalData.
| double LOCA::Epetra::CompactWYOp::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
.
Definition at line 129 of file LOCA_Epetra_CompactWYOp.C.
| const char * LOCA::Epetra::CompactWYOp::Label | ( | ) | const [virtual] |
Returns a character string describing the operator.
Definition at line 145 of file LOCA_Epetra_CompactWYOp.C.
References label.
| bool LOCA::Epetra::CompactWYOp::UseTranspose | ( | ) | const [virtual] |
Returns the current UseTranspose setting. Always returns false.
Definition at line 151 of file LOCA_Epetra_CompactWYOp.C.
| bool LOCA::Epetra::CompactWYOp::HasNormInf | ( | ) | const [virtual] |
Returns true if the this object can provide an approximate Inf-norm, false otherwise.
Definition at line 157 of file LOCA_Epetra_CompactWYOp.C.
References J.
| const Epetra_Comm & LOCA::Epetra::CompactWYOp::Comm | ( | ) | const [virtual] |
Returns a reference to the Epetra_Comm communicator associated with this operator.
Definition at line 163 of file LOCA_Epetra_CompactWYOp.C.
References J.
| const Epetra_Map & LOCA::Epetra::CompactWYOp::OperatorDomainMap | ( | ) | const [virtual] |
Returns the Epetra_Map object associated with the domain of this matrix operator.
Definition at line 168 of file LOCA_Epetra_CompactWYOp.C.
References J.
| const Epetra_Map & LOCA::Epetra::CompactWYOp::OperatorRangeMap | ( | ) | const [virtual] |
Returns the Epetra_Map object associated with the range of this matrix operator.
Definition at line 174 of file LOCA_Epetra_CompactWYOp.C.
References J.
| void LOCA::Epetra::CompactWYOp::init | ( | const Epetra_MultiVector & | x | ) |
| void LOCA::Epetra::CompactWYOp::finish | ( | ) |
Finish up solve. Call this after a linear solve is finished to inform the operator that the solve is completed.
Definition at line 195 of file LOCA_Epetra_CompactWYOp.C.
| void LOCA::Epetra::CompactWYOp::applyCompactWY | ( | const Epetra_MultiVector & | x, | |
| Epetra_MultiVector & | result_x, | |||
| Epetra_MultiVector & | result_p | |||
| ) | const |
| CompactWYOp& LOCA::Epetra::CompactWYOp::operator= | ( | const CompactWYOp & | ) | [private] |
Private to prohibit copying.
Teuchos::RCP<LOCA::GlobalData> LOCA::Epetra::CompactWYOp::globalData [protected] |
Global data object.
Definition at line 189 of file LOCA_Epetra_CompactWYOp.H.
Referenced by Apply(), ApplyInverse(), and SetUseTranspose().
string LOCA::Epetra::CompactWYOp::label [protected] |
Label for operator.
Definition at line 192 of file LOCA_Epetra_CompactWYOp.H.
Referenced by Label().
Epetra_LocalMap LOCA::Epetra::CompactWYOp::localMap [protected] |
Local map for generating temporary matrices.
Definition at line 195 of file LOCA_Epetra_CompactWYOp.H.
Referenced by init().
Teuchos::RCP<const Epetra_Operator> LOCA::Epetra::CompactWYOp::J [protected] |
Stores operator representing J.
Definition at line 198 of file LOCA_Epetra_CompactWYOp.H.
Referenced by Apply(), Comm(), HasNormInf(), NormInf(), OperatorDomainMap(), and OperatorRangeMap().
Teuchos::RCP<const Epetra_MultiVector> LOCA::Epetra::CompactWYOp::A [protected] |
Teuchos::RCP<const Epetra_MultiVector> LOCA::Epetra::CompactWYOp::Y_x [protected] |
Stores multivector representing solution component of Y.
Definition at line 204 of file LOCA_Epetra_CompactWYOp.H.
Referenced by applyCompactWY().
Epetra_MultiVector LOCA::Epetra::CompactWYOp::Y_p [protected] |
Stores multivector representing parameter component of Y.
Definition at line 207 of file LOCA_Epetra_CompactWYOp.H.
Referenced by applyCompactWY().
Epetra_MultiVector LOCA::Epetra::CompactWYOp::T [protected] |
Stores multivector representing T.
Definition at line 210 of file LOCA_Epetra_CompactWYOp.H.
Referenced by applyCompactWY().
Epetra_MultiVector* LOCA::Epetra::CompactWYOp::tmpMat1 [protected] |
Temporary matrix.
Definition at line 213 of file LOCA_Epetra_CompactWYOp.H.
Referenced by Apply(), finish(), init(), and ~CompactWYOp().
Epetra_MultiVector* LOCA::Epetra::CompactWYOp::tmpMV [protected] |
Temporary multivec.
Definition at line 216 of file LOCA_Epetra_CompactWYOp.H.
Referenced by Apply(), finish(), init(), and ~CompactWYOp().
Teuchos::BLAS<int,double> LOCA::Epetra::CompactWYOp::dblas [protected] |
BLAS wrappers, used for triangular matrix-matrix products.
Definition at line 219 of file LOCA_Epetra_CompactWYOp.H.
Referenced by applyCompactWY().
1.5.9