Lyapunov exponents of linear maps, and the cat map's #
Category: 1-Mathlib (CSD-free; staged as a Mathlib-upstream candidate).
BACKLOG #148; consumed by SigmaLayer/FibreLyapunov.lean.
Mathlib has no notion of Lyapunov exponent (MATHLIB-ABSENT(lyapunovExponent)). This file defines
the one notion that needs no manifold: for a continuous linear map A of a real normed space and
a direction v, HasLyapunovExponent A v l says log ‖Aⁿ v‖ / n → l. For the derivative of a
smooth map this is the Lyapunov exponent of the tangent direction v; for a linear map the
derivative is the map itself, and for a translation it is the identity.
The cat map #
catR : ℝ² →L ℝ² is the matrix [[2,1],[1,1]], the lift of cat (cat_coe) and the action
catZ on frequencies (catR_intCast). Its eigenvalues are φ² and φ⁻² = 2 − φ; the
expanding and contracting linear forms ellUR, ellSR of CatMapMixing.lean's integer argument
are the real ones here, and the geometric sandwich hasLyapunovExponent_of_geometric_bounds turns
their scaling into the exponents:
- ★★
hasLyapunovExponent_catR: every direction off the stable line has exponent2 log φ; - ★
hasLyapunovExponent_catR_stable: every nonzero direction on it has exponent−2 log φ; hasLyapunovExponent_id: the identity has exponent0in every direction.
Honest scope #
- Linear maps only. The exponent of a nonlinear map at a point, in a tangent direction, is the exponent of its derivative there; the Oseledets theorem (existence of exponents almost everywhere for a measure-preserving map) is not formalised and is not needed for the maps downstream, whose derivatives are constant.
log ‖0‖ = 0in Lean, so the zero direction has exponent0trivially; the theorems are stated for nonzero directions where that matters.
References: Katok–Hasselblatt, Introduction to the Modern Theory of Dynamical Systems, §1.8
(the cat map's exponents) and Supplement S; Mathlib/Dynamics/CatMapWitness.lean (cat, catZ),
Mathlib/Dynamics/CatMapMixing.lean (ellU, ellS, the golden-ratio facts);
specs/BACKLOG.md #148.
The exponent of a direction under a linear map #
HasLyapunovExponent A v l: the direction v has Lyapunov exponent l under the
continuous linear map A, i.e. log ‖Aⁿ v‖ / n → l.
Equations
- HasLyapunovExponent A v l = Filter.Tendsto (fun (n : ℕ) => Real.log ‖(A ^ n) v‖ / ↑n) Filter.atTop (nhds l)
Instances For
The identity stretches nothing: exponent 0 in every direction.
The geometric sandwich: a direction squeezed between two geometric envelopes with the same
ratio r has exponent log r.
The real cat matrix and its two eigenforms #
The cat matrix [[2,1],[1,1]] as a continuous linear map of ℝ²: the lift of cat to the
plane, and the derivative of cat at every point.
Equations
Instances For
The expanding linear form v ↦ v₁ + (φ − 1) v₂ on ℝ²: catR scales it by φ².
Equations
- MeasureTheory.ellUR v = v.1 + (Real.goldenRatio - 1) * v.2
Instances For
The contracting linear form v ↦ v₁ − φ v₂ on ℝ²: catR scales it by 2 − φ = φ⁻².
Equations
- MeasureTheory.ellSR v = v.1 - Real.goldenRatio * v.2
Instances For
2 − φ = φ⁻².