NOX
Development
|
An Epetra operator for solving extended sets of equations using Householder transformations. More...
#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. More... | |
virtual | ~CompactWYOp () |
Destructor. | |
virtual int | SetUseTranspose (bool UseTranspose) |
The operator currently does not support a transpose. More... | |
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. | |
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. | |
std::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. | |
An Epetra operator for solving extended sets of equations using Householder transformations.
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.
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. |
References View.
|
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.
|
virtual |
The operator currently does not support a transpose.
Setting this to true throws an error.
Implements Epetra_Operator.