HepLean Documentation

Mathlib.Analysis.Asymptotics.AsymptoticEquivalent

Asymptotic equivalence #

In this file, we define the relation IsEquivalent l u v, which means that u-v is little o of v along the filter l.

Unlike Is(Little|Big)O relations, this one requires u and v to have the same codomain β. While the definition only requires β to be a NormedAddCommGroup, most interesting properties require it to be a NormedField.

Notations #

We introduce the notation u ~[l] v := IsEquivalent l u v, which you can use by opening the Asymptotics locale.

Main results #

If β is a NormedAddCommGroup :

If β is a NormedField :

If β is a NormedLinearOrderedField :

Implementation Notes #

Note that IsEquivalent takes the parameters (l : Filter α) (u v : α → β) in that order. This is to enable calc support, as calc requires that the last two explicit arguments are u v.

def Asymptotics.IsEquivalent {α : Type u_1} {β : Type u_2} [NormedAddCommGroup β] (l : Filter α) (u v : αβ) :

Two functions u and v are said to be asymptotically equivalent along a filter l when u x - v x = o(v x) as x converges along l.

Equations
Instances For

    Two functions u and v are said to be asymptotically equivalent along a filter l when u x - v x = o(v x) as x converges along l.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem Asymptotics.IsEquivalent.isLittleO {α : Type u_1} {β : Type u_2} [NormedAddCommGroup β] {u v : αβ} {l : Filter α} (h : Asymptotics.IsEquivalent l u v) :
      (u - v) =o[l] v
      theorem Asymptotics.IsEquivalent.isBigO {α : Type u_1} {β : Type u_2} [NormedAddCommGroup β] {u v : αβ} {l : Filter α} (h : Asymptotics.IsEquivalent l u v) :
      u =O[l] v
      theorem Asymptotics.IsEquivalent.isBigO_symm {α : Type u_1} {β : Type u_2} [NormedAddCommGroup β] {u v : αβ} {l : Filter α} (h : Asymptotics.IsEquivalent l u v) :
      v =O[l] u
      theorem Asymptotics.IsEquivalent.isTheta {α : Type u_1} {β : Type u_2} [NormedAddCommGroup β] {u v : αβ} {l : Filter α} (h : Asymptotics.IsEquivalent l u v) :
      u =Θ[l] v
      theorem Asymptotics.IsEquivalent.isTheta_symm {α : Type u_1} {β : Type u_2} [NormedAddCommGroup β] {u v : αβ} {l : Filter α} (h : Asymptotics.IsEquivalent l u v) :
      v =Θ[l] u
      theorem Asymptotics.IsEquivalent.refl {α : Type u_1} {β : Type u_2} [NormedAddCommGroup β] {u : αβ} {l : Filter α} :
      theorem Asymptotics.IsEquivalent.symm {α : Type u_1} {β : Type u_2} [NormedAddCommGroup β] {u v : αβ} {l : Filter α} (h : Asymptotics.IsEquivalent l u v) :
      theorem Asymptotics.IsEquivalent.trans {α : Type u_1} {β : Type u_2} [NormedAddCommGroup β] {l : Filter α} {u v w : αβ} (huv : Asymptotics.IsEquivalent l u v) (hvw : Asymptotics.IsEquivalent l v w) :
      theorem Asymptotics.IsEquivalent.congr_left {α : Type u_1} {β : Type u_2} [NormedAddCommGroup β] {u v w : αβ} {l : Filter α} (huv : Asymptotics.IsEquivalent l u v) (huw : u =ᶠ[l] w) :
      theorem Asymptotics.IsEquivalent.congr_right {α : Type u_1} {β : Type u_2} [NormedAddCommGroup β] {u v w : αβ} {l : Filter α} (huv : Asymptotics.IsEquivalent l u v) (hvw : v =ᶠ[l] w) :
      theorem Asymptotics.isEquivalent_zero_iff_isBigO_zero {α : Type u_1} {β : Type u_2} [NormedAddCommGroup β] {u : αβ} {l : Filter α} :
      theorem Asymptotics.isEquivalent_const_iff_tendsto {α : Type u_1} {β : Type u_2} [NormedAddCommGroup β] {u : αβ} {l : Filter α} {c : β} (h : c 0) :
      theorem Asymptotics.IsEquivalent.tendsto_const {α : Type u_1} {β : Type u_2} [NormedAddCommGroup β] {u : αβ} {l : Filter α} {c : β} (hu : Asymptotics.IsEquivalent l u (Function.const α c)) :
      theorem Asymptotics.IsEquivalent.tendsto_nhds {α : Type u_1} {β : Type u_2} [NormedAddCommGroup β] {u v : αβ} {l : Filter α} {c : β} (huv : Asymptotics.IsEquivalent l u v) (hu : Filter.Tendsto u l (nhds c)) :
      theorem Asymptotics.IsEquivalent.tendsto_nhds_iff {α : Type u_1} {β : Type u_2} [NormedAddCommGroup β] {u v : αβ} {l : Filter α} {c : β} (huv : Asymptotics.IsEquivalent l u v) :
      theorem Asymptotics.IsEquivalent.add_isLittleO {α : Type u_1} {β : Type u_2} [NormedAddCommGroup β] {u v w : αβ} {l : Filter α} (huv : Asymptotics.IsEquivalent l u v) (hwv : w =o[l] v) :
      theorem Asymptotics.IsEquivalent.sub_isLittleO {α : Type u_1} {β : Type u_2} [NormedAddCommGroup β] {u v w : αβ} {l : Filter α} (huv : Asymptotics.IsEquivalent l u v) (hwv : w =o[l] v) :
      theorem Asymptotics.IsLittleO.add_isEquivalent {α : Type u_1} {β : Type u_2} [NormedAddCommGroup β] {u v w : αβ} {l : Filter α} (hu : u =o[l] w) (hv : Asymptotics.IsEquivalent l v w) :
      theorem Asymptotics.IsLittleO.isEquivalent {α : Type u_1} {β : Type u_2} [NormedAddCommGroup β] {u v : αβ} {l : Filter α} (huv : (u - v) =o[l] v) :
      theorem Asymptotics.IsEquivalent.neg {α : Type u_1} {β : Type u_2} [NormedAddCommGroup β] {u v : αβ} {l : Filter α} (huv : Asymptotics.IsEquivalent l u v) :
      Asymptotics.IsEquivalent l (fun (x : α) => -u x) fun (x : α) => -v x
      theorem Asymptotics.isEquivalent_iff_exists_eq_mul {α : Type u_1} {β : Type u_2} [NormedField β] {u v : αβ} {l : Filter α} :
      Asymptotics.IsEquivalent l u v ∃ (φ : αβ) (_ : Filter.Tendsto φ l (nhds 1)), u =ᶠ[l] φ * v
      theorem Asymptotics.IsEquivalent.exists_eq_mul {α : Type u_1} {β : Type u_2} [NormedField β] {u v : αβ} {l : Filter α} (huv : Asymptotics.IsEquivalent l u v) :
      ∃ (φ : αβ) (_ : Filter.Tendsto φ l (nhds 1)), u =ᶠ[l] φ * v
      theorem Asymptotics.isEquivalent_of_tendsto_one {α : Type u_1} {β : Type u_2} [NormedField β] {u v : αβ} {l : Filter α} (hz : ∀ᶠ (x : α) in l, v x = 0u x = 0) (huv : Filter.Tendsto (u / v) l (nhds 1)) :
      theorem Asymptotics.isEquivalent_of_tendsto_one' {α : Type u_1} {β : Type u_2} [NormedField β] {u v : αβ} {l : Filter α} (hz : ∀ (x : α), v x = 0u x = 0) (huv : Filter.Tendsto (u / v) l (nhds 1)) :
      theorem Asymptotics.isEquivalent_iff_tendsto_one {α : Type u_1} {β : Type u_2} [NormedField β] {u v : αβ} {l : Filter α} (hz : ∀ᶠ (x : α) in l, v x 0) :
      theorem Asymptotics.IsEquivalent.smul {α : Type u_1} {E : Type u_2} {𝕜 : Type u_3} [NormedField 𝕜] [NormedAddCommGroup E] [NormedSpace 𝕜 E] {a b : α𝕜} {u v : αE} {l : Filter α} (hab : Asymptotics.IsEquivalent l a b) (huv : Asymptotics.IsEquivalent l u v) :
      Asymptotics.IsEquivalent l (fun (x : α) => a x u x) fun (x : α) => b x v x
      theorem Asymptotics.IsEquivalent.mul {α : Type u_1} {β : Type u_2} [NormedField β] {t u v w : αβ} {l : Filter α} (htu : Asymptotics.IsEquivalent l t u) (hvw : Asymptotics.IsEquivalent l v w) :
      theorem Asymptotics.IsEquivalent.inv {α : Type u_1} {β : Type u_2} [NormedField β] {u v : αβ} {l : Filter α} (huv : Asymptotics.IsEquivalent l u v) :
      Asymptotics.IsEquivalent l (fun (x : α) => (u x)⁻¹) fun (x : α) => (v x)⁻¹
      theorem Asymptotics.IsEquivalent.div {α : Type u_1} {β : Type u_2} [NormedField β] {t u v w : αβ} {l : Filter α} (htu : Asymptotics.IsEquivalent l t u) (hvw : Asymptotics.IsEquivalent l v w) :
      Asymptotics.IsEquivalent l (fun (x : α) => t x / v x) fun (x : α) => u x / w x
      theorem Asymptotics.IsEquivalent.tendsto_atTop {α : Type u_1} {β : Type u_2} [NormedLinearOrderedField β] {u v : αβ} {l : Filter α} [OrderTopology β] (huv : Asymptotics.IsEquivalent l u v) (hu : Filter.Tendsto u l Filter.atTop) :
      Filter.Tendsto v l Filter.atTop
      theorem Asymptotics.IsEquivalent.tendsto_atTop_iff {α : Type u_1} {β : Type u_2} [NormedLinearOrderedField β] {u v : αβ} {l : Filter α} [OrderTopology β] (huv : Asymptotics.IsEquivalent l u v) :
      Filter.Tendsto u l Filter.atTop Filter.Tendsto v l Filter.atTop
      theorem Asymptotics.IsEquivalent.tendsto_atBot {α : Type u_1} {β : Type u_2} [NormedLinearOrderedField β] {u v : αβ} {l : Filter α} [OrderTopology β] (huv : Asymptotics.IsEquivalent l u v) (hu : Filter.Tendsto u l Filter.atBot) :
      Filter.Tendsto v l Filter.atBot
      theorem Asymptotics.IsEquivalent.tendsto_atBot_iff {α : Type u_1} {β : Type u_2} [NormedLinearOrderedField β] {u v : αβ} {l : Filter α} [OrderTopology β] (huv : Asymptotics.IsEquivalent l u v) :
      Filter.Tendsto u l Filter.atBot Filter.Tendsto v l Filter.atBot
      theorem Filter.EventuallyEq.isEquivalent {α : Type u_1} {β : Type u_2} [NormedAddCommGroup β] {l : Filter α} {u v : αβ} (h : u =ᶠ[l] v) :
      theorem Filter.EventuallyEq.trans_isEquivalent {α : Type u_1} {β : Type u_2} [NormedAddCommGroup β] {l : Filter α} {f g₁ g₂ : αβ} (h : f =ᶠ[l] g₁) (h₂ : Asymptotics.IsEquivalent l g₁ g₂) :
      Equations
      • Asymptotics.transIsEquivalentIsEquivalent = { trans := }
      Equations
      • Asymptotics.transEventuallyEqIsEquivalent = { trans := }
      theorem Asymptotics.IsEquivalent.trans_eventuallyEq {α : Type u_1} {β : Type u_2} [NormedAddCommGroup β] {l : Filter α} {f g₁ g₂ : αβ} (h : Asymptotics.IsEquivalent l f g₁) (h₂ : g₁ =ᶠ[l] g₂) :
      Equations
      • Asymptotics.transIsEquivalentEventuallyEq = { trans := }
      theorem Asymptotics.IsEquivalent.trans_isBigO {α : Type u_1} {β : Type u_2} {β₂ : Type u_3} [NormedAddCommGroup β] [Norm β₂] {l : Filter α} {f g₁ : αβ} {g₂ : αβ₂} (h : Asymptotics.IsEquivalent l f g₁) (h₂ : g₁ =O[l] g₂) :
      f =O[l] g₂
      Equations
      • Asymptotics.transIsEquivalentIsBigO = { trans := }
      theorem Asymptotics.IsBigO.trans_isEquivalent {α : Type u_1} {β : Type u_2} {β₂ : Type u_3} [NormedAddCommGroup β] [Norm β₂] {l : Filter α} {f : αβ₂} {g₁ g₂ : αβ} (h : f =O[l] g₁) (h₂ : Asymptotics.IsEquivalent l g₁ g₂) :
      f =O[l] g₂
      Equations
      • Asymptotics.transIsBigOIsEquivalent = { trans := }
      theorem Asymptotics.IsEquivalent.trans_isLittleO {α : Type u_1} {β : Type u_2} {β₂ : Type u_3} [NormedAddCommGroup β] [Norm β₂] {l : Filter α} {f g₁ : αβ} {g₂ : αβ₂} (h : Asymptotics.IsEquivalent l f g₁) (h₂ : g₁ =o[l] g₂) :
      f =o[l] g₂
      Equations
      • Asymptotics.transIsEquivalentIsLittleO = { trans := }
      theorem Asymptotics.IsLittleO.trans_isEquivalent {α : Type u_1} {β : Type u_2} {β₂ : Type u_3} [NormedAddCommGroup β] [Norm β₂] {l : Filter α} {f : αβ₂} {g₁ g₂ : αβ} (h : f =o[l] g₁) (h₂ : Asymptotics.IsEquivalent l g₁ g₂) :
      f =o[l] g₂
      Equations
      • Asymptotics.transIsLittleOIsEquivalent = { trans := }
      theorem Asymptotics.IsEquivalent.trans_isTheta {α : Type u_1} {β : Type u_2} {β₂ : Type u_3} [NormedAddCommGroup β] [Norm β₂] {l : Filter α} {f g₁ : αβ} {g₂ : αβ₂} (h : Asymptotics.IsEquivalent l f g₁) (h₂ : g₁ =Θ[l] g₂) :
      f =Θ[l] g₂
      Equations
      • Asymptotics.transIsEquivalentIsTheta = { trans := }
      theorem Asymptotics.IsTheta.trans_isEquivalent {α : Type u_1} {β : Type u_2} {β₂ : Type u_3} [NormedAddCommGroup β] [Norm β₂] {l : Filter α} {f : αβ₂} {g₁ g₂ : αβ} (h : f =Θ[l] g₁) (h₂ : Asymptotics.IsEquivalent l g₁ g₂) :
      f =Θ[l] g₂
      Equations
      • Asymptotics.transIsThetaIsEquivalent = { trans := }