32#ifndef _CMGRAPHS_GLOBCLOG_H_ 
   33#define _CMGRAPHS_GLOBCLOG_H_ 
   65        void compute (
const double *xleft, 
const double *xright,
 
   66                double *yleft, 
double *yright, 
int dim,
 
   67                const spcCoord *coord, 
int subdiv) 
const;
 
  112        sigma (0), sigmaSum (0), variables (0), currentDim (0),
 
  113        rescaling (std::sqrt (2.0))
 
  133        return 1 - a * x * x;
 
  148        for (
int i = 0; i < dim; ++ i)
 
  163        output [0] = (input [0] - input [1]) / 2 * 
rescaling;
 
  164        output [1] = (input [0] + input [1]) / 2 * 
rescaling;
 
  165        for (
int i = 2; i < dim; ++ i)
 
  166                output [i] = input [i];
 
  175        output [0] = (input [0] + input [1]) / 
rescaling;
 
  176        output [1] = (input [1] - input [0]) / 
rescaling;
 
  177        for (
int i = 2; i < dim; ++ i)
 
  178                output [i] = input [i];
 
  183        double *yleft, 
double *yright, 
int dim, 
const spcCoord *, 
int)
 const 
  189        for (
int i = 0; i < dim; ++ i)
 
  203        for (
int i = 0; i < dim; ++ i)
 
  205                images [i] = 
logistic (newVariables [i], a);
 
  210        for (
int i = 0; i < dim; ++ i)
 
  228        for (
int i = 0; i < dim; ++ i)
 
  230                results [i] = oneminuseps * images [i] + average;
 
  238        for (
int i = 0; i < dim; ++ i)
 
  240                yleft [i] = newResults [i]. leftBound ();
 
  241                yright [i] = newResults [i]. rightBound ();
 
This class defines a map which describes a family of globally coupled logistic maps.
 
int currentDim
The dimension for which the internal arrays have been allocated.
 
double rescaling
Rescaling factor for the changed coordinates.
 
IntervalType * variables
A temporary array for the variables.
 
IntervalType * changeCoordsOut(IntervalType *input, IntervalType *output, int dim) const
Applies a coordinate change to the output vector.
 
~MapGlobCLog()
The destructor.
 
void setDimension(int dim) const
Sets the space dimension and (re-)allocates memory for the sigma coefficients and variables.
 
static const bool weighted2GCM
Configuration option: Is this the weighted 2GCM model?
 
IntervalType * changeCoordsIn(IntervalType *input, IntervalType *output, int dim) const
Applies a coordinate change to the input vector.
 
static IntervalType logistic(const IntervalType &x, const IntervalType &a)
The logistic function f_a (x) = 1 - a x^2.
 
MapGlobCLog()
The default constructor.
 
int * sigma
The extra weights for the maps (for the weighted 2GCM).
 
int sigmaSum
The sum of the sigmas.
 
static const bool changeCoordinates
Configuration option: Should we change the first two coordinates?
 
void compute(const double *xleft, const double *xright, double *yleft, double *yright, int dim, const spcCoord *coord, int subdiv) const
Computes the image of a box whose left and right coordinates are given.
 
This is an abstract class which defines the interface to other classes that describe maps for the use...
 
const double & getLeftParam(int n) const
Returns the left value of the given parameter.
 
const double & getRightParam(int n) const
Returns the right value of the given parameter.
 
Data types for interval arithmetic.
 
void resetRounding()
This function resets rounding switches of the processor and sets rounding to the nearest.
 
bool testIntervals(bool throwException=false)
Testing interval arithmetic.
 
capd::DInterval IntervalType
The type of an interval (from the CAPD library 2.9/3.0 beta).
 
int spcCoord
The type of coordinates of cubes in the phase space.