Documentation

Expdb.Basic.PowerAsymptotics

Power asymptotics #

This module collects the project-wide notation and elementary calculus for quantities of the form T ^ (α + o(1)). It is independent of exponential sums and can therefore be reused by all later asymptotic arguments.

Definitions #

N = T ^ (α + o(1)), expressed using a variable exponent that is equal to α up to an infinitesimal.

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

    X ≪ T ^ (β + o(1)), expressed using a variable exponent that is equal to β up to an infinitesimal.

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

      Power asymptotics #

      theorem Expdb.IsPowerAsymptotic.eventually_between {N T : VariableObject } {α ε : } (hNT : IsPowerAsymptotic N T α) (hT : ∀ᶠ (i : ) in Filter.atTop, 1 T i) ( : 0 < ε) :
      ∀ᶠ (i : ) in Filter.atTop, T i ^ (α - ε) N i N i T i ^ (α + ε)

      If N = T ^ (α + o(1)), then N eventually lies between the powers with exponents α - ε and α + ε.

      theorem Expdb.isPowerAsymptotic_of_logb_tendsto {N T : VariableObject } {α : } (hT : ∀ᶠ (i : ) in Filter.atTop, 1 < T i) (hN : ∀ᶠ (i : ) in Filter.atTop, 0 < N i) (hexponent : Filter.Tendsto (fun (i : ) => Real.logb (T i) (N i)) Filter.atTop (nhds α)) :

      Convergence of the logarithmic exponent gives a power asymptotic.

      theorem Expdb.isPowerAsymptotic_of_between_of_infinitesimal {N T δ : VariableObject } {α : } (hT : ∀ (i : ), 1 < T i) (hN : ∀ (i : ), 0 < N i) ( : δ.IsInfinitesimal) (hbetween : ∀ (i : ), T i ^ (α - δ i) N i N i T i ^ (α + δ i)) :

      A variable power sandwich with an infinitesimal error determines a power asymptotic. No sign condition on the error is needed.

      theorem Expdb.isPowerAsymptotic_of_between {N T δ : VariableObject } {α : } (hT : ∀ (i : ), 1 < T i) (hN : ∀ (i : ), 0 < N i) (_hδnonneg : ∀ (i : ), 0 δ i) ( : δ.IsInfinitesimal) (hbetween : ∀ (i : ), T i ^ (α - δ i) N i N i T i ^ (α + δ i)) :

      A variable power sandwich with a nonnegative infinitesimal error determines a power asymptotic. This is the compatibility form of isPowerAsymptotic_of_between_of_infinitesimal.

      theorem Expdb.isPowerAsymptotic_of_between_const_rpow {N T : VariableObject } {α A B : } ( : 0 < α) (hA : 0 < A) (hB : 0 < B) (hNtop : Filter.Tendsto N Filter.atTop Filter.atTop) (hT : ∀ᶠ (i : ) in Filter.atTop, A * N i ^ α⁻¹ T i T i B * N i ^ α⁻¹) :

      Fixed positive multiplicative uncertainty in T = N ^ α⁻¹ does not affect the power asymptotic N = T ^ (α + o(1)).

      Algebra and limits #

      A base is power-asymptotic to itself with exponent one.

      theorem Expdb.IsPowerAsymptotic.mul {A B T : VariableObject } {α β : } (hA : IsPowerAsymptotic A T α) (hB : IsPowerAsymptotic B T β) (hT : ∀ (i : ), 1 T i) :
      IsPowerAsymptotic (A * B) T (α + β)

      Products of powers add their asymptotic exponents.

      theorem Expdb.IsPowerAsymptotic.div {A B T : VariableObject } {α β : } (hA : IsPowerAsymptotic A T α) (hB : IsPowerAsymptotic B T β) (hT : ∀ (i : ), 1 T i) :
      IsPowerAsymptotic (A / B) T (α - β)

      Quotients of powers subtract their asymptotic exponents.

      theorem Expdb.IsPowerAsymptotic.tendsto_zero_of_neg {X T : VariableObject } {α : } (hX : IsPowerAsymptotic X T α) ( : α < 0) (hT : ∀ (i : ), 1 T i) (hTunbounded : T.IsUnbounded) :

      A negative power-asymptotic exponent forces convergence to zero.

      theorem Expdb.IsPowerAsymptotic.tendsto_atTop_of_pos {X T : VariableObject } {α : } (hX : IsPowerAsymptotic X T α) ( : 0 < α) (hT : ∀ (i : ), 1 T i) (hTunbounded : T.IsUnbounded) :

      A positive power-asymptotic exponent forces convergence to infinity.

      theorem Expdb.isPowerAsymptotic_zero_of_tendsto_one {X T : VariableObject } (hX : Filter.Tendsto X Filter.atTop (nhds 1)) (hT : ∀ (i : ), 1 T i) (hTunbounded : T.IsUnbounded) :

      A quantity tending to one has power-asymptotic exponent zero relative to any unbounded base that is at least one.

      Natural-valued power scales #

      noncomputable def Expdb.floorRpow (T : VariableObject ) (κ : ) :

      The positive natural scale obtained by taking the floor of T ^ κ.

      Equations
      Instances For
        theorem Expdb.floorRpow_pos (T : VariableObject ) (κ : ) (i : ) :
        0 < floorRpow T κ i
        theorem Expdb.tendsto_floorRpow_cast_div_rpow_one {T : VariableObject } {κ : } ( : 0 < κ) (hT : Filter.Tendsto T Filter.atTop Filter.atTop) :
        Filter.Tendsto (fun (i : ) => (floorRpow T κ i) / T i ^ κ) Filter.atTop (nhds 1)

        Flooring a divergent positive power introduces only a multiplicative 1 + o(1) error.

        theorem Expdb.isPowerAsymptotic_floorRpow {T : VariableObject } {κ : } ( : 0 < κ) (hT : ∀ (i : ), 1 T i) (hTunbounded : T.IsUnbounded) :
        IsPowerAsymptotic (fun (i : ) => (floorRpow T κ i)) T κ

        The cast of floorRpow T κ is power-asymptotic to exponent κ.

        Power bounds #

        theorem Expdb.isLittleO_rpow_comp_tendsto_of_lt {T : VariableObject } {β γ : } (hT : Filter.Tendsto T Filter.atTop Filter.atTop) (hβγ : β < γ) :
        (fun (i : ) => T i ^ β) =o[Filter.atTop] fun (i : ) => T i ^ γ

        Strictly increasing a fixed exponent makes a real power little-o along a base tending to infinity.

        theorem Expdb.isPowerBounded_iff_forall_pos {E : Type u_1} [SeminormedAddCommGroup E] (X : VariableObject E) (T : VariableObject ) (β : ) (hT : ∀ (i : ), 1 T i) (hTunbounded : T.IsUnbounded) :
        IsPowerBounded X T β ∀ (ε : ), 0 < εX =O[Filter.atTop] fun (i : ) => T i ^ (β + ε)

        If T is at least one and unbounded, then X ≪ T ^ (β + o(1)) iff X = O(T ^ (β + ε)) for every fixed ε > 0.

        theorem Expdb.IsPowerBounded.mono {E : Type u_1} [SeminormedAddCommGroup E] {X : VariableObject E} {T : VariableObject } {β γ : } (hX : IsPowerBounded X T β) (hT : ∀ᶠ (i : ) in Filter.atTop, 1 T i) (hβγ : β γ) :

        Increasing the exponent preserves a power bound when the base is eventually at least one.

        theorem Expdb.exponent_le_of_isPowerBounded_of_eventually_norm_ge_rpow {E : Type u_1} [SeminormedAddCommGroup E] {X : VariableObject E} {T : VariableObject } {β γ c : } (hT : ∀ (i : ), 1 T i) (hTunbounded : T.IsUnbounded) (hbound : IsPowerBounded X T β) (hc : 0 < c) (hlower : ∀ᶠ (i : ) in Filter.atTop, c * T i ^ γ X i) :
        γ β

        A power lower bound for an unbounded object forces its exponent to be no larger than any admissible power-bound exponent.