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.