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[]>

public class GingerbreadManMap extends Object implements DiscreteMap<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 Details

    • GingerbreadManMap

      public GingerbreadManMap()
  • Method Details

    • evaluate

      public Real[] evaluate(Real[] state)
      Description copied from interface: Function
      Evaluates this function at the given point.
      Specified by:
      evaluate in interface Function<Real[],Real[]>
      Parameters:
      state - the input point
      Returns:
      the value of the function at x
    • getDimension

      public int getDimension()
    • generateTrajectory

      public Real[][] generateTrajectory(double x0, double y0, int iterations)
      Generates a trajectory starting from initial conditions.
      Parameters:
      x0 - initial x coordinate
      y0 - initial y coordinate
      iterations - 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

      public String toString()
      Overrides:
      toString in class Object