NOX Development
LOCA::Epetra::TransposeLinearSystem::TransposePreconditioner Class Reference

Method for solving the transpose of a linear system by using the transpose of the preconditioner. More...

`#include <LOCA_Epetra_TransposeLinearSystem_TransposePreconditioner.H>`

Inheritance diagram for LOCA::Epetra::TransposeLinearSystem::TransposePreconditioner:
[legend]
Collaboration diagram for LOCA::Epetra::TransposeLinearSystem::TransposePreconditioner:
[legend]

List of all members.

## Public Member Functions

TransposePreconditioner (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< Teuchos::ParameterList > &solverParams, const Teuchos::RCP< NOX::Epetra::LinearSystem > &linsys)
Constructor.
virtual ~TransposePreconditioner ()
Destructor.
virtual bool applyJacobianTransposeInverse (Teuchos::ParameterList &params, const NOX::Epetra::Vector &input, NOX::Epetra::Vector &result)
Applies the inverse of the Jacobian matrix transpose to the given input vector and puts the answer in result.
virtual bool createJacobianTranspose ()
Evaluates the Jacobian-transpose based on the solution vector x.
virtual bool createTransposePreconditioner (const NOX::Epetra::Vector &x, Teuchos::ParameterList &p)
Explicitly constructs a preconditioner based on the solution vector x and the parameter list p.
virtual Teuchos::RCP
< Epetra_Operator
getJacobianTransposeOperator ()
Get Jacobian-transpose operator.
virtual Teuchos::RCP
< Epetra_Operator
getTransposePreconditioner ()
Get transpose-preconditioner.
virtual void setJacobianTransposeOperator (const Teuchos::RCP< Epetra_Operator > &new_jac_trans)
Set Jacobian-transpose operator.
virtual void setTransposePreconditioner (const Teuchos::RCP< Epetra_Operator > &new_prec_trans)
Set transpose-preconditioner.

## Protected Attributes

Teuchos::RCP< LOCA::GlobalDataglobalData
Global data object.
Teuchos::RCP
< NOX::Epetra::LinearSystem
linsys
Linear system solver.
Teuchos::RCP< Epetra_Operatorjac
Jacobian operator.
Teuchos::RCP< Epetra_Operatorprec
Preconditioner.
Teuchos::RCP
< NOX::Epetra::Scaling
scaling_trans
Scaling object for transpose solve.

## Detailed Description

Method for solving the transpose of a linear system by using the transpose of the preconditioner.

## Member Function Documentation

 bool LOCA::Epetra::TransposeLinearSystem::TransposePreconditioner::applyJacobianTransposeInverse ( Teuchos::ParameterList & params, const NOX::Epetra::Vector & input, NOX::Epetra::Vector & result ) ` [virtual]`

Applies the inverse of the Jacobian matrix transpose to the given input vector and puts the answer in result.

Computes

where is the Jacobian, is the input vector, and is the result vector.

The parameter list contains the linear solver options.

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

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

The documentation for this class was generated from the following files:
• LOCA_Epetra_TransposeLinearSystem_TransposePreconditioner.H
• LOCA_Epetra_TransposeLinearSystem_TransposePreconditioner.C