LOCA::AnasaziOperator::JacobianInverse Class Reference

Anasazi operator for computing eigenvalues of the inverse-Jacobian. More...

#include <LOCA_AnasaziOperator_JacobianInverse.H>

Inheritance diagram for LOCA::AnasaziOperator::JacobianInverse:

Inheritance graph
[legend]
Collaboration diagram for LOCA::AnasaziOperator::JacobianInverse:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 JacobianInverse (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< LOCA::Parameter::SublistParser > &topParams, const Teuchos::RCP< Teuchos::ParameterList > &eigenParams, const Teuchos::RCP< Teuchos::ParameterList > &solverParams, const Teuchos::RCP< NOX::Abstract::Group > &grp)
 Constructor.
virtual ~JacobianInverse ()
 Destructor.
virtual const string & label () const
 Return name of this operator.
virtual void apply (const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &output) const
 Apply the operator.
virtual void transformEigenvalue (double &ev_r, double &ev_i) const
 Transform eigenvalue.
virtual
NOX::Abstract::Group::ReturnType 
rayleighQuotient (const NOX::Abstract::Vector &evec_r, const NOX::Abstract::Vector &evec_i, double &rq_r, double &rq_i) const
 Compute Rayleigh quotient.

Protected Attributes

Teuchos::RCP< LOCA::GlobalDataglobalData
 Global data.
string myLabel
 Name of this operator.
Teuchos::RCP
< Teuchos::ParameterList > 
eigenParams
 Stores parameters relating to the operator.
Teuchos::RCP
< Teuchos::ParameterList > 
solverParams
 Stores linear solver parameters.
Teuchos::RCP
< NOX::Abstract::Group
grp
 Stores group representing Jacobian.
Teuchos::RCP
< NOX::Abstract::Vector
tmp_r
 Stores a temporary vector for computing Rayleigh quotients.
Teuchos::RCP
< NOX::Abstract::Vector
tmp_i
 Stores a temporary vector for computing Rayleigh quotients.


Detailed Description

Anasazi operator for computing eigenvalues of the inverse-Jacobian.

This class implements the LOCA::AnasaziOperator::AbstractStrategy interface for computing eigenvalues of the inverse-Jacobian.

Definition at line 66 of file LOCA_AnasaziOperator_JacobianInverse.H.


Constructor & Destructor Documentation

LOCA::AnasaziOperator::JacobianInverse::JacobianInverse ( const Teuchos::RCP< LOCA::GlobalData > &  global_data,
const Teuchos::RCP< LOCA::Parameter::SublistParser > &  topParams,
const Teuchos::RCP< Teuchos::ParameterList > &  eigenParams,
const Teuchos::RCP< Teuchos::ParameterList > &  solverParams,
const Teuchos::RCP< NOX::Abstract::Group > &  grp 
)

Constructor.

Definition at line 47 of file LOCA_AnasaziOperator_JacobianInverse.C.

References globalData, grp, and NOX::Abstract::Group::Ok.

LOCA::AnasaziOperator::JacobianInverse::~JacobianInverse (  )  [virtual]

Destructor.

Definition at line 74 of file LOCA_AnasaziOperator_JacobianInverse.C.


Member Function Documentation

const string & LOCA::AnasaziOperator::JacobianInverse::label (  )  const [virtual]

Return name of this operator.

Implements LOCA::AnasaziOperator::AbstractStrategy.

Definition at line 79 of file LOCA_AnasaziOperator_JacobianInverse.C.

References myLabel.

void LOCA::AnasaziOperator::JacobianInverse::apply ( const NOX::Abstract::MultiVector input,
NOX::Abstract::MultiVector output 
) const [virtual]

Apply the operator.

Computes $\mbox{output} = J^{-1}\mbox{input}$.

Implements LOCA::AnasaziOperator::AbstractStrategy.

Definition at line 85 of file LOCA_AnasaziOperator_JacobianInverse.C.

References globalData, grp, and solverParams.

void LOCA::AnasaziOperator::JacobianInverse::transformEigenvalue ( double &  ev_r,
double &  ev_i 
) const [virtual]

Transform eigenvalue.

Transforms the given eigenvalue to the eigenvalue of the Jacobian by inverting it.

Implements LOCA::AnasaziOperator::AbstractStrategy.

Definition at line 96 of file LOCA_AnasaziOperator_JacobianInverse.C.

NOX::Abstract::Group::ReturnType LOCA::AnasaziOperator::JacobianInverse::rayleighQuotient ( const NOX::Abstract::Vector evec_r,
const NOX::Abstract::Vector evec_i,
double &  rq_r,
double &  rq_i 
) const [virtual]

Compute Rayleigh quotient.

Computes the Rayleigh quotient $z^T J z$ for the eigenvector $z$.

Implements LOCA::AnasaziOperator::AbstractStrategy.

Definition at line 106 of file LOCA_AnasaziOperator_JacobianInverse.C.

References NOX::Abstract::Vector::clone(), globalData, grp, NOX::Abstract::Vector::innerProduct(), NOX::Abstract::Group::Ok, NOX::ShapeCopy, tmp_i, and tmp_r.


Member Data Documentation

Global data.

Definition at line 118 of file LOCA_AnasaziOperator_JacobianInverse.H.

Referenced by apply(), JacobianInverse(), and rayleighQuotient().

Name of this operator.

Definition at line 121 of file LOCA_AnasaziOperator_JacobianInverse.H.

Referenced by label().

Teuchos::RCP<Teuchos::ParameterList> LOCA::AnasaziOperator::JacobianInverse::eigenParams [protected]

Stores parameters relating to the operator.

Definition at line 124 of file LOCA_AnasaziOperator_JacobianInverse.H.

Teuchos::RCP<Teuchos::ParameterList> LOCA::AnasaziOperator::JacobianInverse::solverParams [protected]

Stores linear solver parameters.

Definition at line 127 of file LOCA_AnasaziOperator_JacobianInverse.H.

Referenced by apply().

Stores group representing Jacobian.

Definition at line 130 of file LOCA_AnasaziOperator_JacobianInverse.H.

Referenced by apply(), JacobianInverse(), and rayleighQuotient().

Stores a temporary vector for computing Rayleigh quotients.

Definition at line 133 of file LOCA_AnasaziOperator_JacobianInverse.H.

Referenced by rayleighQuotient().

Stores a temporary vector for computing Rayleigh quotients.

Definition at line 136 of file LOCA_AnasaziOperator_JacobianInverse.H.

Referenced by rayleighQuotient().


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

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