Skip to content

KaplanYorke

Systems / Maps / Polynomial maps

The Kaplan–Yorke map — a skew product whose fractal dimension is known in closed form.

discrete · map2 dimensionschaotic

KaplanYorke attractor

attractor

Definition

@staticmethod
def _step(X, alpha):
    x, y = X
    # Doubling map on the unit circle. The canonical wrap is mod 1, but the
    # pure doubling map x -> frac(2x) drains a float mantissa one bit per
    # step (2x is an exact shift) and collapses to the x=0 fixed point in
    # ~52 iterations, killing the chaos. Wrapping just below 1 injects a
    # ~5e-8 offset at each fold that keeps the orbit non-degenerate; the
    # dynamics (and Lyapunov exponent ln 2) are unchanged to that tolerance.
    xp = (2 * x) % 0.99999995
    yp = alpha * y + np.cos(4 * np.pi * x)
    return xp, yp

Parameters

Symbol Default Role
alpha 0.2 contraction rate of the y coordinate (0<alpha<1)

Properties

Lyapunov spectrum
$+0.6933,\; -1.61$
computed at build
Kaplan–Yorke dimension
$D_{KY} = 1.431$
Divergence ∇·f
n/a — discrete map — flow divergence undefined (per-step contraction is |det J|)
Equilibria
1 fixed points
0 stable · 1 unstable

Define it in TSDynamics

import tsdynamics as ts

sys = ts.systems.KaplanYorke()
traj = sys.iterate(steps=10_000)

exps = sys.lyapunov_spectrum()
ts.kaplan_yorke_dimension(exps)

Reference

Kaplan & Yorke (1979), Functional Differential Equations and Approximation of Fixed Points, Lecture Notes in Mathematics 730, 204-227

BibTeX
@misc{kaplanyorke,
  title = {KaplanYorke system},
  note = {Kaplan & Yorke (1979), Functional Differential Equations and Approximation of Fixed Points, Lecture Notes in Mathematics 730, 204-227}
}