LOCA::Epetra::TransposeLinearSystem::ExplicitTranspose Class Reference

Method for solving the transpose of a linear system by explicitly forming the transpose of the matrix. More...

#include <LOCA_Epetra_TransposeLinearSystem_ExplicitTranspose.H>

Inheritance diagram for LOCA::Epetra::TransposeLinearSystem::ExplicitTranspose:

Inheritance graph
[legend]
Collaboration diagram for LOCA::Epetra::TransposeLinearSystem::ExplicitTranspose:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 ExplicitTranspose (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< Teuchos::ParameterList > &solverParams, const Teuchos::RCP< NOX::Epetra::LinearSystem > &linsys)
 Constructor.
virtual ~ExplicitTranspose ()
 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_Operator > jac_trans
 Jacobian tranpose operator.
Teuchos::RCP< Epetra_Operator > prec_trans
 Transpose preconditioner.
Teuchos::RCP
< NOX::Epetra::Scaling
scaling_trans
 Scaling object for transpose solve.
EpetraExt::RowMatrix_Transpose transposer
 Row-matrix transposer.


Detailed Description

Method for solving the transpose of a linear system by explicitly forming the transpose of the matrix.

Definition at line 82 of file LOCA_Epetra_TransposeLinearSystem_ExplicitTranspose.H.


Constructor & Destructor Documentation

LOCA::Epetra::TransposeLinearSystem::ExplicitTranspose::ExplicitTranspose ( const Teuchos::RCP< LOCA::GlobalData > &  global_data,
const Teuchos::RCP< Teuchos::ParameterList > &  solverParams,
const Teuchos::RCP< NOX::Epetra::LinearSystem > &  linsys 
)

Constructor.

Definition at line 51 of file LOCA_Epetra_TransposeLinearSystem_ExplicitTranspose.C.

References scaling_trans.

LOCA::Epetra::TransposeLinearSystem::ExplicitTranspose::~ExplicitTranspose (  )  [virtual]

Destructor.

Definition at line 69 of file LOCA_Epetra_TransposeLinearSystem_ExplicitTranspose.C.


Member Function Documentation

bool LOCA::Epetra::TransposeLinearSystem::ExplicitTranspose::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

\[ 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.

Implements LOCA::Epetra::TransposeLinearSystem::AbstractStrategy.

Definition at line 75 of file LOCA_Epetra_TransposeLinearSystem_ExplicitTranspose.C.

References jac_trans, linsys, prec_trans, and scaling_trans.

bool LOCA::Epetra::TransposeLinearSystem::ExplicitTranspose::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.

Implements LOCA::Epetra::TransposeLinearSystem::AbstractStrategy.

Definition at line 103 of file LOCA_Epetra_TransposeLinearSystem_ExplicitTranspose.C.

References globalData, jac_trans, linsys, and transposer.

bool LOCA::Epetra::TransposeLinearSystem::ExplicitTranspose::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.

Implements LOCA::Epetra::TransposeLinearSystem::AbstractStrategy.

Definition at line 127 of file LOCA_Epetra_TransposeLinearSystem_ExplicitTranspose.C.

References jac_trans, linsys, prec_trans, and scaling_trans.

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

Get Jacobian-transpose operator.

Implements LOCA::Epetra::TransposeLinearSystem::AbstractStrategy.

Definition at line 158 of file LOCA_Epetra_TransposeLinearSystem_ExplicitTranspose.C.

References jac_trans.

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

Get transpose-preconditioner.

Implements LOCA::Epetra::TransposeLinearSystem::AbstractStrategy.

Definition at line 165 of file LOCA_Epetra_TransposeLinearSystem_ExplicitTranspose.C.

References prec_trans.

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

Set Jacobian-transpose operator.

Implements LOCA::Epetra::TransposeLinearSystem::AbstractStrategy.

Definition at line 172 of file LOCA_Epetra_TransposeLinearSystem_ExplicitTranspose.C.

References jac_trans.

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

Set transpose-preconditioner.

Implements LOCA::Epetra::TransposeLinearSystem::AbstractStrategy.

Definition at line 180 of file LOCA_Epetra_TransposeLinearSystem_ExplicitTranspose.C.

References prec_trans.


Member Data Documentation

Global data object.

Definition at line 154 of file LOCA_Epetra_TransposeLinearSystem_ExplicitTranspose.H.

Referenced by createJacobianTranspose().

Teuchos::RCP<Epetra_Operator> LOCA::Epetra::TransposeLinearSystem::ExplicitTranspose::jac_trans [protected]

Teuchos::RCP<Epetra_Operator> LOCA::Epetra::TransposeLinearSystem::ExplicitTranspose::prec_trans [protected]

EpetraExt::RowMatrix_Transpose LOCA::Epetra::TransposeLinearSystem::ExplicitTranspose::transposer [protected]

Row-matrix transposer.

Definition at line 169 of file LOCA_Epetra_TransposeLinearSystem_ExplicitTranspose.H.

Referenced by createJacobianTranspose().


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

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