|
NOX Development
|
A pure virtual interface for solving the transpose of a linear system. More...
#include <LOCA_Epetra_TransposeLinearSystem_AbstractStrategy.H>

Public Member Functions | |
| AbstractStrategy () | |
| Constructor. | |
| virtual | ~AbstractStrategy () |
| Destructor. | |
| virtual bool | applyJacobianTransposeInverse (Teuchos::ParameterList ¶ms, const NOX::Epetra::Vector &input, NOX::Epetra::Vector &result)=0 |
| Applies the inverse of the Jacobian matrix transpose to the given input vector and puts the answer in result. | |
| virtual bool | createJacobianTranspose ()=0 |
| Evaluates the Jacobian-transpose based on the solution vector x. | |
| virtual bool | createTransposePreconditioner (const NOX::Epetra::Vector &x, Teuchos::ParameterList &p)=0 |
| Explicitly constructs a preconditioner based on the solution vector x and the parameter list p. | |
| virtual Teuchos::RCP< Epetra_Operator > | getJacobianTransposeOperator ()=0 |
| Get Jacobian-transpose operator. | |
| virtual Teuchos::RCP< Epetra_Operator > | getTransposePreconditioner ()=0 |
| Get transpose-preconditioner. | |
| virtual void | setJacobianTransposeOperator (const Teuchos::RCP< Epetra_Operator > &new_jac_trans)=0 |
| Set Jacobian-transpose operator. | |
| virtual void | setTransposePreconditioner (const Teuchos::RCP< Epetra_Operator > &new_prec_trans)=0 |
| Set transpose-preconditioner. | |
A pure virtual interface for solving the transpose of a linear system.
|
pure virtual |
Applies the inverse of the Jacobian matrix transpose to the given input vector and puts the answer in result.
Computes
![\[ v = J^{-T} u, \]](form_391.png)
where 


The parameter list contains the linear solver options.
Implemented in LOCA::Epetra::TransposeLinearSystem::ExplicitTranspose, LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning, and LOCA::Epetra::TransposeLinearSystem::TransposePreconditioner.
|
pure virtual |
Evaluates the Jacobian-transpose based on the solution vector x.
Note: For flexibility, this method does not compute the original Jacobian matrix. It uses whatever is currently stored in the linear system.
Implemented in LOCA::Epetra::TransposeLinearSystem::ExplicitTranspose, LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning, and LOCA::Epetra::TransposeLinearSystem::TransposePreconditioner.
|
pure virtual |
Explicitly constructs a preconditioner based on the solution vector x and the parameter list p.
Note: x is only needed for user-supplied preconditioners. When using a built-in preconditioner (e.g., Ifpack), x will note be used.
Implemented in LOCA::Epetra::TransposeLinearSystem::ExplicitTranspose, LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning, and LOCA::Epetra::TransposeLinearSystem::TransposePreconditioner.
|
pure virtual |
Get Jacobian-transpose operator.
Implemented in LOCA::Epetra::TransposeLinearSystem::ExplicitTranspose, LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning, and LOCA::Epetra::TransposeLinearSystem::TransposePreconditioner.
|
pure virtual |
Get transpose-preconditioner.
Implemented in LOCA::Epetra::TransposeLinearSystem::ExplicitTranspose, LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning, and LOCA::Epetra::TransposeLinearSystem::TransposePreconditioner.
|
pure virtual |
Set Jacobian-transpose operator.
Implemented in LOCA::Epetra::TransposeLinearSystem::ExplicitTranspose, LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning, and LOCA::Epetra::TransposeLinearSystem::TransposePreconditioner.
|
pure virtual |
Set transpose-preconditioner.
Implemented in LOCA::Epetra::TransposeLinearSystem::ExplicitTranspose, LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning, and LOCA::Epetra::TransposeLinearSystem::TransposePreconditioner.