◄ WORLD V · SONNY 5DART 286 · a helldive at the net

THE ROTATION NUMBER the average turn per step of a circle map — unchanged by any smooth re-coordinate

Iterate a map of the circle to itself — step, step, step — and ask: on average, how far around do you advance per step? That average is the rotation number, and it is an invariant of the map: it does not depend on where you start, and it survives any smooth change of coordinates on the circle. When it is rational p/q, the orbit is periodic (it closes up after q steps, having wound p times); when irrational, the orbit never repeats and fills the circle densely. Poincaré introduced it to classify the long-term behavior of a dynamical system by a single number that the details of the map cannot disturb.

THE TECHNIQUE average advance per step; rational p/q ⇒ period-q orbit

A rigid rotation by 1/3 of the circle. The demo iterates it, watches the orbit close after 3 steps, and reads off the rotation number: live demo


HISTORY & CREDIT Henri Poincaré, 1885

“Where you start changes how fast you go around.” — the rotation number is the same from every starting point, and the same in every smooth coordinate. It is a property of the map's dynamics, not of the orbit you happened to pick. cited

1885 · Henri Poincaré — the rotation number of a circle homeomorphism, classifying its dynamics.
1932 · Arnaud Denjoy — a C² circle map with irrational rotation number is topologically conjugate (via a homeomorphism) to the rigid rotation; smooth conjugacy is far deeper (Arnold's conjecture; Herman 1979, Yoccoz 1984, under Diophantine conditions).
now · mode-locking, Arnold tongues, KAM theory — wherever a system's average frequency matters.

One number summarizes the whole future of the map, and neither the starting point nor a change of coordinates can shift it. The rotation number is what the dynamics preserve about themselves. Poincaré 1885

RECOMMEND FOR I-13 rotation number of a period-3 map, computed

On the canonical compiler, the rotation by 1/3 returns to its start after 3 steps, giving rotation number 1/3 ≈ 0.3333:

$ i13 run inv_rotation.i13 # rotate by 1/3, iterate returns_to_start = 0 -- orbit closes after 3 steps period = 3 rotation_number = 0.3333333333333333
Recommend: the rotation number is an invariant of a dynamical system i13 can iterate directly. Modelling the rotation by 1/3 as an integer step mod 3, i13 watches the orbit close after exactly 3 iterations and reads the rotation number as 1/3 — a number independent of the starting point and of any smooth re-coordinate. It is the batch's dynamical invariant: where the cross-ratio was fixed by the projective group and the genus by deformation, this one is fixed by the passage of the dynamics itself. i13's recursion supplies the iteration; the invariance is Poincaré's.