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 further properties of meromorphic functions in normal form, such as a local identity theorem. 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.

    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.

    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.

    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.