Class GingerbreadManMap
java.lang.Object
org.episteme.core.mathematics.analysis.chaos.GingerbreadManMap
- All Implemented Interfaces:
Function<Real[],Real[]>, DiscreteMap<Real[]>, Function<Real[], Real[]>, Relation<Real[], Real[]>
The Gingerbread Man Map - a chaotic discrete dynamical system.
Defined by the recurrence relations:
x(n+1) = 1 - y(n) + |x(n)| y(n+1) = x(n)This map produces a distinctive gingerbread-man-shaped fractal attractor.
Properties
- Strange attractor with fractal structure
- Basin of attraction includes most of the plane
- Exhibits sensitive dependence on initial conditions
References
- Devaney, R. L. (1989). "An Introduction to Chaotic Dynamical Systems"
- Since:
- 1.0
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReal[]Evaluates this function at the given point.Real[][]generateTrajectory(double x0, double y0, int iterations) Generates a trajectory starting from initial conditions.intstatic double[]Suggested plot bounds for the attractor.toString()static double[]Typical initial conditions for visualization.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface DiscreteMap
getLyapunovExponent, iterateMethods inherited from interface Function
andThen, apply, compose, contains, evaluate, getBackend, isContinuous, isDifferentiable, setBackendMethods inherited from interface Relation
getCodomain, getDomain
-
Constructor Details
-
GingerbreadManMap
public GingerbreadManMap()
-
-
Method Details
-
evaluate
-
getDimension
public int getDimension() -
generateTrajectory
Generates a trajectory starting from initial conditions.- Parameters:
x0- initial x coordinatey0- initial y coordinateiterations- number of iterations- Returns:
- array of points [x, y] forming the trajectory
-
typicalInitialConditions
public static double[] typicalInitialConditions()Typical initial conditions for visualization.- Returns:
- array [x0, y0]
-
plotBounds
public static double[] plotBounds()Suggested plot bounds for the attractor.- Returns:
- array [xMin, xMax, yMin, yMax]
-
toString
-