Documentation

Mathlib.Analysis.Meromorphic.NormalFormAt

Normal form of meromorphic functions and continuous extension #

If a function f is meromorphic on U and if g differs from f only along a set that is codiscrete within U, then g is likewise meromorphic. The set of meromorphic functions is therefore huge, and =แถ [codiscreteWithin U] defines an equivalence relation.

This file implements continuous extension to provide an API that allows picking the 'unique best' representative of any given equivalence class, where 'best' means that the representative can locally near any point x be written 'in normal form', as f =แถ [๐“ x] fun z โ†ฆ (z - x) ^ n โ€ข g where g is analytic and does not vanish at x.

TODO #

Establish the analogous notion MeromorphicNFOn.

Normal form of meromorphic functions at a given point #

Definition and characterizations #

def MeromorphicNFAt {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] (f : ๐•œ โ†’ E) (x : ๐•œ) :

A function is 'meromorphic in normal form' at x if it vanishes around x or if it can locally be written as fun z โ†ฆ (z - x) ^ n โ€ข g where g is analytic and does not vanish at x.

Equations
Instances For
    theorem meromorphicNFAt_iff_analyticAt_or {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {x : ๐•œ} :
    MeromorphicNFAt f x โ†” AnalyticAt ๐•œ f x โˆจ โˆƒ (hf : MeromorphicAt f x), hf.order < 0 โˆง f x = 0

    A meromorphic function has normal form at x iff it is either analytic there, or if it has a pole at x and takes the default value 0.

    Relation to other properties of functions #

    theorem MeromorphicNFAt.meromorphicAt {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {x : ๐•œ} (hf : MeromorphicNFAt f x) :

    If a function is meromorphic in normal form at x, then it is meromorphic at x.

    theorem MeromorphicNFAt.order_nonneg_iff_analyticAt {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {x : ๐•œ} (hf : MeromorphicNFAt f x) :
    0 โ‰ค โ‹ฏ.order โ†” AnalyticAt ๐•œ f x

    If a function is meromorphic in normal form at x, then it has non-negative order iff it is analytic.

    theorem AnalyticAt.meromorphicNFAt {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {x : ๐•œ} (hf : AnalyticAt ๐•œ f x) :

    Analytic functions are meromorphic in normal form.

    theorem MeromorphicOn.meromorphicNFAt_mem_codiscreteWithin {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} [CompleteSpace E] {U : Set ๐•œ} (hf : MeromorphicOn f U) :

    Meromorphic functions have normal form outside of a discrete subset in the domain of meromorphicity.

    Vanishing and order #

    theorem MeromorphicNFAt.order_eq_zero_iff {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {x : ๐•œ} (hf : MeromorphicNFAt f x) :
    โ‹ฏ.order = 0 โ†” f x โ‰  0

    If f is meromorphic in normal form at x, then f has order zero iff it does not vanish at x.

    See AnalyticAt.order_eq_zero_iff for an analogous statement about analytic functions.

    Local nature of the definition and local identity theorem #

    theorem MeromorphicNFAt.eventuallyEq_nhdNE_iff_eventuallyEq_nhd {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {x : ๐•œ} {g : ๐•œ โ†’ E} (hf : MeromorphicNFAt f x) (hg : MeromorphicNFAt g x) :

    Local identity theorem: two meromorphic functions in normal form agree in a neighborhood iff they agree in a pointed neighborhood.

    See ContinuousAt.eventuallyEq_nhdNE_iff_eventuallyEq_nhd for the analogous statement for continuous functions.

    theorem meromorphicNFAt_congr {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {x : ๐•œ} {g : ๐•œ โ†’ E} (hfg : f =แถ [nhds x] g) :

    Meromorphicity in normal form is a local property.

    Criteria to guarantee normal form #

    theorem MeromorphicNFAt.smul_analytic {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {g : ๐•œ โ†’ ๐•œ} {x : ๐•œ} (hf : MeromorphicNFAt f x) (hโ‚g : AnalyticAt ๐•œ g x) (hโ‚‚g : g x โ‰  0) :

    Helper lemma for meromorphicNFAt_iff_meromorphicNFAt_of_smul_analytic: if f is meromorphic in normal form at x and g is analytic without zero at x, then g โ€ข f is meromorphic in normal form at x.

    theorem meromorphicNFAt_smul_iff_right_of_analyticAt {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {g : ๐•œ โ†’ ๐•œ} {x : ๐•œ} (hโ‚g : AnalyticAt ๐•œ g x) (hโ‚‚g : g x โ‰  0) :

    If f is any function and g is analytic without zero at zโ‚€, then f is meromorphic in normal form at zโ‚€ iff g โ€ข f is meromorphic in normal form at zโ‚€.

    theorem meromorphicNFAt_mul_iff_right {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {g : ๐•œ โ†’ ๐•œ} {x : ๐•œ} {f : ๐•œ โ†’ ๐•œ} (hโ‚g : AnalyticAt ๐•œ g x) (hโ‚‚g : g x โ‰  0) :

    If f is any function and g is analytic without zero at zโ‚€, then f is meromorphic in normal form at zโ‚€ iff g * f is meromorphic in normal form at zโ‚€.

    theorem meromorphicNFAt_mul_iff_left {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {g : ๐•œ โ†’ ๐•œ} {x : ๐•œ} {f : ๐•œ โ†’ ๐•œ} (hโ‚g : AnalyticAt ๐•œ g x) (hโ‚‚g : g x โ‰  0) :

    If f is any function and g is analytic without zero at zโ‚€, then f is meromorphic in normal form at zโ‚€ iff f * g is meromorphic in normal form at zโ‚€.

    Continuous extension and conversion to normal form #

    noncomputable def toMeromorphicNFAt {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] (f : ๐•œ โ†’ E) (x : ๐•œ) :
    ๐•œ โ†’ E

    If f is meromorphic at x, convert f to normal form at x by changing its value at x. Otherwise, returns the 0 function.

    Equations
    Instances For
      theorem MeromorphicAt.eqOn_compl_singleton_toMermomorphicNFAt {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {x : ๐•œ} (hf : MeromorphicAt f x) :

      Conversion to normal form at x changes the value only at x.

      @[simp]
      theorem toMeromorphicNFAt_of_not_meromorphicAt {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {x : ๐•œ} (hf : ยฌMeromorphicAt f x) :

      If f is not meromorphic, conversion to normal form at x maps the function to 0.

      theorem MeromorphicAt.eq_nhdNE_toMeromorphicNFAt {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {x : ๐•œ} (hf : MeromorphicAt f x) :

      Conversion to normal form at x changes the value only at x.

      theorem meromorphicNFAt_toMeromorphicNFAt {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {x : ๐•œ} :

      After conversion to normal form at x, the function has normal form.

      @[simp]
      theorem toMeromorphicNFAt_eq_self {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} {x : ๐•œ} :

      If f has normal form at x, then f equals f.toNF.