The genuine-log forward singular exponent γ_k^log (EReal-valued) #
For a possibly-singular matrix cocycle generator A : X → Matrix (Fin d) (Fin d) ℝ — no
det A ≠ 0, no inverse integrability, only forward integrability — this module packages the
cumulative genuine-log forward singular exponent
γ_k^log(x) = limsup_n ((1/n) log sprod_k(A⁽ⁿ⁾ x) : EReal),
built from the honest logarithm Real.log (NOT the positive part Real.posLog used in
Oseledets.forwardSingularExponent). Here sprod_k = Oseledets.sprod A T k is the top-k
singular-value product (the k-volume growth).
This is the right object for the −∞ kernel / volume-collapse stratum of the Raghunathan /
Quas non-invertible multiplicative ergodic theorem. When the cocycle collapses k-volume
(sprod_k → 0), the genuine log sprod_k → −∞, so γ_k^log can attain the bottom value ⊥ of
EReal — a regime the log⁺ exponent γ_k cannot see (it is pinned at 0 there). The log⁺
exponent records only the expanding part of the spectrum; this genuine-log exponent is what
detects the singular −∞ exponent on the kernel stratum.
The non-invertible MET via exterior algebra, the singular value decomposition, and Kingman's subadditive ergodic theorem (the Raghunathan approach) is the structure followed here; see A. Quas, Multiplicative Ergodic Theorems and Applications (Theorem 2, §3.1; method due to M. S. Raghunathan, A proof of Oseledec's multiplicative ergodic theorem, Israel J. Math. 32 (1979), 356–362).
Main definitions #
Oseledets.forwardSingularExponentLog— the genuine-logcumulative forward singular exponentγ_k^log, anEReal-valuedlimsup, defined for everyxwith no invertibility hypothesis. It can equal⊥(the kernel / volume-collapse regime).
Main results #
Oseledets.measurable_forwardSingularExponentLog—γ_k^logis measurable.Oseledets.forwardSingularExponentLog_le—γ_k^log(x) ≤ γ_k(x)for everyx(deterministic), whereγ_k = Oseledets.forwardSingularExponentis thelog⁺exponent. Sincelog ≤ log⁺termwise, the genuine-logexponent is always dominated by thelog⁺one; the gap is exactly the collapse−∞stratum invisible tolog⁺.Oseledets.forwardSingularExponentLog_eq_bot_of_tendsto— the−∞kernel stratum hook: if(1/n) log sprod_k(A⁽ⁿ⁾ x) → −∞(thek-volume collapses super-exponentially), thenγ_k^log(x) = ⊥.
Implementation notes #
- Everything here rests only on
Oseledets.sprodand theEReal-limsup/Real.loginfrastructure; nodet A ≠ 0, nolog⁺‖A⁻¹‖ ∈ L¹. The genuine-loglimsupneed not converge for a singular cocycle (it may fall to−∞), which is the whole point: it captures the collapse thelog⁺packaging deliberately discards. - The companion
log⁺exponent (Oseledets.forwardSingularExponent) isμ-a.e. a finite real constant; the genuine-logexponent here is only bounded above by it (a.e. byforwardSingularExponentLog_le). The two coincide a.e. precisely on the non-collapsing (expanding) stratum whereγ_k > 0(cf.Oseledets.limsup_logSprod_eq_top_of_pos); on the collapse stratum the genuine-logexponent drops strictly, possibly to⊥.
References #
- A. Quas, Multiplicative Ergodic Theorems and Applications, lecture notes (Theorem 2 and §3.1, the non-invertible form via SVD + exterior algebra + Kingman; Raghunathan's method).
- M. S. Raghunathan, A proof of Oseledec's multiplicative ergodic theorem, Israel J. Math. 32 (1979), 356–362.
- M. Viana, Lectures on Lyapunov Exponents, Cambridge Studies in Adv. Math. 145 (2014).
The genuine-log forward singular exponent γ_k^log of a possibly-singular cocycle
generator, as an EReal-valued limsup:
γ_k^log(x) = limsup_n ((1/n) log sprod_k(A⁽ⁿ⁾ x) : EReal),
where sprod_k = Oseledets.sprod A T k is the top-k singular-value product. Unlike the log⁺
exponent Oseledets.forwardSingularExponent, this uses the genuine Real.log, so it can equal
⊥ when the k-volume collapses (sprod_k → 0, the kernel stratum of the non-invertible MET).
Equations
- Oseledets.forwardSingularExponentLog A T k x = Filter.limsup (fun (n : ℕ) => ↑((↑n)⁻¹ * Real.log (Oseledets.sprod A T k n x))) Filter.atTop
Instances For
γ_k^log is measurable. Each x ↦ (1/n) log sprod_k(A⁽ⁿ⁾ x) is measurable: sprod is
measurable (measurable_sprod, which carries [NeZero d]), Real.log is measurable
(Real.measurable_log), and the scalar multiply is too; its ℝ → EReal coercion is measurable
(measurable_coe_real_ereal), and the ℕ-limsup of measurable EReal-valued functions is
measurable (Measurable.limsup). Mirrors measurable_forwardSingularExponent.
γ_k^log(x) ≤ γ_k(x) for every x (deterministic, no hypotheses), where γ_k is the
log⁺ exponent Oseledets.forwardSingularExponent. Termwise Real.log t ≤ Real.posLog t, so
(1/n) log sprod_k ≤ (1/n) log⁺ sprod_k for every n (the factor (n:ℝ)⁻¹ ≥ 0); coercing to
EReal (EReal.coe_le_coe_iff) and using monotonicity of the EReal-limsup
(Filter.limsup_le_limsup with the everywhere-≤) yields the bound. The genuine-log exponent is
thus always dominated by the log⁺ one; the gap is the collapse −∞ stratum log⁺ cannot see.
The −∞ kernel / volume-collapse stratum hook. If the normalized genuine log-volume
(1/n) log sprod_k(A⁽ⁿ⁾ x) tends to −∞ (the top-k volume collapses super-exponentially — the
kernel stratum of the non-invertible Raghunathan/Quas MET), then the genuine-log exponent attains
the bottom value: γ_k^log(x) = ⊥. The real sequence tending to atBot makes its ℝ → EReal
coercion converge to 𝓝 ⊥ (EReal.tendsto_coe_nhds_bot_iff), and the EReal-limsup of a
convergent sequence is its limit (Filter.Tendsto.limsup_eq). This is the exponent the log⁺
packaging cannot record (forwardSingularExponent ≥ 0 always).