Hyperbolic toral automorphisms have return growth: the criterion by the trace #
Category: 1-Mathlib (CSD-free; staged for upstream). BACKLOG #178 (out of #19 and #177).
For an integer matrix B ∈ SL₂(ℤ) with |tr B| > 2, the toral automorphism toral B of T² has
return growth log ρ, ρ = (|tr B| + √(tr B² − 4)) / 2 > 1 its spectral radius
(★★★ hasReturnGrowth_toral). The whole statement is read off one integer, the trace. Three facts
replace #176's Fibonacci-specific steps:
- the kernel of a toral endomorphism
toral Cwithdet C ≠ 0has exactly|det C|points (★★★card_ker_toral): #176's parametrisationm ↦ (1/det C)·adj(C)·m mod ℤ²with the2 × 2adjugate written out, and Mathlib'sSubmodule.natAbs_det_basis_changefor the lattice index; det(M − 1) = det M − tr M + 1for2 × 2matrices, so the fixed points oftoral Bᵗare|2 − tr Bᵗ|in number (★★card_fixedPoints_toral_pow);- Cayley–Hamilton
B² = (tr B)·B − (det B)·1gives the trace recurrencetr Bᵗ⁺² = tr B · tr Bᵗ⁺¹ − tr Bᵗ, solved in closed form byεᵗ(ρᵗ + ρ⁻ᵗ)withε = ±1the sign of the trace (★★trace_pow_eq);tr Bᵗ = 2would forceρᵗ = 1, impossible, so every return set is finite and nonempty, and(1 − ρ⁻¹)² ρᵗ ≤ #Fix ≤ 4 ρᵗsqueezes the growth tolog ρ.
The cat matrix is the instance tr = 3, ρ = φ², recovering #176's 2 log φ (cat_eq_toral,
spectralRadius_catMat).
Honest scope #
det B = 1throughout;det B = −1(orientation-reversing automorphisms) would needdet(Bᵗ − 1) = (−1)ᵗ − tr Bᵗ + 1and is not treated.- The converse —
|tr B| ≤ 2never has return growth — is #179. - The sign of the trace is carried by
ε = ±1and never split on:|εᵗ(ρᵗ + ρ⁻ᵗ)| = ρᵗ + ρ⁻ᵗ.
References: Katok–Hasselblatt, Introduction to the Modern Theory of Dynamical Systems, §1.8, §3.2;
Mathlib/Dynamics/CatMapPeriodicPoints.lean (#176, the cat-matrix case this generalises),
Mathlib/Dynamics/ReturnCriterion.lean (#177, HasReturnGrowth); specs/BACKLOG.md #178, #19.
Toral endomorphisms #
The real matrix, its adjugate, and the descent #
On integer vectors realMat is Matrix.toLin' C.
The kernel of a toral endomorphism has |det| points #
ℤ² → T², m ↦ C⁻¹ m mod ℤ²: the parametrisation of the kernel.
Equations
- MeasureTheory.kerLift C = AddMonoidHom.mk' (fun (m : Fin 2 → ℤ) => (↑(MeasureTheory.kerVec C m).1, ↑(MeasureTheory.kerVec C m).2)) ⋯
Instances For
Fixed points of a power #
Cayley–Hamilton and the trace recurrence #
The spectral radius and the closed form of the trace #
Every return set is finite and nonempty #
The return growth is log ρ #
The cat map as the instance tr = 3 #
The spectral radius of the cat matrix is φ².
#176's exponent recovered: log φ² = 2 log φ.
The cat map has return growth log φ², now as an instance of the general theorem.