Skip to content

Circle

Systems / Maps / Geometric maps

The circle map — mode-locking, Arnold tongues, and the devil's staircase.

discrete · map1 dimensionmode-locking

Circle return map · bifurcation diagram

return map · bifurcation diagram

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

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

BibTeX
@misc{circle,
  title = {Circle system},
  note = {Arnold (1965), Amer. Math. Soc. Transl. 46, 213-284}
}