Documentation

Oseledets.Lyapunov.Extensions.ExteriorCocycle

The exterior (wedge) cocycle and the growth-rate characterization #

This module is purely additive on top of the spectrum object Oseledets.exponents : Fin d → ℝ and the partial sums Oseledets.gammaK (Γ_k), under the standing hypotheses (hT : Ergodic T μ, hA : ∀ x, (A x).det ≠ 0, hAmeas : Measurable A, hint : IntegrableLogNorm A μ, hint' : IntegrableLogNorm (fun x => (A x)⁻¹) μ, together with [IsProbabilityMeasure μ]).

It realizes the exterior / wedge characterization of the partial sums of Lyapunov exponents. Three layers:

Main definitions #

Main results #

Implementation notes #

The compound generator extGen k A has values in the ⋀^k-finrank-indexed square matrices Matrix (Fin (finrank ℝ (⋀[ℝ]^k (EuclideanSpace ℝ (Fin d))))) … ℝ; the cocycle machinery (cocycle, cocycle_succ, cocycle_one) is generic over the matrix index type, so it applies verbatim.

The Furstenberg–Kesten-on-the-compound-generator route (feeding extGen k A to the top-exponent FK theorem) is not used and not required: it would demand its own integrability bound log⁺‖C_k(A)‖ ≤ k · log⁺‖A‖ + C. The scalar route through sprod is far cheaper and is what we use here. The cocycle structure (cocycle_extGen_eq_compound) is nonetheless proved, since it is the conceptual content of "the wedge of the cocycle is a cocycle".

References #

The exterior (compound) cocycle generator #

noncomputable def Oseledets.extGen {X : Type u_1} {d : } (k : ) (A : XMatrix (Fin d) (Fin d) ) :

The k-th exterior (compound) cocycle generator. It sends x to the k-th compound matrix C_k(A x) (whose entries are the k × k minors of A x). Its iterated cocycle is the compound of the iterated cocycle — see cocycle_extGen_eq_compound.

Equations
Instances For
    theorem Oseledets.cocycle_extGen_eq_compound {X : Type u_1} {d : } {T : XX} (k : ) (A : XMatrix (Fin d) (Fin d) ) (n : ) (x : X) :

    The exterior power of the cocycle is the cocycle of the exterior power. The iterate of the compound cocycle generator equals the compound of the cocycle iterate: cocycle (extGen k A) T n x = C_k(cocycle A T n x).

    This is Cauchy–Binet (ExteriorNorm.compoundMatrix_mul) packaged dynamically: induction on n with compoundMatrix_one for the base and compoundMatrix_mul for the step. It shows that the k-th exterior power of a matrix cocycle is itself a matrix cocycle.

    The k-volume / largest-minor growth rate #

    theorem Oseledets.tendsto_log_opNorm_compound_cocycle {X : Type u_1} [MeasurableSpace X] {d : } [NeZero d] {μ : MeasureTheory.Measure X} {T : XX} [MeasureTheory.IsProbabilityMeasure μ] (hT : Ergodic T μ) {A : XMatrix (Fin d) (Fin d) } (hA : ∀ (x : X), (A x).det 0) (hAmeas : Measurable A) (hint : IntegrableLogNorm A μ) (hint' : IntegrableLogNorm (fun (x : X) => (A x)⁻¹) μ) {k : } (hk : k d) :
    ∀ᵐ (x : X) μ, Filter.Tendsto (fun (n : ) => (↑n)⁻¹ * Real.log ExteriorNorm.compoundMatrix k (cocycle A T n x)) Filter.atTop (nhds (gammaK hT hA hAmeas hint hint' hk))

    The k-volume growth rate equals Γ_k. For μ-a.e. x, (1/n) log ‖C_k(cocycle A T n x)‖ → Γ_k. The operator norm of the compound matrix is the product of the top-k singular values (ExteriorNorm.prod_singularValues_eq_l2_opNorm_compound), i.e. the largest k × k minor growth / k-dimensional volume growth; its growth rate is the partial sum Γ_k of the top-k Lyapunov exponents.

    We rewrite ‖C_k(cocycle A T n x)‖ = sprod_k and apply gammaK_tendsto (the scalar route), avoiding any Furstenberg–Kesten integrability bound for the compound generator.

    theorem Oseledets.gammaK_one_eq_topExponent {X : Type u_1} [MeasurableSpace X] {d : } [NeZero d] {μ : MeasureTheory.Measure X} {T : XX} [MeasureTheory.IsProbabilityMeasure μ] (hT : Ergodic T μ) {A : XMatrix (Fin d) (Fin d) } (hA : ∀ (x : X), (A x).det 0) (hAmeas : Measurable A) (hint : IntegrableLogNorm A μ) (hint' : IntegrableLogNorm (fun (x : X) => (A x)⁻¹) μ) (h1 : 1 d) :
    gammaK hT hA hAmeas hint hint' h1 = topExponent hT hA hAmeas hint hint'

    Γ_1 is the top Lyapunov exponent. The first partial sum Γ_1 = ∑_{i<1} exponents i equals exponents 0 = topExponent.

    The positive-exponent sum as a maximal partial sum #

    theorem Oseledets.sumPosExp_eq_gammaK_card_pos {X : Type u_1} [MeasurableSpace X] {d : } [NeZero d] {μ : MeasureTheory.Measure X} {T : XX} [MeasureTheory.IsProbabilityMeasure μ] (hT : Ergodic T μ) {A : XMatrix (Fin d) (Fin d) } (hA : ∀ (x : X), (A x).det 0) (hAmeas : Measurable A) (hint : IntegrableLogNorm A μ) (hint' : IntegrableLogNorm (fun (x : X) => (A x)⁻¹) μ) (hk : {i : Fin d | 0 < exponents hT hA hAmeas hint hint' i}.card d) :
    sumPosExp hT hA hAmeas hint hint' = gammaK hT hA hAmeas hint hint' hk

    The positive-exponent sum is the maximal partial sum. Writing k₊ = #{i | 0 < exponents i} for the number of strictly positive Lyapunov exponents, the sum of the positive exponents equals the partial sum Γ_{k₊} = ∑_{i<k₊} exponents i.

    Since exponents is antitone, its strictly positive entries are exactly the top k₊ indices, so the filtered positive sum coincides with the top-k₊ prefix sum, which is Γ_{k₊} by gammaK_eq_sum_top_exponents. Equivalently, among all partial sums Γ_k of the antitone sequence exponents, the maximum is attained exactly at k = k₊ (adding any non-positive exponent does not increase the sum).