NOX Development
Public Member Functions | Protected Attributes
LOCA::Abstract::Group Class Reference

Compatiblity class for AbstractGroup hierarchy. More...

#include <LOCA_Abstract_Group.H>

Inheritance diagram for LOCA::Abstract::Group:
Inheritance graph
[legend]
Collaboration diagram for LOCA::Abstract::Group:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Group (const Teuchos::RCP< LOCA::GlobalData > &global_data)
 Constructor.
 Group (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< LOCA::DerivUtils > &deriv)
 Constructor.
 Group (const Group &source, NOX::CopyType type=NOX::DeepCopy)
 Copy constructor.
virtual ~Group ()
 Destructor.
Implementation of LOCA::Homotopy::AbstractGroup virtual methods.
virtual
NOX::Abstract::Group::ReturnType 
augmentJacobianForHomotopy (double a, double b)
 Replace Jacobian $J$ by $aJ+bI$ where $I$ is the identity matrix and $p$ is a scalar.
Implementation of LOCA::TimeDependent::AbstractGroup virtual methods.
virtual
NOX::Abstract::Group::ReturnType 
computeShiftedMatrix (double alpha, double beta)
 Compute the shifted matrix.
virtual
NOX::Abstract::Group::ReturnType 
applyShiftedMatrix (const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const
 Multiply the shifted matrix by a vector.
virtual
NOX::Abstract::Group::ReturnType 
applyShiftedMatrixMultiVector (const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const
 Multiply the shifted matrix by a multi-vector.
virtual
NOX::Abstract::Group::ReturnType 
applyShiftedMatrixInverseMultiVector (Teuchos::ParameterList &params, const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const
 Apply the inverse of the shifted matrix by a multi-vector, as needed by the shift-and-invert and generalized Cayley transformations.
virtual
NOX::Abstract::Group::ReturnType 
computeSecondShiftedMatrix (double alpha, double beta)
 Compute the second shifted matrix. Can avoid recomputing if two are stored.
virtual
NOX::Abstract::Group::ReturnType 
applySecondShiftedMatrix (const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const
 Multiply the shifted matrix by a vector.
virtual
NOX::Abstract::Group::ReturnType 
applySecondShiftedMatrixMultiVector (const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const
 Multiply the shifted matrix by a multi-vector.
Implementation of LOCA::Hopf::Moorespence::AbstractGroup virtual methods.
virtual bool isComplex () const
 Is $J+i\omega B$ valid.
virtual
NOX::Abstract::Group::ReturnType 
computeComplex (double frequency)
 Compute $J+i\omega B$.
virtual
NOX::Abstract::Group::ReturnType 
applyComplex (const NOX::Abstract::Vector &input_real, const NOX::Abstract::Vector &input_imag, NOX::Abstract::Vector &result_real, NOX::Abstract::Vector &result_imag) const
 Compute $(J+i\omega B)(y+iz)$.
virtual
NOX::Abstract::Group::ReturnType 
applyComplexMultiVector (const NOX::Abstract::MultiVector &input_real, const NOX::Abstract::MultiVector &input_imag, NOX::Abstract::MultiVector &result_real, NOX::Abstract::MultiVector &result_imag) const
 Compute $(J+i\omega B)(y+iz)$.
virtual
NOX::Abstract::Group::ReturnType 
applyComplexInverseMultiVector (Teuchos::ParameterList &params, const NOX::Abstract::MultiVector &input_real, const NOX::Abstract::MultiVector &input_imag, NOX::Abstract::MultiVector &result_real, NOX::Abstract::MultiVector &result_imag) const
 Solve $(J+i\omega B)(y+iz) = a+ib$.
Implementation of LOCA::Hopf::MinimallyAugmented::AbstractGroup virtual methods.
virtual
NOX::Abstract::Group::ReturnType 
applyComplexTranspose (const NOX::Abstract::Vector &input_real, const NOX::Abstract::Vector &input_imag, NOX::Abstract::Vector &result_real, NOX::Abstract::Vector &result_imag) const
virtual
NOX::Abstract::Group::ReturnType 
applyComplexTransposeMultiVector (const NOX::Abstract::MultiVector &input_real, const NOX::Abstract::MultiVector &input_imag, NOX::Abstract::MultiVector &result_real, NOX::Abstract::MultiVector &result_imag) const
virtual
NOX::Abstract::Group::ReturnType 
applyComplexTransposeInverseMultiVector (Teuchos::ParameterList &params, const NOX::Abstract::MultiVector &input_real, const NOX::Abstract::MultiVector &input_imag, NOX::Abstract::MultiVector &result_real, NOX::Abstract::MultiVector &result_imag) const
 Solve $(J+i\omega B)^H (x + iy) = a+ib$.
Implementation of LOCA::MultiContinuation::AbstractGroup virtual methods.
virtual void copy (const NOX::Abstract::Group &source)
 Assignment operator.
virtual void setParamsMulti (const vector< int > &paramIDs, const NOX::Abstract::MultiVector::DenseMatrix &vals)
 Set parameters indexed by (integer) paramIDs.
virtual void notifyCompletedStep ()
Implementation of NOX::Abstract::Group virtual methods.
virtual NOX::Abstract::Groupoperator= (const NOX::Abstract::Group &source)
 Copies the source group into this group.
Implementation of LOCA::PhaseTransition::AbstractGroup virtual methods.
virtual double computeFreeEnergy ()
 Computes the free energy at the current solution and parameter values.

Protected Attributes

Teuchos::RCP< LOCA::GlobalDataglobalData
 Global data.

Detailed Description

Compatiblity class for AbstractGroup hierarchy.

This class is derived from all LOCA AbstractGroup abstract base classes as well as all FiniteDifference groups and any other groups that provided default implementations for AbstractGroup pure virtual methods. This class provides definitions for all needed assignment operators and provides definitions for some pure virtual methods by printing error messages. This class exists primarily for compatiblity to an older class hierarchy and will most likely be removed in the future.


Member Function Documentation

NOX::Abstract::Group::ReturnType LOCA::Abstract::Group::applyComplex ( const NOX::Abstract::Vector input_real,
const NOX::Abstract::Vector input_imag,
NOX::Abstract::Vector result_real,
NOX::Abstract::Vector result_imag 
) const [virtual]

Compute $(J+i\omega B)(y+iz)$.

Implementation here prints an error message and returns NOX::Abstract::Group::NotDefined.

Implements LOCA::Hopf::MooreSpence::AbstractGroup.

Reimplemented in LOCA::Epetra::Group, and LOCA::LAPACK::Group.

References NOX::Abstract::Group::NotDefined.

NOX::Abstract::Group::ReturnType LOCA::Abstract::Group::applyComplexInverseMultiVector ( Teuchos::ParameterList params,
const NOX::Abstract::MultiVector input_real,
const NOX::Abstract::MultiVector input_imag,
NOX::Abstract::MultiVector result_real,
NOX::Abstract::MultiVector result_imag 
) const [virtual]

Solve $(J+i\omega B)(y+iz) = a+ib$.

Implementation here prints an error message and returns NOX::Abstract::Group::NotDefined.

Implements LOCA::Hopf::MooreSpence::AbstractGroup.

Reimplemented in LOCA::Epetra::Group, and LOCA::LAPACK::Group.

References NOX::Abstract::Group::NotDefined.

NOX::Abstract::Group::ReturnType LOCA::Abstract::Group::applyComplexMultiVector ( const NOX::Abstract::MultiVector input_real,
const NOX::Abstract::MultiVector input_imag,
NOX::Abstract::MultiVector result_real,
NOX::Abstract::MultiVector result_imag 
) const [virtual]

Compute $(J+i\omega B)(y+iz)$.

Implementation here prints an error message and returns NOX::Abstract::Group::NotDefined.

Implements LOCA::Hopf::MooreSpence::AbstractGroup.

Reimplemented in LOCA::Epetra::Group, and LOCA::LAPACK::Group.

References NOX::Abstract::Group::NotDefined.

NOX::Abstract::Group::ReturnType LOCA::Abstract::Group::applyComplexTranspose ( const NOX::Abstract::Vector input_real,
const NOX::Abstract::Vector input_imag,
NOX::Abstract::Vector result_real,
NOX::Abstract::Vector result_imag 
) const [virtual]

Computes conjugate-tranpose matrix vector product $ (J+i\omega B)^H (x + iy) $.

Implementation here prints an error message and returns NOX::Abstract::Group::NotDefined.

Implements LOCA::Hopf::MinimallyAugmented::AbstractGroup.

Reimplemented in LOCA::Epetra::Group, and LOCA::LAPACK::Group.

References NOX::Abstract::Group::NotDefined.

NOX::Abstract::Group::ReturnType LOCA::Abstract::Group::applyComplexTransposeMultiVector ( const NOX::Abstract::MultiVector input_real,
const NOX::Abstract::MultiVector input_imag,
NOX::Abstract::MultiVector result_real,
NOX::Abstract::MultiVector result_imag 
) const [virtual]

Computes conjugate-tranpose matrix vector product $ (J+i\omega B)^H (x + iy) $.

Implements LOCA::Hopf::MinimallyAugmented::AbstractGroup.

Reimplemented in LOCA::Epetra::Group, and LOCA::LAPACK::Group.

References NOX::Abstract::Group::NotDefined.

NOX::Abstract::Group::ReturnType LOCA::Abstract::Group::applySecondShiftedMatrix ( const NOX::Abstract::Vector input,
NOX::Abstract::Vector result 
) const [virtual]

Multiply the shifted matrix by a vector.

Implementation here prints an error message and returns NOX::Abstract::Group::NotDefined.

Implements LOCA::TimeDependent::AbstractGroup.

Reimplemented in LOCA::Epetra::Group.

References NOX::Abstract::Group::NotDefined.

NOX::Abstract::Group::ReturnType LOCA::Abstract::Group::applySecondShiftedMatrixMultiVector ( const NOX::Abstract::MultiVector input,
NOX::Abstract::MultiVector result 
) const [virtual]

Multiply the shifted matrix by a multi-vector.

Implementation here prints an error message and returns NOX::Abstract::Group::NotDefined.

Implements LOCA::TimeDependent::AbstractGroup.

Reimplemented in LOCA::Epetra::Group.

References NOX::Abstract::Group::NotDefined.

NOX::Abstract::Group::ReturnType LOCA::Abstract::Group::applyShiftedMatrix ( const NOX::Abstract::Vector input,
NOX::Abstract::Vector result 
) const [virtual]

Multiply the shifted matrix by a vector.

Implementation here prints an error message and returns NOX::Abstract::Group::NotDefined.

Implements LOCA::TimeDependent::AbstractGroup.

Reimplemented in LOCA::Epetra::Group, LOCA::LAPACK::Group, and LOCA::Thyra::Group.

References NOX::Abstract::Group::NotDefined.

NOX::Abstract::Group::ReturnType LOCA::Abstract::Group::applyShiftedMatrixInverseMultiVector ( Teuchos::ParameterList params,
const NOX::Abstract::MultiVector input,
NOX::Abstract::MultiVector result 
) const [virtual]

Apply the inverse of the shifted matrix by a multi-vector, as needed by the shift-and-invert and generalized Cayley transformations.

Implementation here prints an error message and returns NOX::Abstract::Group::NotDefined.

Implements LOCA::TimeDependent::AbstractGroup.

Reimplemented in LOCA::Epetra::Group, LOCA::LAPACK::Group, and LOCA::Thyra::Group.

References NOX::Abstract::Group::NotDefined.

NOX::Abstract::Group::ReturnType LOCA::Abstract::Group::applyShiftedMatrixMultiVector ( const NOX::Abstract::MultiVector input,
NOX::Abstract::MultiVector result 
) const [virtual]

Multiply the shifted matrix by a multi-vector.

Implementation here prints an error message and returns NOX::Abstract::Group::NotDefined.

Implements LOCA::TimeDependent::AbstractGroup.

Reimplemented in LOCA::Epetra::Group, LOCA::LAPACK::Group, and LOCA::Thyra::Group.

References NOX::Abstract::Group::NotDefined.

NOX::Abstract::Group::ReturnType LOCA::Abstract::Group::augmentJacobianForHomotopy ( double  a,
double  b 
) [virtual]

Replace Jacobian $J$ by $aJ+bI$ where $I$ is the identity matrix and $p$ is a scalar.

Implementation here prints an error message and returns NOX::Abstract::Group::NotDefined.

Implements LOCA::Homotopy::AbstractGroup.

Reimplemented in LOCA::Epetra::Group, and LOCA::LAPACK::Group.

References NOX::Abstract::Group::NotDefined.

NOX::Abstract::Group::ReturnType LOCA::Abstract::Group::computeComplex ( double  frequency) [virtual]

Compute $J+i\omega B$.

Implementation here prints an error message and returns NOX::Abstract::Group::NotDefined.

Implements LOCA::Hopf::MooreSpence::AbstractGroup.

Reimplemented in LOCA::Epetra::Group, and LOCA::LAPACK::Group.

References NOX::Abstract::Group::NotDefined.

NOX::Abstract::Group::ReturnType LOCA::Abstract::Group::computeSecondShiftedMatrix ( double  alpha,
double  beta 
) [virtual]

Compute the second shifted matrix. Can avoid recomputing if two are stored.

Implementation here prints an error message and returns NOX::Abstract::Group::NotDefined.

Implements LOCA::TimeDependent::AbstractGroup.

Reimplemented in LOCA::Epetra::Group.

References NOX::Abstract::Group::NotDefined.

NOX::Abstract::Group::ReturnType LOCA::Abstract::Group::computeShiftedMatrix ( double  alpha,
double  beta 
) [virtual]

Compute the shifted matrix.

Implementation here prints an error message and returns NOX::Abstract::Group::NotDefined.

Implements LOCA::TimeDependent::AbstractGroup.

Reimplemented in LOCA::Epetra::Group, LOCA::LAPACK::Group, and LOCA::Thyra::Group.

References NOX::Abstract::Group::NotDefined.

bool LOCA::Abstract::Group::isComplex ( ) const [virtual]

Is $J+i\omega B$ valid.

The implementation here always returns false.

Implements LOCA::Hopf::MooreSpence::AbstractGroup.

Reimplemented in LOCA::Epetra::Group, and LOCA::LAPACK::Group.

void LOCA::Abstract::Group::notifyCompletedStep ( ) [virtual]

Notify group that the continuation step is completed The default implementation here is to do nothing.

NOX::Abstract::Group & LOCA::Abstract::Group::operator= ( const NOX::Abstract::Group source) [virtual]

Copies the source group into this group.

Note:
Any shared data owned by the source should have its ownership transfered to this group. This may result in a secret modification to the source object.

Implements NOX::Abstract::Group.

Reimplemented in LOCA::MultiContinuation::ConstrainedGroup, LOCA::Epetra::Group, LOCA::LAPACK::Group, and LOCA::Thyra::Group.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends