Documentation

Mathlib.Analysis.Asymptotics.ExpGrowth

Exponential growth #

This file defines the exponential growth of a sequence u : ℕ → ℝ≥0∞. This notion comes in two versions, using a liminf and a limsup respectively.

Main definitions #

Tags #

asymptotics, exponential

Definition #

noncomputable def ExpGrowth.expGrowthInf (u : ENNReal) :

Lower exponential growth of a sequence of extended nonnegative real numbers.

Equations
    Instances For
      noncomputable def ExpGrowth.expGrowthSup (u : ENNReal) :

      Upper exponential growth of a sequence of extended nonnegative real numbers.

      Equations
        Instances For

          Basic properties #

          theorem ExpGrowth.expGrowthInf_le_iff {u : ENNReal} {a : EReal} :
          expGrowthInf u a b > a, ∃ᶠ (n : ) in Filter.atTop, u n (b * n).exp
          theorem ExpGrowth.le_expGrowthInf_iff {u : ENNReal} {a : EReal} :
          a expGrowthInf u b < a, ∀ᶠ (n : ) in Filter.atTop, (b * n).exp u n
          theorem ExpGrowth.expGrowthSup_le_iff {u : ENNReal} {a : EReal} :
          expGrowthSup u a b > a, ∀ᶠ (n : ) in Filter.atTop, u n (b * n).exp
          theorem ExpGrowth.le_expGrowthSup_iff {u : ENNReal} {a : EReal} :
          a expGrowthSup u b < a, ∃ᶠ (n : ) in Filter.atTop, (b * n).exp u n
          theorem ExpGrowth.frequently_le_exp {u : ENNReal} {a : EReal} (h : expGrowthInf u < a) :
          ∃ᶠ (n : ) in Filter.atTop, u n (a * n).exp
          theorem ExpGrowth.eventually_exp_le {u : ENNReal} {a : EReal} (h : a < expGrowthInf u) :
          ∀ᶠ (n : ) in Filter.atTop, (a * n).exp u n
          theorem ExpGrowth.eventually_le_exp {u : ENNReal} {a : EReal} (h : expGrowthSup u < a) :
          ∀ᶠ (n : ) in Filter.atTop, u n (a * n).exp
          theorem ExpGrowth.frequently_exp_le {u : ENNReal} {a : EReal} (h : a < expGrowthSup u) :
          ∃ᶠ (n : ) in Filter.atTop, (a * n).exp u n

          Special cases #

          theorem ExpGrowth.expGrowthInf_const {b : ENNReal} (h : b 0) (h' : b ) :
          (expGrowthInf fun (x : ) => b) = 0
          theorem ExpGrowth.expGrowthSup_const {b : ENNReal} (h : b 0) (h' : b ) :
          (expGrowthSup fun (x : ) => b) = 0
          theorem ExpGrowth.expGrowthInf_pow {b : ENNReal} :
          (expGrowthInf fun (n : ) => b ^ n) = b.log
          theorem ExpGrowth.expGrowthSup_pow {b : ENNReal} :
          (expGrowthSup fun (n : ) => b ^ n) = b.log
          theorem ExpGrowth.expGrowthInf_exp {a : EReal} :
          (expGrowthInf fun (n : ) => (a * n).exp) = a
          theorem ExpGrowth.expGrowthSup_exp {a : EReal} :
          (expGrowthSup fun (n : ) => (a * n).exp) = a

          Multiplication and inversion #

          See expGrowthInf_mul_le' for a version with swapped argument u and v.

          See expGrowthInf_mul_le for a version with swapped argument u and v.

          See le_expGrowthSup_mul' for a version with swapped argument u and v.

          See le_expGrowthSup_mul for a version with swapped argument u and v.

          Comparison #

          Infimum and supremum #

          Lower exponential growth as an InfTopHom.

          Equations
            Instances For
              theorem ExpGrowth.expGrowthInf_biInf {α : Type u_1} (u : αENNReal) {s : Set α} (hs : s.Finite) :
              expGrowthInf (⨅ xs, u x) = xs, expGrowthInf (u x)
              theorem ExpGrowth.expGrowthInf_iInf {ι : Type u_1} [Finite ι] (u : ιENNReal) :
              expGrowthInf (⨅ (i : ι), u i) = ⨅ (i : ι), expGrowthInf (u i)

              Upper exponential growth as a SupBotHom.

              Equations
                Instances For
                  theorem ExpGrowth.expGrowthSup_biSup {α : Type u_1} (u : αENNReal) {s : Set α} (hs : s.Finite) :
                  expGrowthSup (⨆ xs, u x) = xs, expGrowthSup (u x)
                  theorem ExpGrowth.expGrowthSup_iSup {ι : Type u_1} [Finite ι] (u : ιENNReal) :
                  expGrowthSup (⨆ (i : ι), u i) = ⨆ (i : ι), expGrowthSup (u i)

                  Addition #

                  theorem ExpGrowth.expGrowthSup_sum {α : Type u_1} (u : αENNReal) (s : Finset α) :
                  expGrowthSup (∑ xs, u x) = xs, expGrowthSup (u x)

                  Composition #

                  theorem ExpGrowth.expGrowthSup_comp_le {u : ENNReal} {v : } (hu : ∃ᶠ (n : ) in Filter.atTop, 1 u n) (hv₀ : (LinearGrowth.linearGrowthSup fun (n : ) => (v n)) 0) (hv₁ : (LinearGrowth.linearGrowthSup fun (n : ) => (v n)) ) (hv₂ : Filter.Tendsto v Filter.atTop Filter.atTop) :

                  Monotone sequences #

                  theorem Monotone.expGrowthInf_comp_le {u : ENNReal} {v : } (h : Monotone u) (hv₀ : (LinearGrowth.linearGrowthSup fun (n : ) => (v n)) 0) (hv₁ : (LinearGrowth.linearGrowthSup fun (n : ) => (v n)) ) :
                  theorem Monotone.le_expGrowthSup_comp {u : ENNReal} {v : } (h : Monotone u) (hv : (LinearGrowth.linearGrowthInf fun (n : ) => (v n)) 0) :
                  theorem Monotone.expGrowthInf_comp {u : ENNReal} {v : } {a : EReal} (h : Monotone u) (hv : Filter.Tendsto (fun (n : ) => (v n) / n) Filter.atTop (nhds a)) (ha : a 0) (ha' : a ) :
                  theorem Monotone.expGrowthSup_comp {u : ENNReal} {v : } {a : EReal} (h : Monotone u) (hv : Filter.Tendsto (fun (n : ) => (v n) / n) Filter.atTop (nhds a)) (ha : a 0) (ha' : a ) :
                  theorem Monotone.expGrowthInf_comp_mul {u : ENNReal} {m : } (h : Monotone u) (hm : m 0) :
                  (ExpGrowth.expGrowthInf fun (n : ) => u (m * n)) = m * ExpGrowth.expGrowthInf u
                  theorem Monotone.expGrowthSup_comp_mul {u : ENNReal} {m : } (h : Monotone u) (hm : m 0) :
                  (ExpGrowth.expGrowthSup fun (n : ) => u (m * n)) = m * ExpGrowth.expGrowthSup u