Documentation

Mathlib.Analysis.Analytic.Order

Vanishing Order of Analytic Functions #

This file defines the order of vanishing of an analytic function f at a point zโ‚€, as an element of โ„•โˆž.

TODO: Uniformize API between analytic and meromorphic functions

Vanishing Order at a Point: Definition and Characterization #

noncomputable def AnalyticAt.order {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} (hf : AnalyticAt ๐•œ f zโ‚€) :

The order of vanishing of f at zโ‚€, as an element of โ„•โˆž.

The order is defined to be โˆž if f is identically 0 on a neighbourhood of zโ‚€, and otherwise the unique n such that f can locally be written as f z = (z - zโ‚€) ^ n โ€ข g z, where g is analytic and does not vanish at zโ‚€. See AnalyticAt.order_eq_top_iff and AnalyticAt.order_eq_nat_iff for these equivalences.

Equations
Instances For
    theorem AnalyticAt.order_eq_top_iff {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} (hf : AnalyticAt ๐•œ f zโ‚€) :
    hf.order = โŠค โ†” โˆ€แถ  (z : ๐•œ) in nhds zโ‚€, f z = 0

    The order of an analytic function f at a zโ‚€ is infinity iff f vanishes locally around zโ‚€.

    theorem AnalyticAt.order_eq_nat_iff {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} {n : โ„•} (hf : AnalyticAt ๐•œ f zโ‚€) :
    hf.order = โ†‘n โ†” โˆƒ (g : ๐•œ โ†’ E), AnalyticAt ๐•œ g zโ‚€ โˆง g zโ‚€ โ‰  0 โˆง โˆ€แถ  (z : ๐•œ) in nhds zโ‚€, f z = (z - zโ‚€) ^ n โ€ข g z

    The order of an analytic function f at zโ‚€ equals a natural number n iff f can locally be written as f z = (z - zโ‚€) ^ n โ€ข g z, where g is analytic and does not vanish at zโ‚€.

    theorem AnalyticAt.order_ne_top_iff {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} (hf : AnalyticAt ๐•œ f zโ‚€) :
    hf.order โ‰  โŠค โ†” โˆƒ (g : ๐•œ โ†’ E), AnalyticAt ๐•œ g zโ‚€ โˆง g zโ‚€ โ‰  0 โˆง f =แถ [nhds zโ‚€] fun (z : ๐•œ) => (z - zโ‚€) ^ hf.order.toNat โ€ข g z

    The order of an analytic function f at zโ‚€ is finite iff f can locally be written as f z = (z - zโ‚€) ^ order โ€ข g z, where g is analytic and does not vanish at zโ‚€.

    See MeromorphicNFAt.order_eq_zero_iff for an analogous statement about meromorphic functions in normal form.

    @[deprecated AnalyticAt.order_ne_top_iff (since := "2025-02-03")]
    theorem AnalyticAt.order_neq_top_iff {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} (hf : AnalyticAt ๐•œ f zโ‚€) :
    hf.order โ‰  โŠค โ†” โˆƒ (g : ๐•œ โ†’ E), AnalyticAt ๐•œ g zโ‚€ โˆง g zโ‚€ โ‰  0 โˆง f =แถ [nhds zโ‚€] fun (z : ๐•œ) => (z - zโ‚€) ^ hf.order.toNat โ€ข g z

    Alias of AnalyticAt.order_ne_top_iff.


    The order of an analytic function f at zโ‚€ is finite iff f can locally be written as f z = (z - zโ‚€) ^ order โ€ข g z, where g is analytic and does not vanish at zโ‚€.

    See MeromorphicNFAt.order_eq_zero_iff for an analogous statement about meromorphic functions in normal form.

    theorem AnalyticAt.order_eq_zero_iff {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} (hf : AnalyticAt ๐•œ f zโ‚€) :
    hf.order = 0 โ†” f zโ‚€ โ‰  0

    The order of an analytic function f at zโ‚€ is zero iff f does not vanish at zโ‚€.

    theorem AnalyticAt.apply_eq_zero_of_order_toNat_ne_zero {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} (hf : AnalyticAt ๐•œ f zโ‚€) :
    hf.order.toNat โ‰  0 โ†’ f zโ‚€ = 0

    An analytic function vanishes at a point if its order is nonzero when converted to โ„•.

    theorem AnalyticAt.natCast_le_order_iff {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} (hf : AnalyticAt ๐•œ f zโ‚€) {n : โ„•} :
    โ†‘n โ‰ค hf.order โ†” โˆƒ (g : ๐•œ โ†’ E), AnalyticAt ๐•œ g zโ‚€ โˆง โˆ€แถ  (z : ๐•œ) in nhds zโ‚€, f z = (z - zโ‚€) ^ n โ€ข g z

    Characterization of which natural numbers are โ‰ค hf.order. Useful for avoiding case splits, since it applies whether or not the order is โˆž.

    theorem AnalyticAt.order_congr {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {fโ‚ fโ‚‚ : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} (hfโ‚ : AnalyticAt ๐•œ fโ‚ zโ‚€) (h : fโ‚ =แถ [nhds zโ‚€] fโ‚‚) :
    โ‹ฏ.order = hfโ‚.order

    If two functions agree in a neighborhood of zโ‚€, then their orders at zโ‚€ agree.

    Vanishing Order at a Point: Elementary Computations #

    theorem AnalyticAt.analyticAt_centeredMonomial {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] (zโ‚€ : ๐•œ) (n : โ„•) :
    AnalyticAt ๐•œ ((fun (x : ๐•œ) => x - zโ‚€) ^ n) zโ‚€

    Helper lemma, required to state analyticAt_order_centeredMonomial below

    @[simp]
    theorem AnalyticAt.analyticAt_order_centeredMonomial {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {zโ‚€ : ๐•œ} {n : โ„•} :
    โ‹ฏ.order = โ†‘n

    Simplifier lemma for the order of a centered monomial

    Vanishing Order at a Point: Behaviour under Standard Operations #

    The theorems AnalyticAt.order_mul and AnalyticAt.order_pow establish additivity of the order under multiplication and taking powers. The theorem AnalyticAt.order_add establishes behavior under addition.

    theorem AnalyticAt.order_smul {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {zโ‚€ : ๐•œ} {f : ๐•œ โ†’ ๐•œ} {g : ๐•œ โ†’ E} (hf : AnalyticAt ๐•œ f zโ‚€) (hg : AnalyticAt ๐•œ g zโ‚€) :
    โ‹ฏ.order = hf.order + hg.order

    The order is additive when scalar multiplying analytic functions.

    theorem AnalyticAt.order_mul {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {zโ‚€ : ๐•œ} {f g : ๐•œ โ†’ ๐•œ} (hf : AnalyticAt ๐•œ f zโ‚€) (hg : AnalyticAt ๐•œ g zโ‚€) :
    โ‹ฏ.order = hf.order + hg.order

    The order is additive when multiplying analytic functions.

    theorem AnalyticAt.order_pow {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {zโ‚€ : ๐•œ} {f : ๐•œ โ†’ ๐•œ} (hf : AnalyticAt ๐•œ f zโ‚€) {n : โ„•} :
    โ‹ฏ.order = n โ€ข hf.order

    The order multiplies by n when taking an analytic function to its nth power.

    theorem AnalyticAt.order_add {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {fโ‚ fโ‚‚ : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} (hfโ‚ : AnalyticAt ๐•œ fโ‚ zโ‚€) (hfโ‚‚ : AnalyticAt ๐•œ fโ‚‚ zโ‚€) :
    min hfโ‚.order hfโ‚‚.order โ‰ค โ‹ฏ.order

    The order of a sum is at least the minimum of the orders of the summands.

    theorem AnalyticAt.order_add_of_order_lt_order {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {fโ‚ fโ‚‚ : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} (hfโ‚ : AnalyticAt ๐•œ fโ‚ zโ‚€) (hfโ‚‚ : AnalyticAt ๐•œ fโ‚‚ zโ‚€) (h : hfโ‚.order < hfโ‚‚.order) :
    โ‹ฏ.order = hfโ‚.order

    Helper lemma for AnalyticAt.order_add_of_unequal_order

    theorem AnalyticAt.order_add_of_order_ne_order {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {fโ‚ fโ‚‚ : ๐•œ โ†’ E} {zโ‚€ : ๐•œ} (hfโ‚ : AnalyticAt ๐•œ fโ‚ zโ‚€) (hfโ‚‚ : AnalyticAt ๐•œ fโ‚‚ zโ‚€) (h : hfโ‚.order โ‰  hfโ‚‚.order) :
    โ‹ฏ.order = min hfโ‚.order hfโ‚‚.order

    If two functions have unequal orders, then the order of their sum is exactly the minimum of the orders of the summands.

    Level Sets of the Order Function #

    theorem AnalyticOnNhd.isClopen_setOf_order_eq_top {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {U : Set ๐•œ} (hf : AnalyticOnNhd ๐•œ f U) :
    IsClopen {u : โ†‘U | โ‹ฏ.order = โŠค}

    The set where an analytic function has infinite order is clopen in its domain of analyticity.

    theorem AnalyticOnNhd.exists_order_ne_top_iff_forall {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {U : Set ๐•œ} (hf : AnalyticOnNhd ๐•œ f U) (hU : IsConnected U) :
    (โˆƒ (u : โ†‘U), โ‹ฏ.order โ‰  โŠค) โ†” โˆ€ (u : โ†‘U), โ‹ฏ.order โ‰  โŠค

    On a connected set, there exists a point where a meromorphic function f has finite order iff f has finite order at every point.

    theorem AnalyticOnNhd.order_ne_top_of_isPreconnected {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {U : Set ๐•œ} (hf : AnalyticOnNhd ๐•œ f U) {x y : ๐•œ} (hU : IsPreconnected U) (hโ‚x : x โˆˆ U) (hy : y โˆˆ U) (hโ‚‚x : โ‹ฏ.order โ‰  โŠค) :

    On a preconnected set, a meromorphic function has finite order at one point if it has finite order at another point.

    theorem AnalyticOnNhd.codiscrete_setOf_order_eq_zero_or_top {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {U : Set ๐•œ} (hf : AnalyticOnNhd ๐•œ f U) :
    {u : โ†‘U | โ‹ฏ.order = 0 โˆจ โ‹ฏ.order = โŠค} โˆˆ Filter.codiscrete โ†‘U

    The set where an analytic function has zero or infinite order is discrete within its domain of analyticity.