Circle¶
Systems / Maps / Geometric maps
The circle map — mode-locking, Arnold tongues, and the devil's staircase.
Definition¶
@staticmethod
def _step(X, omega, k):
theta = X
thetap = theta + omega + (k / (2 * np.pi)) * np.sin(2 * np.pi * theta)
return thetap % 1
Parameters¶
| Symbol | Default | Role |
|---|---|---|
omega |
0.333 |
bare winding number (rotation without coupling) |
k |
5.7 |
nonlinearity / coupling strength (critical at k=1) |
State variables: theta
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
4 fixed points
0 stable · 4 unstable
0 stable · 4 unstable
Use it in TSDynamics¶
import tsdynamics as ts
system = ts.systems.Circle()
traj = system.run(steps=10_000)
ts.plot(traj)
spectrum = ts.analysis.lyapunov_spectrum(system)
ts.analysis.kaplan_yorke_dimension(spectrum)
Reference¶
Arnold (1965), Amer. Math. Soc. Transl. 46, 213-284
