Documentation

Oseledets.Examples.CatMapToral

The genuine Arnold cat map as a hyperbolic toral automorphism #

This module formalizes the genuine Arnold cat map: the automorphism of the 2-torus 𝕋² = UnitAddTorus (Fin 2) = Fin 2 → UnitAddCircle induced by the unimodular hyperbolic matrix M = !![2,1;1,1] ∈ SL₂(ℤ), and proves it is measure-preserving and ergodic for the Haar (volume) measure. This replaces the constant-cocycle realization in Oseledets/Examples/Elementary.lean (where the cat-map matrix is merely a constant cocycle over the doubling map) with real toral dynamics.

Strategy #

Main results #

@[implicit_reducible]

Normalise the circle measure to total mass 1 (AddCircle.haarAddCircle), matching the convention of Mathlib.Analysis.Fourier.AddCircleMulti (where mFourierBasis and the Fourier coefficient API are stated). With this MeasureSpace instance, volume on UnitAddTorus (Fin 2) is the product Haar probability measure on 𝕋², which is exactly the basis the Fourier API uses.

Equations
Instances For
    @[reducible, inline]

    The 2-torus 𝕋² = Fin 2 → UnitAddCircle.

    Equations
    Instances For

      The inverse cat-map matrix M⁻¹ = !![1,-1;-1,2] (note det M = 1).

      Equations
      Instances For

        The cat-map automorphism of the torus #

        The general toral endomorphism induced by an integer matrix A, (torusMap A y) i = ∑ j, A i j • y j.

        Equations
        Instances For

          The cat-map automorphism T_M : 𝕋² → 𝕋², induced by M = !![2,1;1,1].

          Equations
          Instances For

            torusMap of a matrix product is the composition of torusMaps. (The -action on UnitAddCircle makes each component additive, and matrix multiplication is the composition of the index actions.)

            catTorus packaged as an additive monoid homomorphism of 𝕋² (each component is a finite sum of -scalings, hence additive).

            Equations
            Instances For

              Measure preservation #

              The cat-map automorphism preserves Haar (volume). catTorus is a continuous surjective additive automorphism of the compact group 𝕋², and volume is a Haar probability measure, so AddMonoidHom.measurePreserving applies (equal total mass 1).

              catTorus as a measurable equivalence of 𝕋² (continuous bijection with continuous inverse on a compact Hausdorff space).

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                The Koopman / character relation #

                The Koopman operator sends a character to a character, with the index transformed by the (transpose of the) matrix. Since catℤ is symmetric, catℤᵀ = catℤ, so the index action is just n ↦ catℤ ·ᵥ n.

                theorem Oseledets.CatMapToral.fourier_add_point {k : } {x y : UnitAddCircle} :
                (fourier k) (x + y) = (fourier k) x * (fourier k) y

                The character property in the point argument: fourier k is multiplicative under addition.

                One -scaling inside fourier: fourier k (a • x) = fourier (k * a) x.

                theorem Oseledets.CatMapToral.fourier_sum_zsmul {k : } (a : Fin 2) (z : Fin 2UnitAddCircle) :
                (fourier k) (∑ j : Fin 2, a j z j) = j : Fin 2, (fourier (k * a j)) (z j)

                fourier of a finite sum of scalings is the product of the scaled-index characters: fourier k (∑ j, a j • z j) = ∏ j, fourier (k * a j) (z j).

                theorem Oseledets.CatMapToral.fourier_sum_index (c : Fin 2) (x : UnitAddCircle) :
                (fourier (∑ i : Fin 2, c i)) x = i : Fin 2, (fourier (c i)) x

                Additivity of fourier in the index over a finite sum: fourier (∑ i, c i) x = ∏ i, fourier (c i) x.

                Koopman / character relation. Composing a character with the cat-map automorphism gives the character at the vecMul-transformed index: mFourier n (catTorus y) = mFourier (catℤ.vecMul n) y. Equivalently mFourier (catℤ.vecMul n) = mFourier n ∘ catTorus.

                The Koopman relation as a functional identity: mFourier (catℤ.vecMul n) = (mFourier n) ∘ catTorus.

                Fourier coefficient invariance and the orbit-vanishing argument #

                Fourier coefficients of an invariant function are constant along the index orbit. If f =ᵐ f ∘ catTorus, then mFourierCoeff f (catℤ.vecMul n) = mFourierCoeff f n: composing the character mFourier (-n) with catTorus and changing variables (measure preservation) shows the two integrals agree.

                theorem Oseledets.CatMapToral.eq_zero_of_constant_on_infinite_of_summable {ι : Type u_1} {c : ι} {S : Set ι} {v : } (hS : S.Infinite) (hconst : iS, c i = v) (hsum : Summable fun (i : ι) => c i ^ 2) :
                v = 0

                A complex sequence that is constant on an infinite set and square-summable vanishes on that set. (Square-summability forces ‖·‖² → 0 along the cofinite filter, but a nonzero constant on an infinite set never tends to 0.)

                Identifying the index action with the mulVec orbit #

                catℤ is symmetric, so the vecMul index action coincides with the mulVec action.

                theorem Oseledets.CatMapToral.iterate_vecMul (p : ) (n : Fin 2) :
                (fun (m : Fin 2) => Matrix.vecMul m catℤ)^[p] n = (catℤ ^ p).mulVec n

                The p-fold iterate of the index action is the p-th matrix power applied by mulVec.

                theorem Oseledets.CatMapToral.index_orbit_infinite {n : Fin 2} (hn : n 0) :
                (Set.range fun (p : ) => (fun (m : Fin 2) => Matrix.vecMul m catℤ)^[p] n).Infinite

                The index orbit {(vecMul · catℤ)ᵖ n} is the mulVec-orbit, hence infinite for n ≠ 0.

                Ergodicity #

                The constant character mFourier 0 is the constant function 1.

                For an function f, the Fourier coefficients are square-summable.

                Fourier coefficients of an invariant function vanish off the origin. If (f : T2 → ℂ) is =ᵐ f ∘ catTorus and f ∈ L², then mFourierCoeff f n = 0 for every nonzero index n. (Constant along the infinite index orbit + square-summable ⇒ zero.)

                An invariant function is a.e. constant. If f ∈ L² and (f : T2 → ℂ) =ᵐ f∘catTorus, then f is a.e. equal to its zeroth Fourier coefficient. (All higher coefficients vanish by mFourierCoeff_eq_zero_of_invariant, so the Fourier series collapses to the constant term.)

                The Arnold cat map is ergodic. For a measurable catTorus-invariant set s, the indicator 1_s ∈ L² is catTorus-invariant, hence a.e. constant by ae_eq_const_of_invariant; an indicator that is a.e. constant forces s to be a.e. empty or a.e. the whole torus. Together with measurePreserving_catTorus this gives ergodicity.