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 #
expGrowthInf
,expGrowthSup
: respectively,liminf
andlimsup
oflog (u n) / n
.expGrowthInfTopHom
,expGrowthSupBotHom
: the functionsexpGrowthInf
,expGrowthSup
as homomorphisms preserving finitaryInf
/Sup
respectively.
Tags #
asymptotics, exponential
Definition #
Lower exponential growth of a sequence of extended nonnegative real numbers.
Equations
- ExpGrowth.expGrowthInf u = Filter.liminf (fun (n : ℕ) => (u n).log / ↑n) Filter.atTop
Instances For
Upper exponential growth of a sequence of extended nonnegative real numbers.
Equations
- ExpGrowth.expGrowthSup u = Filter.limsup (fun (n : ℕ) => (u n).log / ↑n) Filter.atTop
Instances For
Basic properties #
theorem
ExpGrowth.expGrowthInf_le_expGrowthSup_of_frequently_le
{u v : ℕ → ENNReal}
(h : ∃ᶠ (n : ℕ) in Filter.atTop, u n ≤ v n)
:
Special cases #
Multiplication and inversion #
theorem
ExpGrowth.expGrowthInf_mul_le
{u v : ℕ → ENNReal}
(h : expGrowthSup u ≠ ⊥ ∨ expGrowthInf v ≠ ⊤)
(h' : expGrowthSup u ≠ ⊤ ∨ expGrowthInf v ≠ ⊥)
:
See expGrowthInf_mul_le'
for a version with swapped argument u
and v
.
theorem
ExpGrowth.expGrowthInf_mul_le'
{u v : ℕ → ENNReal}
(h : expGrowthInf u ≠ ⊥ ∨ expGrowthSup v ≠ ⊤)
(h' : expGrowthInf u ≠ ⊤ ∨ expGrowthSup 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
.
theorem
ExpGrowth.expGrowthSup_mul_le
{u v : ℕ → ENNReal}
(h : expGrowthSup u ≠ ⊥ ∨ expGrowthSup v ≠ ⊤)
(h' : expGrowthSup u ≠ ⊤ ∨ expGrowthSup v ≠ ⊥)
:
Comparison #
Infimum and supremum #
Lower exponential growth as an InfTopHom
.
Equations
- ExpGrowth.expGrowthInfTopHom = { toFun := ExpGrowth.expGrowthInf, map_inf' := ⋯, map_top' := ExpGrowth.expGrowthInf_top }
Instances For
Upper exponential growth as a SupBotHom
.
Equations
- ExpGrowth.expGrowthSupBotHom = { toFun := ExpGrowth.expGrowthSup, map_sup' := ⋯, map_bot' := ExpGrowth.expGrowthSup_zero }
Instances For
Addition #
Composition #
theorem
ExpGrowth.tendsto_atTop_of_linGrowthInf_pos
{v : ℕ → ℕ}
(h : Filter.liminf (fun (n : ℕ) => ↑(v n) / ↑n) Filter.atTop ≠ 0)
:
theorem
ExpGrowth.le_expGrowthInf_comp
{u : ℕ → ENNReal}
{v : ℕ → ℕ}
(hu : 1 ≤ᶠ[Filter.atTop] u)
(hv : Filter.Tendsto v Filter.atTop Filter.atTop)
:
theorem
ExpGrowth.expGrowthSup_comp_le
{u : ℕ → ENNReal}
{v : ℕ → ℕ}
(hu : ∃ᶠ (n : ℕ) in Filter.atTop, 1 ≤ u n)
(hv₀ : Filter.limsup (fun (n : ℕ) => ↑(v n) / ↑n) Filter.atTop ≠ 0)
(hv₁ : Filter.limsup (fun (n : ℕ) => ↑(v n) / ↑n) Filter.atTop ≠ ⊤)
(hv₂ : Filter.Tendsto v Filter.atTop Filter.atTop)
:
Monotone sequences #
theorem
ExpGrowth.expGrowthInf_comp_nonneg
{u : ℕ → ENNReal}
{v : ℕ → ℕ}
(h : Monotone u)
(h' : u ≠ 0)
(hv : Filter.Tendsto v Filter.atTop Filter.atTop)
:
theorem
ExpGrowth.expGrowthSup_comp_nonneg
{u : ℕ → ENNReal}
{v : ℕ → ℕ}
(h : Monotone u)
(h' : u ≠ 0)
(hv : Filter.Tendsto v Filter.atTop Filter.atTop)
:
theorem
Monotone.expGrowthInf_comp_le
{u : ℕ → ENNReal}
{v : ℕ → ℕ}
(h : Monotone u)
(hv₀ : Filter.limsup (fun (n : ℕ) => ↑(v n) / ↑n) Filter.atTop ≠ 0)
(hv₁ : Filter.limsup (fun (n : ℕ) => ↑(v n) / ↑n) Filter.atTop ≠ ⊤)
:
ExpGrowth.expGrowthInf (u ∘ v) ≤ Filter.limsup (fun (n : ℕ) => ↑(v n) / ↑n) Filter.atTop * ExpGrowth.expGrowthInf u
theorem
Monotone.le_expGrowthSup_comp
{u : ℕ → ENNReal}
{v : ℕ → ℕ}
(h : Monotone u)
(hv : Filter.liminf (fun (n : ℕ) => ↑(v n) / ↑n) Filter.atTop ≠ 0)
:
Filter.liminf (fun (n : ℕ) => ↑(v n) / ↑n) Filter.atTop * ExpGrowth.expGrowthSup u ≤ ExpGrowth.expGrowthSup (u ∘ v)
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}
(hu : Monotone u)
(hv : Filter.Tendsto (fun (n : ℕ) => ↑(v n) / ↑n) Filter.atTop (nhds a))
(ha : a ≠ 0)
(ha' : a ≠ ⊤)
: