Documentation

TauCeti.Analysis.Meromorphic.Germ

The field of meromorphic germs at a point #

Let ๐•œ be a nontrivially normed field and a : ๐•œ. A function meromorphic at a is only determined, as such, on a punctured neighbourhood of a: Mathlib's MeromorphicAt ignores the value at a itself. This file collects the germs along the punctured neighbourhood filter ๐“[โ‰ ] a of the functions ๐•œ โ†’ ๐•œ which are meromorphic at a into a subring TauCeti.meromorphicGerms ๐•œ a of Mathlib's ring of germs Filter.Germ (๐“[โ‰ ] a) ๐•œ, and shows that it is a field. Constant functions give its natural algebra structure over ๐•œ.

The inverse of a germ is the pointwise inverse. It is a multiplicative inverse because, by the principle of isolated zeros (MeromorphicAt.eventually_eq_zero_or_eventually_ne_zero), a meromorphic function whose punctured germ is nonzero vanishes at no point of some punctured neighbourhood (MeromorphicAt.germ_ne_zero_iff).

For ๐•œ = โ„‚ this is the local field of meromorphic functions in one variable; it is identified with the fraction field of the ring of holomorphic germs at a in TauCeti.Geometry.Manifold.Complex.StructureSheaf.MeromorphicGerm.

References #

theorem MeromorphicAt.germ_ne_zero_iff {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {a : ๐•œ} {E : Type u_2} [NormedAddCommGroup E] [NormedSpace ๐•œ E] {f : ๐•œ โ†’ E} (hf : MeromorphicAt f a) :
โ†‘f โ‰  0 โ†” โˆ€แถ  (z : ๐•œ) in nhdsWithin a {a}แถœ, f z โ‰  0

A function meromorphic at a has a nonzero germ on the punctured neighbourhoods of a exactly when it vanishes at no point of some punctured neighbourhood of a.

def TauCeti.meromorphicGerms (๐•œ : Type u_1) [NontriviallyNormedField ๐•œ] (a : ๐•œ) :

The germs on the punctured neighbourhoods of a of the functions meromorphic at a.

Instances For
    theorem TauCeti.mem_meromorphicGerms_iff {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {a : ๐•œ} {ฯ† : (nhdsWithin a {a}แถœ).Germ ๐•œ} :
    ฯ† โˆˆ meromorphicGerms ๐•œ a โ†” โˆƒ (f : ๐•œ โ†’ ๐•œ), MeromorphicAt f a โˆง โ†‘f = ฯ†

    A punctured germ is meromorphic at a when it is the germ of a function meromorphic at a.

    @[simp]
    theorem TauCeti.coe_mem_meromorphicGerms {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {a : ๐•œ} {f : ๐•œ โ†’ ๐•œ} :

    The germ of a function lies in meromorphicGerms ๐•œ a exactly when the function is meromorphic at a.

    def TauCeti.meromorphicGerms.mk {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {a : ๐•œ} (f : ๐•œ โ†’ ๐•œ) (hf : MeromorphicAt f a) :
    โ†ฅ(meromorphicGerms ๐•œ a)

    The punctured germ of a function meromorphic at the centre.

    Instances For
      @[simp]
      theorem TauCeti.meromorphicGerms.coe_mk {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {a : ๐•œ} (f : ๐•œ โ†’ ๐•œ) (hf : MeromorphicAt f a) :
      โ†‘(mk f hf) = โ†‘f
      @[simp]
      theorem TauCeti.meromorphicGerms.mk_eq_mk_iff {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {a : ๐•œ} {f g : ๐•œ โ†’ ๐•œ} {hf : MeromorphicAt f a} {hg : MeromorphicAt g a} :

      Two meromorphic representatives define the same germ exactly when they agree near the centre on punctured neighbourhoods.

      theorem TauCeti.meromorphicGerms.exists_mk {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {a : ๐•œ} (ฯ† : โ†ฅ(meromorphicGerms ๐•œ a)) :
      โˆƒ (f : ๐•œ โ†’ ๐•œ) (hf : MeromorphicAt f a), mk f hf = ฯ†

      Every meromorphic germ has a meromorphic function representative.

      @[simp]
      theorem TauCeti.meromorphicGerms.mk_zero {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {a : ๐•œ} :
      mk (fun (x : ๐•œ) => 0) โ‹ฏ = 0
      @[simp]
      theorem TauCeti.meromorphicGerms.mk_one {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {a : ๐•œ} :
      mk (fun (x : ๐•œ) => 1) โ‹ฏ = 1
      @[simp]
      theorem TauCeti.meromorphicGerms.mk_add {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {a : ๐•œ} {f g : ๐•œ โ†’ ๐•œ} (hf : MeromorphicAt f a) (hg : MeromorphicAt g a) :
      mk (f + g) โ‹ฏ = mk f hf + mk g hg
      @[simp]
      theorem TauCeti.meromorphicGerms.mk_mul {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {a : ๐•œ} {f g : ๐•œ โ†’ ๐•œ} (hf : MeromorphicAt f a) (hg : MeromorphicAt g a) :
      mk (f * g) โ‹ฏ = mk f hf * mk g hg
      def TauCeti.meromorphicGerms.coordinate {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] (a : ๐•œ) :
      โ†ฅ(meromorphicGerms ๐•œ a)

      The local coordinate germ vanishing at the centre.

      Instances For
        @[simp]
        theorem TauCeti.meromorphicGerms.coe_coordinate {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {a : ๐•œ} :
        โ†‘(coordinate a) = โ†‘fun (z : ๐•œ) => z - a
        @[instance_reducible]
        instance TauCeti.meromorphicGerms.instAlgebraSubtypeGermNhdsWithinComplSetSingletonMemSubring {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {a : ๐•œ} :
        Algebra ๐•œ โ†ฅ(meromorphicGerms ๐•œ a)

        Scalars act on meromorphic germs through constant functions.

        @[simp]
        theorem TauCeti.meromorphicGerms.coe_algebraMap {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {a : ๐•œ} (c : ๐•œ) :
        โ†‘((algebraMap ๐•œ โ†ฅ(meromorphicGerms ๐•œ a)) c) = โ†‘c
        @[simp]
        theorem TauCeti.meromorphicGerms.mk_const {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {a : ๐•œ} (c : ๐•œ) :
        mk (fun (x : ๐•œ) => c) โ‹ฏ = (algebraMap ๐•œ โ†ฅ(meromorphicGerms ๐•œ a)) c
        @[simp]
        theorem TauCeti.meromorphicGerms.coe_smul {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {a : ๐•œ} (c : ๐•œ) (ฯ† : โ†ฅ(meromorphicGerms ๐•œ a)) :
        โ†‘(c โ€ข ฯ†) = c โ€ข โ†‘ฯ†
        @[simp]
        theorem TauCeti.meromorphicGerms.mk_smul {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {a : ๐•œ} (c : ๐•œ) {f : ๐•œ โ†’ ๐•œ} (hf : MeromorphicAt f a) :
        mk (c โ€ข f) โ‹ฏ = c โ€ข mk f hf
        @[instance_reducible]

        The inverse of a meromorphic germ is its pointwise inverse.

        @[simp]
        theorem TauCeti.meromorphicGerms.coe_inv {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {a : ๐•œ} (ฯ† : โ†ฅ(meromorphicGerms ๐•œ a)) :
        โ†‘ฯ†โปยน = (โ†‘ฯ†)โปยน
        @[simp]
        theorem TauCeti.meromorphicGerms.mk_inv {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {a : ๐•œ} {f : ๐•œ โ†’ ๐•œ} (hf : MeromorphicAt f a) :
        @[instance_reducible]
        instance TauCeti.meromorphicGerms.instField {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {a : ๐•œ} :
        Field โ†ฅ(meromorphicGerms ๐•œ a)

        The germs of functions meromorphic at a, on punctured neighbourhoods of a, form a field.

        @[simp]
        theorem TauCeti.meromorphicGerms.coe_div {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {a : ๐•œ} (ฯ† ฯˆ : โ†ฅ(meromorphicGerms ๐•œ a)) :
        โ†‘(ฯ† / ฯˆ) = โ†‘ฯ† / โ†‘ฯˆ
        @[simp]
        theorem TauCeti.meromorphicGerms.coe_zpow {๐•œ : Type u_1} [NontriviallyNormedField ๐•œ] {a : ๐•œ} (ฯ† : โ†ฅ(meromorphicGerms ๐•œ a)) (n : โ„ค) :
        โ†‘(ฯ† ^ n) = โ†‘ฯ† ^ n