LOCA::Epetra::TransposeLinearSystem::AbstractStrategy Class Reference

A pure virtual interface for solving the transpose of a linear system. More...

#include <LOCA_Epetra_TransposeLinearSystem_AbstractStrategy.H>

Inheritance diagram for LOCA::Epetra::TransposeLinearSystem::AbstractStrategy:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 AbstractStrategy ()
 Constructor.
virtual ~AbstractStrategy ()
 Destructor.
virtual bool applyJacobianTransposeInverse (Teuchos::ParameterList &params, 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.


Detailed Description

A pure virtual interface for solving the transpose of a linear system.

Definition at line 66 of file LOCA_Epetra_TransposeLinearSystem_AbstractStrategy.H.


Constructor & Destructor Documentation

LOCA::Epetra::TransposeLinearSystem::AbstractStrategy::AbstractStrategy (  )  [inline]

Constructor.

Definition at line 71 of file LOCA_Epetra_TransposeLinearSystem_AbstractStrategy.H.

virtual LOCA::Epetra::TransposeLinearSystem::AbstractStrategy::~AbstractStrategy (  )  [inline, virtual]

Destructor.

Definition at line 74 of file LOCA_Epetra_TransposeLinearSystem_AbstractStrategy.H.


Member Function Documentation

virtual bool LOCA::Epetra::TransposeLinearSystem::AbstractStrategy::applyJacobianTransposeInverse ( Teuchos::ParameterList &  params,
const NOX::Epetra::Vector input,
NOX::Epetra::Vector result 
) [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, \]

where $J$ is the Jacobian, $u$ is the input vector, and $v$ is the result vector.

The parameter list contains the linear solver options.

Implemented in LOCA::Epetra::TransposeLinearSystem::ExplicitTranspose, LOCA::Epetra::TransposeLinearSystem::LeftPreconditioning, and LOCA::Epetra::TransposeLinearSystem::TransposePreconditioner.

virtual bool LOCA::Epetra::TransposeLinearSystem::AbstractStrategy::createJacobianTranspose (  )  [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.

virtual bool LOCA::Epetra::TransposeLinearSystem::AbstractStrategy::createTransposePreconditioner ( const NOX::Epetra::Vector x,
Teuchos::ParameterList &  p 
) [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.

virtual Teuchos::RCP<Epetra_Operator> LOCA::Epetra::TransposeLinearSystem::AbstractStrategy::getJacobianTransposeOperator (  )  [pure virtual]

virtual Teuchos::RCP<Epetra_Operator> LOCA::Epetra::TransposeLinearSystem::AbstractStrategy::getTransposePreconditioner (  )  [pure virtual]

virtual void LOCA::Epetra::TransposeLinearSystem::AbstractStrategy::setJacobianTransposeOperator ( const Teuchos::RCP< Epetra_Operator > &  new_jac_trans  )  [pure virtual]

virtual void LOCA::Epetra::TransposeLinearSystem::AbstractStrategy::setTransposePreconditioner ( const Teuchos::RCP< Epetra_Operator > &  new_prec_trans  )  [pure virtual]


The documentation for this class was generated from the following file:

Generated on Wed Oct 21 14:28:31 2009 for Nonlinear Solver Project by  doxygen 1.5.9