Periodic points of the cat map grow at the Lyapunov exponent #
Category: 1-Mathlib (CSD-free; staged for upstream). BACKLOG #176 (out of #19 and #150).
The fixed points of cat^[t] on T² are the kernel of the toral endomorphism Aᵗ − I. Lifting
to the plane, they are the points C⁻¹m mod ℤ² for m ∈ ℤ², C = Aᵗ − I, so the fixed-point set
is ℤ² / Cℤ², whose order is |det C| (Mathlib's Submodule.natAbs_det_basis_change). With
Aᵗ = [[F₂ₜ₊₁, F₂ₜ], [F₂ₜ, F₂ₜ₋₁]] (catR_pow_apply) and Cassini's identity,
det C = 2 − tr Aᵗ = 2 − L₂ₜ where L₂ₜ = 2F₂ₜ₊₁ − F₂ₜ is the Lucas number, so
#Fix(cat^[t]) = L₂ₜ − 2 = φ²ᵗ + φ⁻²ᵗ − 2 = (φᵗ − φ⁻ᵗ)²,
and (1/t) log #Fix(cat^[t]) → 2 log φ: the periodic points grow at exactly the Lyapunov exponent
of hasLyapunovExponent_catR — the cat-map instance of topological entropy = Lyapunov exponent.
MeasureTheory.lucasEven—L₂ₜ = 2F₂ₜ₊₁ − F₂ₜ, with ★lucasEven_eqits Binet formφ²ᵗ + ψ²ᵗandthree_le_lucasEven_succ;MeasureTheory.cassini—F₍ₙ₊₂₎Fₙ − F₍ₙ₊₁₎² = (−1)ⁿ⁺¹;MeasureTheory.catLatMat,catLat, ★det_catLatMat— the integer matrixAᵗ − Iand its determinant2 − L₂ₜ;MeasureTheory.cat_iterate_coe—cat^[t]descends fromcatR ^ t;MeasureTheory.catFixLift,catFixLift_mem,catFixLift_surjective,ker_catFixLift— the parametrisation of the fixed points byℤ², with kernelCℤ²;- ★★★
MeasureTheory.card_fixedPoints_cat_iterate—#Fix(cat^[t]) = L₂ₜ − 2fort ≥ 1; - ★★
MeasureTheory.tendsto_log_card_fixedPoints_cat— the growth rate is2 log φ.
Honest scope #
- The cat matrix only; for a general hyperbolic
A ∈ SL₂(ℤ)the same argument gives|det(Aᵗ − I)| = |tr Aᵗ − 2|and growth atlogof the spectral radius. - "Topological entropy" is not defined here; the statement is the growth rate of the periodic-point count, which is what that entropy equals for a hyperbolic toral automorphism.
t ≥ 1throughout (cat^[0] = idhas every point fixed).
References: Katok–Hasselblatt, Introduction to the Modern Theory of Dynamical Systems, §1.8 and
§3.2 (periodic points of toral automorphisms, |det(Aⁿ − I)|); Walters, An Introduction to Ergodic
Theory, §8.2; Mathlib/LinearAlgebra/FreeModule/Finite/CardQuotient.lean
(Submodule.natAbs_det_basis_change); in-corpus CatMapWitness.lean (cat),
LyapunovExponent.lean (catR, cat_coe, hasLyapunovExponent_catR), ClassicalOtoc.lean
(catR_pow_apply); specs/BACKLOG.md #176, #19, #150, #148.
Lucas numbers and Cassini #
★ Binet for the even Lucas numbers: L₂ₙ = φ²ⁿ + ψ²ⁿ.
The lattice Aᵗ − I #
The integer matrix Aᵗ − I = [[F₂ₜ₊₁ − 1, F₂ₜ], [F₂ₜ, F₂ₜ₊₁ − F₂ₜ − 1]].
Equations
Instances For
The lattice map ℤ² → ℤ², m ↦ (Aᵗ − I) m.
Equations
Instances For
Aᵗ − I is injective on ℤ²: multiply by the adjugate.
The iterate descends from catR ^ t #
The real matrices Aᵗ − I and its adjugate #
The real matrix Aᵗ − I acting on the plane.
Equations
Instances For
The adjugate of Aᵗ − I, acting on the plane.
Equations
Instances For
The fixed points, parametrised by ℤ² #
The real lift of the fixed point attached to m ∈ ℤ²: (Aᵗ − I)⁻¹ m.
Equations
- MeasureTheory.catFixVec s m = (MeasureTheory.catDetR (s + 1))⁻¹ • MeasureTheory.catAdjR (s + 1) (↑(m 0), ↑(m 1))
Instances For
ℤ² → T², m ↦ (Aᵗ − I)⁻¹ m mod ℤ²: the parametrisation of the fixed points.
Equations
- MeasureTheory.catFixLift s = AddMonoidHom.mk' (fun (m : Fin 2 → ℤ) => (↑(MeasureTheory.catFixVec s m).1, ↑(MeasureTheory.catFixVec s m).2)) ⋯
Instances For
Every parametrised point is fixed.
The count #
The growth rate is the Lyapunov exponent #
★★ The periodic points of the cat map grow at the Lyapunov exponent:
(1/t) log #Fix(cat^[t]) → 2 log φ.