LOCA::MultiContinuation::AbstractGroup Class Reference

LOCA abstract interface for continuation, derived from the NOX::Abstract::Group. This abstract class provides the interface necessary to perform continuation, i.e., compute families of solutions to $ F(x,p) = 0 $. More...

#include <LOCA_MultiContinuation_AbstractGroup.H>

Inheritance diagram for LOCA::MultiContinuation::AbstractGroup:

[legend]
Collaboration diagram for LOCA::MultiContinuation::AbstractGroup:
[legend]
List of all members.

Public Member Functions

 AbstractGroup ()
 Default constructor.
virtual ~AbstractGroup ()
 Destructor.
Pure virtual methods
These methods must be defined by any concrete implementation

virtual void copy (const NOX::Abstract::Group &source)=0
 Copy the group (replaces operator = ).
virtual void setParamsMulti (const vector< int > &paramIDs, const NOX::Abstract::MultiVector::DenseMatrix &vals)=0
 Set parameters indexed by (integer) paramIDs.
virtual void setParams (const LOCA::ParameterVector &p)=0
 Set the parameter vector in the group to p (pVector = p).
virtual void setParam (int paramID, double val)=0
 Set parameter indexed by (integer) paramID.
virtual void setParam (string paramID, double val)=0
 Set parameter indexed by (string) paramID.
virtual const LOCA::ParameterVectorgetParams () const =0
 Return a const reference to the ParameterVector owned by the group.
virtual double getParam (int paramID) const =0
 Return copy of parameter indexed by (integer) paramID.
virtual double getParam (string paramID) const =0
 Return copy of parameter indexed by (string) paramID.
virtual NOX::Abstract::Group::ReturnType computeDfDpMulti (const vector< int > &paramIDs, NOX::Abstract::MultiVector &dfdp, bool isValidF)=0
Virtual methods with default implementations
These methods should be overloaded in a concrete implementation if more appropriate/efficient approaches are available.

virtual void preProcessContinuationStep (LOCA::Abstract::Iterator::StepStatus stepStatus)
 Perform any preprocessing before a continuation step starts.
virtual void postProcessContinuationStep (LOCA::Abstract::Iterator::StepStatus stepStatus)
 Perform any postprocessing after a continuation step finishes.
virtual void projectToDraw (const NOX::Abstract::Vector &x, double *px) const
 Projects solution to a few scalars for multiparameter continuation.
virtual int projectToDrawDimension () const
 Returns the dimension of the project to draw array.
virtual double computeScaledDotProduct (const NOX::Abstract::Vector &a, const NOX::Abstract::Vector &b) const
 Compute a scaled dot product.
Virtual methods with empty or trivial implementations
These methods should be overloaded in a concrete implementation but their implementation is not critical to the rest of LOCA and therefore have empty or trivial implementations.

virtual void printSolution (const double conParam) const
 Function to print out solution and parameter after successful step.
virtual void printSolution (const NOX::Abstract::Vector &x_, const double conParam) const
 Function to print out a vector and parameter after successful step.
virtual void scaleVector (NOX::Abstract::Vector &x) const
 Scales a vector using scaling vector.

Detailed Description

LOCA abstract interface for continuation, derived from the NOX::Abstract::Group. This abstract class provides the interface necessary to perform continuation, i.e., compute families of solutions to $ F(x,p) = 0 $.

Concrete implemenations of this interface must provide implementations of all of the methods in the NOX::Abstract::Group interface as well as the additional interface defined here.


Member Function Documentation

virtual NOX::Abstract::Group::ReturnType LOCA::MultiContinuation::AbstractGroup::computeDfDpMulti const vector< int > &  paramIDs,
NOX::Abstract::MultiVector dfdp,
bool  isValidF
[pure virtual]
 

Compute $\partial F/\partial p$ for each parameter $p$ indexed by paramIDs. The first column of dfdp holds F, which is valid if isValidF is true. Otherwise F must be computed.

Implemented in LOCA::Homotopy::Group, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::MultiContinuation::FiniteDifferenceGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup, and LOCA::TurningPoint::MooreSpence::ExtendedGroup.

double LOCA::MultiContinuation::AbstractGroup::computeScaledDotProduct const NOX::Abstract::Vector a,
const NOX::Abstract::Vector b
const [virtual]
 

Compute a scaled dot product.

The default implementation here just computes a.dot(b) but should be overloaded for any problem that his difficult scaling.

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

void LOCA::MultiContinuation::AbstractGroup::postProcessContinuationStep LOCA::Abstract::Iterator::StepStatus  stepStatus  )  [virtual]
 

Perform any postprocessing after a continuation step finishes.

The stepStatus argument indicates whether the step was successful. The default implementation to empty.

Reimplemented in LOCA::Homotopy::Group, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup, and LOCA::TurningPoint::MooreSpence::ExtendedGroup.

void LOCA::MultiContinuation::AbstractGroup::preProcessContinuationStep LOCA::Abstract::Iterator::StepStatus  stepStatus  )  [virtual]
 

Perform any preprocessing before a continuation step starts.

The stepStatus argument indicates whether the previous step was successful. The default implementation to empty.

Reimplemented in LOCA::Homotopy::Group, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup, and LOCA::TurningPoint::MooreSpence::ExtendedGroup.

virtual void LOCA::MultiContinuation::AbstractGroup::printSolution const NOX::Abstract::Vector x_,
const double  conParam
const [inline, virtual]
 

Function to print out a vector and parameter after successful step.

Empty default definition.

Reimplemented in LOCA::Homotopy::Group, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::TurningPoint::MooreSpence::ExtendedGroup, LOCA::Epetra::Group, and LOCA::LAPACK::Group.

virtual void LOCA::MultiContinuation::AbstractGroup::printSolution const double  conParam  )  const [inline, virtual]
 

Function to print out solution and parameter after successful step.

Empty default definition.

Reimplemented in LOCA::Homotopy::Group, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::TurningPoint::MooreSpence::ExtendedGroup, LOCA::Epetra::Group, and LOCA::LAPACK::Group.

void LOCA::MultiContinuation::AbstractGroup::projectToDraw const NOX::Abstract::Vector x,
double *  px
const [virtual]
 

Projects solution to a few scalars for multiparameter continuation.

This method is called every time a solution is saved by the multiparameter continuation code MF for later visualization and should project the solution vector down to a few scalars. The array px will be preallocated to the proper length given by projectToDrawDimension().

The default implementation is the max norm of the vector.

Reimplemented in LOCA::Homotopy::Group, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::TurningPoint::MooreSpence::ExtendedGroup, LOCA::Epetra::Group, and LOCA::LAPACK::Group.

int LOCA::MultiContinuation::AbstractGroup::projectToDrawDimension  )  const [virtual]
 

Returns the dimension of the project to draw array.

The default implementation is to return 1 since the default projection is the max norm of the vector (a scalar).

Reimplemented in LOCA::Homotopy::Group, LOCA::Hopf::MooreSpence::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::Pitchfork::MooreSpence::ExtendedGroup, LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup, LOCA::TurningPoint::MooreSpence::ExtendedGroup, LOCA::Epetra::Group, and LOCA::LAPACK::Group.

void LOCA::MultiContinuation::AbstractGroup::scaleVector NOX::Abstract::Vector x  )  const [virtual]
 

Scales a vector using scaling vector.

The default definition here is to do nothing, i.e., no scaling

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


The documentation for this class was generated from the following files:
Generated on Thu Sep 18 12:38:33 2008 for NOX by doxygen 1.3.9.1