NOX  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Protected Attributes | List of all members
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]

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 std::string & label () const
 Return name of this operator.
 
virtual void apply (const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &output) const
 Apply the operator. More...
 
virtual void beginPostProcessing ()
 Begin PostProcessing of eigenvalues. More...
 
virtual void transformEigenvalue (double &ev_r, double &ev_i) const
 Transform eigenvalue. More...
 
virtual
NOX::Abstract::Group::ReturnType 
rayleighQuotient (NOX::Abstract::Vector &evec_r, NOX::Abstract::Vector &evec_i, double &rq_r, double &rq_i) const
 Compute Rayleigh quotient. More...
 
- Public Member Functions inherited from LOCA::AnasaziOperator::AbstractStrategy
 AbstractStrategy ()
 Constructor.
 
virtual ~AbstractStrategy ()
 Destructor.
 
virtual void preProcessSeedVector (NOX::Abstract::MultiVector &)
 Give strategy an opportunit to massage the random seed vector.
 

Protected Attributes

Teuchos::RCP< LOCA::GlobalDataglobalData
 Global data.
 
std::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.

Member Function Documentation

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.

void LOCA::AnasaziOperator::JacobianInverse::beginPostProcessing ( )
virtual

Begin PostProcessing of eigenvalues.

Compute Jacobian matrix once, for use in subsequent repeated calls to rayleighQuotient

Reimplemented from LOCA::AnasaziOperator::AbstractStrategy.

NOX::Abstract::Group::ReturnType LOCA::AnasaziOperator::JacobianInverse::rayleighQuotient ( NOX::Abstract::Vector evec_r,
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.

References NOX::Abstract::Vector::clone(), NOX::Abstract::Vector::innerProduct(), NOX::Abstract::Group::Ok, and NOX::ShapeCopy.

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.


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