Hopalong¶
Barry Martin's "Hopalong" map — a square-root-and-sign nonlinearity that sprays iterates into layered ornamental chaotic attractors.
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
