Documentation

Mathlib.Analysis.Meromorphic.FactorizedRational

Factorized Rational Functions #

This file discusses functions π•œ β†’ π•œ of the form ∏ᢠ u, (Β· - u) ^ d u, where d : π•œ β†’ β„€ is integer-valued. We show that these "factorized rational functions" are meromorphic in normal form, with divisor equal to d.

Under suitable assumptions, we show that meromorphic functions are equivalent, modulo equality on codiscrete sets, to the product of a factorized rational function and an analytic function without zeros.

Implementation Note: For consistency, we use ∏ᢠ u, (Β· - u) ^ d u throughout. If the support of d is finite, then evaluation of functions commutes with finprod, and the helper lemma Function.FactorizedRational.finprod_eval asserts that ∏ᢠ u, (Β· - u) ^ d u equals the function fun x ↦ ∏ᢠ u, (x - u) ^ d u. If d has infinite support, this equality is wrong in general. There are elementary examples of functions d where ∏ᢠ u, (Β· - u) ^ d u is constant one, while fun x ↦ ∏ᢠ u, (x - u) ^ d u is not continuous.

Elementary Properties of Factorized Rational Functions #

theorem Function.FactorizedRational.mulSupport {π•œ : Type u_1} [NontriviallyNormedField π•œ] (d : π•œ β†’ β„€) :
(Function.mulSupport fun (u : π•œ) => (fun (x : π•œ) => x - u) ^ d u) = support d

Helper Lemma: Identify the support of d as the mulsupport of the product defining the factorized rational function.

theorem Function.FactorizedRational.finprod_eq_fun {π•œ : Type u_1} [NontriviallyNormedField π•œ] {d : π•œ β†’ β„€} (h : (support d).Finite) :
∏ᢠ (u : π•œ), (fun (x : π•œ) => x - u) ^ d u = fun (x : π•œ) => ∏ᢠ (u : π•œ), (x - u) ^ d u

Helper Lemma: If the support of d is finite, then evaluation of functions commutes with finprod, and the function ∏ᢠ u, (Β· - u) ^ d u equals fun x ↦ ∏ᢠ u, (x - u) ^ d u.

theorem Function.FactorizedRational.analyticAt {π•œ : Type u_1} [NontriviallyNormedField π•œ] {d : π•œ β†’ β„€} {x : π•œ} (h : 0 ≀ d x) :
AnalyticAt π•œ (∏ᢠ (u : π•œ), (fun (x : π•œ) => x - u) ^ d u) x

Factorized rational functions are analytic wherever the exponent is non-negative.

theorem Function.FactorizedRational.ne_zero {π•œ : Type u_1} [NontriviallyNormedField π•œ] {d : π•œ β†’ β„€} {x : π•œ} (h : d x = 0) :
(∏ᢠ (u : π•œ), (fun (x : π•œ) => x - u) ^ d u) x β‰  0

Factorized rational functions are non-zero wherever the exponent is zero.

theorem Function.FactorizedRational.extractFactor {π•œ : Type u_1} [NontriviallyNormedField π•œ] {d : π•œ β†’ β„€} (uβ‚€ : π•œ) (hd : (support d).Finite) :
∏ᢠ (u : π•œ), (fun (x : π•œ) => x - u) ^ d u = (fun (x : π•œ) => x - uβ‚€) ^ d uβ‚€ * ∏ᢠ (u : π•œ), (fun (x : π•œ) => x - u) ^ update d uβ‚€ 0 u

Helper Lemma for Computations: Extract one factor out of a factorized rational function.

theorem Function.FactorizedRational.meromorphicNFOn_univ {π•œ : Type u_1} [NontriviallyNormedField π•œ] (d : π•œ β†’ β„€) :
MeromorphicNFOn (∏ᢠ (u : π•œ), (fun (x : π•œ) => x - u) ^ d u) Set.univ

Factorized rational functions are meromorphic in normal form on univ.

theorem Function.FactorizedRational.meromorphicNFOn {π•œ : Type u_1} [NontriviallyNormedField π•œ] (d : π•œ β†’ β„€) (U : Set π•œ) :
MeromorphicNFOn (∏ᢠ (u : π•œ), (fun (x : π•œ) => x - u) ^ d u) U

Factorized rational functions are meromorphic in normal form on arbitrary subsets of π•œ.

Orders and Divisors of Factorized Rational Functions #

theorem Function.FactorizedRational.meromorphicOrderAt_eq {π•œ : Type u_1} [NontriviallyNormedField π•œ] {z : π•œ} (d : π•œ β†’ β„€) (h₁d : (support d).Finite) :
meromorphicOrderAt (∏ᢠ (u : π•œ), (fun (x : π•œ) => x - u) ^ d u) z = ↑(d z)

The order of the factorized rational function (∏ᢠ u, fun z ↦ (z - u) ^ d u) at z equals d z.

@[deprecated Function.FactorizedRational.meromorphicOrderAt_eq (since := "2025-05-22")]
theorem Function.FactorizedRational.order {π•œ : Type u_1} [NontriviallyNormedField π•œ] {z : π•œ} (d : π•œ β†’ β„€) (h₁d : (support d).Finite) :
meromorphicOrderAt (∏ᢠ (u : π•œ), (fun (x : π•œ) => x - u) ^ d u) z = ↑(d z)

Alias of Function.FactorizedRational.meromorphicOrderAt_eq.


The order of the factorized rational function (∏ᢠ u, fun z ↦ (z - u) ^ d u) at z equals d z.

theorem Function.FactorizedRational.meromorphicOrderAt_ne_top {π•œ : Type u_1} [NontriviallyNormedField π•œ] {z : π•œ} (d : π•œ β†’ β„€) :
meromorphicOrderAt (∏ᢠ (u : π•œ), (fun (x : π•œ) => x - u) ^ d u) z β‰  ⊀

Factorized rational functions are nowhere locally constant zero.

@[deprecated Function.FactorizedRational.meromorphicOrderAt_ne_top (since := "2025-05-22")]
theorem Function.FactorizedRational.order_ne_top {π•œ : Type u_1} [NontriviallyNormedField π•œ] {z : π•œ} (d : π•œ β†’ β„€) :
meromorphicOrderAt (∏ᢠ (u : π•œ), (fun (x : π•œ) => x - u) ^ d u) z β‰  ⊀

Alias of Function.FactorizedRational.meromorphicOrderAt_ne_top.


Factorized rational functions are nowhere locally constant zero.

theorem Function.FactorizedRational.divisor {π•œ : Type u_1} [NontriviallyNormedField π•œ] {U : Set π•œ} {D : locallyFinsuppWithin U β„€} (hD : D.support.Finite) :
MeromorphicOn.divisor (∏ᢠ (u : π•œ), (fun (x : π•œ) => x - u) ^ D u) U = D

If D is a divisor, then the divisor of the factorized rational function equals D.

Elimination of Zeros and Poles #

This section shows that every meromorphic function with finitely many zeros and poles is equivalent, modulo equality on codiscrete sets, to the product of a factorized rational function and an analytic function without zeros.

We provide analogous results for functions of the form log β€–meromorphicβ€–.

TODO: Identify some of the terms that appear in the decomposition.

theorem MeromorphicOn.extract_zeros_poles {π•œ : Type u_1} [NontriviallyNormedField π•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace π•œ E] {U : Set π•œ} {f : π•œ β†’ E} (h₁f : MeromorphicOn f U) (hβ‚‚f : βˆ€ (u : ↑U), meromorphicOrderAt f ↑u β‰  ⊀) (h₃f : (divisor f U).support.Finite) :
βˆƒ (g : π•œ β†’ E), AnalyticOnNhd π•œ g U ∧ (βˆ€ (u : ↑U), g ↑u β‰  0) ∧ f =αΆ [Filter.codiscreteWithin U] (∏ᢠ (u : π•œ), (fun (x : π•œ) => x - u) ^ (divisor f U) u) β€’ g

If f is meromorphic on an open set U, if f is nowhere locally constant zero, and if the support of the divisor of f is finite, then there exists an analytic function g on U without zeros such that f is equivalent, modulo equality on codiscrete sets, to the product of g and the factorized rational function associated with the divisor of f.

theorem MeromorphicOn.extract_zeros_poles_log {π•œ : Type u_1} [NontriviallyNormedField π•œ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace π•œ E] {U : Set π•œ} {f g : π•œ β†’ E} {D : Function.locallyFinsuppWithin U β„€} (hg : βˆ€ (u : ↑U), g ↑u β‰  0) (h : f =αΆ [Filter.codiscreteWithin U] (∏ᢠ (u : π•œ), (fun (x : π•œ) => x - u) ^ D u) β€’ g) :
(fun (x : π•œ) => Real.log β€–f xβ€–) =αΆ [Filter.codiscreteWithin U] (βˆ‘αΆ  (u : π•œ), fun (x : π•œ) => ↑(D u) * Real.log β€–x - uβ€–) + fun (x : π•œ) => Real.log β€–g xβ€–

In the setting of MeromorphicOn.extract_zeros_poles, the function log β€–fβ€– is equivalent, modulo equality on codiscrete subsets, to βˆ‘αΆ  u, (divisor f U u * log β€–Β· - uβ€–) + log β€–g Β·β€–.