Skip to content

Hopalong

Systems / Maps / Exotic maps

Barry Martin's "Hopalong" map — a square-root-and-sign nonlinearity that sprays iterates into layered ornamental chaotic attractors.

discrete · map2 dimensionsattractor

Hopalong attractor

attractor

Definition

@staticmethod
def _step(X, a, b, c):
    x, y = X
    xp = y - 1 - np.sqrt(np.abs(b * x - 1 - c)) * np.sign(x - 1)
    yp = a - x - 1
    return xp, yp

Parameters

Symbol Default Role
a 3.1 additive constant in the y-recurrence (overall offset)
b 2.5 scale inside the square-root argument
c 4.2 shift inside the square-root argument

State variables: x, y

Properties

Lyapunov spectrum
TODO — lyapunov_spectrum failed: AttributeError
Kaplan–Yorke dimension
TODO — requires a numeric Lyapunov spectrum
Divergence ∇·f
n/a — discrete map — flow divergence undefined (per-step contraction is |det J|)
Equilibria
none found (no fixed points)

Use it in TSDynamics

import tsdynamics as ts

system = ts.systems.Hopalong()
traj = system.run(steps=10_000)
ts.plot(traj)

spectrum = ts.analysis.lyapunov_spectrum(system)
ts.analysis.kaplan_yorke_dimension(spectrum)

Reference

Dewdney (1986), Scientific American 255(3), 14-20
doi:10.1038/scientificamerican0986-14

BibTeX
@misc{hopalong,
  title = {Hopalong system},
  note = {Dewdney (1986), Scientific American 255(3), 14-20},
  doi = {10.1038/scientificamerican0986-14}
}