The Conley-Morse Graphs Software
Public Member Functions | Private Member Functions | Private Attributes | List of all members
MapType Class Referenceabstract

This is an abstract class which defines the interface to other classes that describe maps for the use for the program "cmgraphs.cpp". More...

#include <maptype.h>

Inheritance diagram for MapType:
MapDifference MapGlobCLog MapHarvesting MapHenon MapNeuron1 MapPeriodic MapPopModel MapTight MapTwoCirc MapTwoTorus MapVanderPol1 MapWhales StandardMap

Public Member Functions

 MapType ()
 The default constructor of an object which describes a map. More...
 
virtual ~MapType ()
 The destructor of an object which describe a map. More...
 
virtual void setParam (const double *left, const double *right, int n)
 Sets the parameters to the given intervals defined by their left and right coordinates. More...
 
const double & getLeftParam (int n) const
 Returns the left value of the given parameter. More...
 
const double & getRightParam (int n) const
 Returns the right value of the given parameter. More...
 
virtual void compute (const double *xleft, const double *xright, double *yleft, double *yright, int dim, const spcCoord *coord, int subdiv) const =0
 Computes the image of a box whose left and right coordinates are given. More...
 
void operator() (const IntervalType *x, IntervalType *y, int dim, const spcCoord *coord, int subdiv) const
 An interface to the function 'compute' based on intervals. More...
 
bool adjust (bool successful, int subdiv)
 Adjusts parameters if necessary after a successful computation or after an unsuccessful computation of the graph of the map at a specific subdivision level. More...
 
std::string getOptInfo () const
 Gets a single line of information on optimization of the computation of the map, so that it can be used by maps created for the same and nearby parameter values. More...
 
void useOptInfo (const std::string &info)
 Uses a prevously saved line of information on optimization of the computation of the map for the same or nearby parameter values. More...
 
void saveInternals (chomp::multiwork::mwData &data) const
 Saves the internal parameters and other data of the map to the mwData structure. More...
 
void loadInternals (chomp::multiwork::mwData &data)
 Retrieves the internal paramters and other data of the map from the mwData structure. More...
 
virtual double getTimeStep (int subdiv) const
 Returns the time step, which is 1 for a map, or the time t of integration in case of a time-t map of a flow. More...
 
virtual std::string name () const
 Returns the name of the map. More...
 

Private Member Functions

 MapType (const MapType &)
 The copy constructor should not be used. More...
 
MapTypeoperator= (const MapType &)
 The assignment operator should not be used. More...
 

Private Attributes

double * leftParam
 The left ends of the parameter intervals of the map. More...
 
double * rightParam
 The right ends of the parameter intervals of the map. More...
 
int nParam
 The number of parameters defined. More...
 

Detailed Description

This is an abstract class which defines the interface to other classes that describe maps for the use for the program "cmgraphs.cpp".

Definition at line 58 of file maptype.h.

Constructor & Destructor Documentation

◆ MapType() [1/2]

MapType::MapType ( )
inline

The default constructor of an object which describes a map.

Definition at line 148 of file maptype.h.

◆ ~MapType()

MapType::~MapType ( )
inlinevirtual

The destructor of an object which describe a map.

Definition at line 153 of file maptype.h.

References leftParam, and rightParam.

◆ MapType() [2/2]

MapType::MapType ( const MapType )
inlineprivate

The copy constructor should not be used.

Definition at line 162 of file maptype.h.

Member Function Documentation

◆ adjust()

bool MapType::adjust ( bool  successful,
int  subdiv 
)
inline

Adjusts parameters if necessary after a successful computation or after an unsuccessful computation of the graph of the map at a specific subdivision level.

Returns true iff it is necessary to repeat the computation.

Definition at line 230 of file maptype.h.

◆ compute()

virtual void MapType::compute ( const double *  xleft,
const double *  xright,
double *  yleft,
double *  yright,
int  dim,
const spcCoord coord,
int  subdiv 
) const
pure virtual

Computes the image of a box whose left and right coordinates are given.

Fills in the images with the left and right coordinates of the image box. Whenever this information is relevant, the integer coordinates of the box are provided, as well as the subdivision level of the full phase space box; otherwise the pointer to the coordinates is set to 0, and the subdivision level is undefined.

Implemented in MapDifference, MapGlobCLog, MapHarvesting, MapHenon, MapNeuron1, MapPeriodic, MapPopModel, StandardMap, MapTwoCirc, MapTwoTorus, MapVanderPol1, MapWhales, MapTight, and MapOdeApprox.

Referenced by operator()().

◆ getLeftParam()

const double & MapType::getLeftParam ( int  n) const
inline

◆ getOptInfo()

std::string MapType::getOptInfo ( ) const
inline

Gets a single line of information on optimization of the computation of the map, so that it can be used by maps created for the same and nearby parameter values.

Definition at line 235 of file maptype.h.

◆ getRightParam()

const double & MapType::getRightParam ( int  n) const
inline

◆ getTimeStep()

double MapType::getTimeStep ( int  subdiv) const
inlinevirtual

Returns the time step, which is 1 for a map, or the time t of integration in case of a time-t map of a flow.

This value may be different at each subdivision depth. May return an approximate value, especially for flows.

Reimplemented in MapOdeTimeT.

Definition at line 287 of file maptype.h.

◆ loadInternals()

void MapType::loadInternals ( chomp::multiwork::mwData &  data)
inline

Retrieves the internal paramters and other data of the map from the mwData structure.

Definition at line 260 of file maptype.h.

References setParam().

Referenced by MapOdeTimeT::loadInternals().

◆ name()

std::string MapType::name ( ) const
inlinevirtual

Returns the name of the map.

This method should be replaced in derived classes.

Reimplemented in MapLorenz.

Definition at line 292 of file maptype.h.

◆ operator()()

void MapType::operator() ( const IntervalType x,
IntervalType y,
int  dim,
const spcCoord coord,
int  subdiv 
) const
inline

An interface to the function 'compute' based on intervals.

Definition at line 210 of file maptype.h.

References compute().

◆ operator=()

MapType & MapType::operator= ( const MapType )
inlineprivate

The assignment operator should not be used.

Definition at line 167 of file maptype.h.

◆ saveInternals()

void MapType::saveInternals ( chomp::multiwork::mwData &  data) const
inline

Saves the internal parameters and other data of the map to the mwData structure.

Definition at line 245 of file maptype.h.

References leftParam, nParam, and rightParam.

Referenced by MapOdeTimeT::saveInternals().

◆ setParam()

void MapType::setParam ( const double *  left,
const double *  right,
int  n 
)
inlinevirtual

Sets the parameters to the given intervals defined by their left and right coordinates.

Reimplemented in MapOdeApprox, and MapOdeTimeT.

Definition at line 172 of file maptype.h.

References leftParam, nParam, and rightParam.

Referenced by loadInternals(), MapOdeApprox::setParam(), and MapOdeTimeT::setParam().

◆ useOptInfo()

void MapType::useOptInfo ( const std::string &  info)
inline

Uses a prevously saved line of information on optimization of the computation of the map for the same or nearby parameter values.

The map object may be fed with several lines and should interprete them to set up its optimization parameters.

Definition at line 240 of file maptype.h.

Member Data Documentation

◆ leftParam

double* MapType::leftParam
private

The left ends of the parameter intervals of the map.

Definition at line 130 of file maptype.h.

Referenced by getLeftParam(), saveInternals(), setParam(), and ~MapType().

◆ nParam

int MapType::nParam
private

The number of parameters defined.

Definition at line 136 of file maptype.h.

Referenced by getLeftParam(), getRightParam(), saveInternals(), and setParam().

◆ rightParam

double* MapType::rightParam
private

The right ends of the parameter intervals of the map.

Definition at line 133 of file maptype.h.

Referenced by getRightParam(), saveInternals(), setParam(), and ~MapType().


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