Documentation

Mathlib.Analysis.Meromorphic.Divisor

The Divisor of a meromorphic function #

This file defines the divisor of a meromorphic function and proves the most basic lemmas about those divisors. The lemma MeromorphicOn.divisor_restrict guarantees compatibility between restrictions of divisors and of meromorphic functions to subsets of their domain of definition.

Definition of the Divisor #

noncomputable def MeromorphicOn.divisor {π•œ : Type u_1} [NontriviallyNormedField π•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace π•œ E] (f : π•œ β†’ E) (U : Set π•œ) :

The divisor of a meromorphic function f, mapping a point z to the order of f at z, and to zero if the order is infinite.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    theorem MeromorphicOn.divisor_def {π•œ : Type u_1} [NontriviallyNormedField π•œ] {z : π•œ} {E : Type u_2} [NormedAddCommGroup E] [NormedSpace π•œ E] (f : π•œ β†’ E) (U : Set π•œ) :

    Definition of the divisor

    @[simp]
    theorem MeromorphicOn.divisor_apply {π•œ : Type u_1} [NontriviallyNormedField π•œ] {U : Set π•œ} {z : π•œ} {E : Type u_2} [NormedAddCommGroup E] [NormedSpace π•œ E] {f : π•œ β†’ E} (hf : MeromorphicOn f U) (hz : z ∈ U) :

    Simplifier lemma: on U, the divisor of a function f that is meromorphic on U evaluates to order.untopβ‚€.

    Congruence Lemmas #

    theorem MeromorphicOn.divisor_congr_codiscreteWithin_of_eqOn_compl {π•œ : Type u_1} [NontriviallyNormedField π•œ] {U : Set π•œ} {E : Type u_2} [NormedAddCommGroup E] [NormedSpace π•œ E] {f₁ fβ‚‚ : π•œ β†’ E} (hf₁ : MeromorphicOn f₁ U) (h₁ : f₁ =αΆ [Filter.codiscreteWithin U] fβ‚‚) (hβ‚‚ : Set.EqOn f₁ fβ‚‚ Uᢜ) :
    divisor f₁ U = divisor fβ‚‚ U

    If f₁ is meromorphic on U, if fβ‚‚ agrees with f₁ on a codiscrete subset of U and outside of U, then f₁ and fβ‚‚ induce the same divisors on U.

    theorem MeromorphicOn.divisor_congr_codiscreteWithin {π•œ : Type u_1} [NontriviallyNormedField π•œ] {U : Set π•œ} {E : Type u_2} [NormedAddCommGroup E] [NormedSpace π•œ E] {f₁ fβ‚‚ : π•œ β†’ E} (hf₁ : MeromorphicOn f₁ U) (h₁ : f₁ =αΆ [Filter.codiscreteWithin U] fβ‚‚) (hβ‚‚ : IsOpen U) :
    divisor f₁ U = divisor fβ‚‚ U

    If f₁ is meromorphic on an open set U, if fβ‚‚ agrees with f₁ on a codiscrete subset of U, then f₁ and fβ‚‚ induce the same divisors onU.

    Divisors of Analytic Functions #

    theorem MeromorphicOn.AnalyticOnNhd.divisor_nonneg {π•œ : Type u_1} [NontriviallyNormedField π•œ] {U : Set π•œ} {E : Type u_2} [NormedAddCommGroup E] [NormedSpace π•œ E] {f : π•œ β†’ E} (hf : AnalyticOnNhd π•œ f U) :

    Analytic functions have non-negative divisors.

    @[simp]
    theorem MeromorphicOn.divisor_const {π•œ : Type u_1} [NontriviallyNormedField π•œ] {U : Set π•œ} {E : Type u_2} [NormedAddCommGroup E] [NormedSpace π•œ E] (e : E) :
    divisor (fun (x : π•œ) => e) U = 0

    The divisor of a constant function is 0.

    @[simp]
    theorem MeromorphicOn.divisor_intCast {π•œ : Type u_1} [NontriviallyNormedField π•œ] {U : Set π•œ} (n : β„€) :
    divisor (↑n) U = 0

    The divisor of a constant function is 0.

    @[simp]
    theorem MeromorphicOn.divisor_natCast {π•œ : Type u_1} [NontriviallyNormedField π•œ] {U : Set π•œ} (n : β„•) :
    divisor (↑n) U = 0

    The divisor of a constant function is 0.

    @[simp]
    theorem MeromorphicOn.divisor_ofNat {π•œ : Type u_1} [NontriviallyNormedField π•œ] {U : Set π•œ} (n : β„•) :

    The divisor of a constant function is 0.

    Behavior under Standard Operations #

    theorem MeromorphicOn.divisor_smul {π•œ : Type u_1} [NontriviallyNormedField π•œ] {U : Set π•œ} {E : Type u_2} [NormedAddCommGroup E] [NormedSpace π•œ E] {f₁ : π•œ β†’ π•œ} {fβ‚‚ : π•œ β†’ E} (h₁f₁ : MeromorphicOn f₁ U) (h₁fβ‚‚ : MeromorphicOn fβ‚‚ U) (hβ‚‚f₁ : βˆ€ z ∈ U, meromorphicOrderAt f₁ z β‰  ⊀) (hβ‚‚fβ‚‚ : βˆ€ z ∈ U, meromorphicOrderAt fβ‚‚ z β‰  ⊀) :
    divisor (f₁ β€’ fβ‚‚) U = divisor f₁ U + divisor fβ‚‚ U

    If orders are finite, the divisor of the scalar product of two meromorphic functions is the sum of the divisors.

    See MeromorphicOn.exists_order_ne_top_iff_forall and MeromorphicOn.order_ne_top_of_isPreconnected for two convenient criteria to guarantee conditions hβ‚‚f₁ and hβ‚‚fβ‚‚.

    theorem MeromorphicOn.divisor_fun_smul {π•œ : Type u_1} [NontriviallyNormedField π•œ] {U : Set π•œ} {E : Type u_2} [NormedAddCommGroup E] [NormedSpace π•œ E] {f₁ : π•œ β†’ π•œ} {fβ‚‚ : π•œ β†’ E} (h₁f₁ : MeromorphicOn f₁ U) (h₁fβ‚‚ : MeromorphicOn fβ‚‚ U) (hβ‚‚f₁ : βˆ€ z ∈ U, meromorphicOrderAt f₁ z β‰  ⊀) (hβ‚‚fβ‚‚ : βˆ€ z ∈ U, meromorphicOrderAt fβ‚‚ z β‰  ⊀) :
    divisor (fun (z : π•œ) => f₁ z β€’ fβ‚‚ z) U = divisor f₁ U + divisor fβ‚‚ U

    If orders are finite, the divisor of the scalar product of two meromorphic functions is the sum of the divisors.

    theorem MeromorphicOn.divisor_mul {π•œ : Type u_1} [NontriviallyNormedField π•œ] {U : Set π•œ} {f₁ fβ‚‚ : π•œ β†’ π•œ} (h₁f₁ : MeromorphicOn f₁ U) (h₁fβ‚‚ : MeromorphicOn fβ‚‚ U) (hβ‚‚f₁ : βˆ€ z ∈ U, meromorphicOrderAt f₁ z β‰  ⊀) (hβ‚‚fβ‚‚ : βˆ€ z ∈ U, meromorphicOrderAt fβ‚‚ z β‰  ⊀) :
    divisor (f₁ * fβ‚‚) U = divisor f₁ U + divisor fβ‚‚ U

    If orders are finite, the divisor of the product of two meromorphic functions is the sum of the divisors.

    See MeromorphicOn.exists_order_ne_top_iff_forall and MeromorphicOn.order_ne_top_of_isPreconnected for two convenient criteria to guarantee conditions hβ‚‚f₁ and hβ‚‚fβ‚‚.

    theorem MeromorphicOn.divisor_fun_mul {π•œ : Type u_1} [NontriviallyNormedField π•œ] {U : Set π•œ} {f₁ fβ‚‚ : π•œ β†’ π•œ} (h₁f₁ : MeromorphicOn f₁ U) (h₁fβ‚‚ : MeromorphicOn fβ‚‚ U) (hβ‚‚f₁ : βˆ€ z ∈ U, meromorphicOrderAt f₁ z β‰  ⊀) (hβ‚‚fβ‚‚ : βˆ€ z ∈ U, meromorphicOrderAt fβ‚‚ z β‰  ⊀) :
    divisor (fun (z : π•œ) => f₁ z * fβ‚‚ z) U = divisor f₁ U + divisor fβ‚‚ U

    If orders are finite, the divisor of the product of two meromorphic functions is the sum of the divisors.

    @[simp]
    theorem MeromorphicOn.divisor_inv {π•œ : Type u_1} [NontriviallyNormedField π•œ] {U : Set π•œ} {f : π•œ β†’ π•œ} :

    The divisor of the inverse is the negative of the divisor.

    @[simp]
    theorem MeromorphicOn.divisor_fun_inv {π•œ : Type u_1} [NontriviallyNormedField π•œ] {U : Set π•œ} {f : π•œ β†’ π•œ} :
    divisor (fun (z : π•œ) => (f z)⁻¹) U = -divisor f U

    The divisor of the inverse is the negative of the divisor.

    theorem MeromorphicOn.divisor_pow {π•œ : Type u_1} [NontriviallyNormedField π•œ] {U : Set π•œ} {f : π•œ β†’ π•œ} (hf : MeromorphicOn f U) (n : β„•) :
    divisor (f ^ n) U = n β€’ divisor f U

    If f is meromorphic, then the divisor of f ^ n is n times the divisor of f.

    theorem MeromorphicOn.divisor_fun_pow {π•œ : Type u_1} [NontriviallyNormedField π•œ] {U : Set π•œ} {f : π•œ β†’ π•œ} (hf : MeromorphicOn f U) (n : β„•) :
    divisor (fun (z : π•œ) => f z ^ n) U = n β€’ divisor f U

    If f is meromorphic, then the divisor of f ^ n is n times the divisor of f.

    theorem MeromorphicOn.divisor_zpow {π•œ : Type u_1} [NontriviallyNormedField π•œ] {U : Set π•œ} {f : π•œ β†’ π•œ} (hf : MeromorphicOn f U) (n : β„€) :
    divisor (f ^ n) U = n β€’ divisor f U

    If f is meromorphic, then the divisor of f ^ n is n times the divisor of f.

    theorem MeromorphicOn.divisor_fun_zpow {π•œ : Type u_1} [NontriviallyNormedField π•œ] {U : Set π•œ} {f : π•œ β†’ π•œ} (hf : MeromorphicOn f U) (n : β„€) :
    divisor (fun (z : π•œ) => f z ^ n) U = n β€’ divisor f U

    If f is meromorphic, then the divisor of f ^ n is n times the divisor of f.

    @[simp]
    theorem MeromorphicOn.divisor_restrict {π•œ : Type u_1} [NontriviallyNormedField π•œ] {U : Set π•œ} {E : Type u_2} [NormedAddCommGroup E] [NormedSpace π•œ E] {f : π•œ β†’ E} {V : Set π•œ} (hf : MeromorphicOn f U) (hV : V βŠ† U) :
    (divisor f U).restrict hV = divisor f V

    Taking the divisor of a meromorphic function commutes with restriction.

    theorem MeromorphicOn.negPart_divisor_add_of_analyticNhdOn_right {π•œ : Type u_1} [NontriviallyNormedField π•œ] {U : Set π•œ} {E : Type u_2} [NormedAddCommGroup E] [NormedSpace π•œ E] {f₁ fβ‚‚ : π•œ β†’ E} (hf₁ : MeromorphicOn f₁ U) (hfβ‚‚ : AnalyticOnNhd π•œ fβ‚‚ U) :
    (divisor (f₁ + fβ‚‚) U)⁻ = (divisor f₁ U)⁻

    Adding an analytic function to a meromorphic one does not change the pole divisor.

    theorem MeromorphicOn.negPart_divisor_add_of_analyticNhdOn_left {π•œ : Type u_1} [NontriviallyNormedField π•œ] {U : Set π•œ} {E : Type u_2} [NormedAddCommGroup E] [NormedSpace π•œ E] {f₁ fβ‚‚ : π•œ β†’ E} (hf₁ : AnalyticOnNhd π•œ f₁ U) (hfβ‚‚ : MeromorphicOn fβ‚‚ U) :
    (divisor (f₁ + fβ‚‚) U)⁻ = (divisor fβ‚‚ U)⁻

    Adding an analytic function to a meromorphic one does not change the pole divisor.