Documentation

LeanPool.JacobianDiffgeo.ResidueCalculus.LaurentCoeff

Laurent coefficients at a point (residue-calculus) #

RS.laurentCoeffAt f z₀ k is the k-th Laurent coefficient of f at z₀ (coefficient of (z - z₀) ^ k), defined through the meromorphic order presentation and the dslope-iterate Taylor extractor RS.taylorCoeffAt. Junk value 0 for non-meromorphic germs, the locally-zero germ (order ), and coefficients below the order.

Main exports:

noncomputable def RS.laurentCoeffAt (f : ) (z₀ : ) (k : ) :

The k-th Laurent coefficient of f at z₀ (coefficient of (z - z₀) ^ k). Defined through the order presentation f =ᶠ[𝓝[≠] z₀] (· - z₀) ^ n • g, g analytic, g z₀ ≠ 0, n = meromorphicOrderAt f z₀: the coefficient is the (k - n)-th Taylor coefficient of g. Junk 0 if f is not meromorphic at z₀, on the locally-zero germ (order ), and for k < order.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem RS.laurentCoeffAt_of_not_meromorphicAt {f : } {z₀ : } (h : ¬MeromorphicAt f z₀) (k : ) :
    laurentCoeffAt f z₀ k = 0
    @[simp]
    theorem RS.laurentCoeffAt_of_order_eq_top {f : } {z₀ : } (h : meromorphicOrderAt f z₀ = ) (k : ) :
    laurentCoeffAt f z₀ k = 0
    theorem RS.laurentCoeffAt_of_eventuallyEq {f g : } {z₀ : } {n : } (hg : AnalyticAt g z₀) (hfg : f =ᶠ[nhdsWithin z₀ {z₀}] fun (z : ) => (z - z₀) ^ n * g z) (k : ) :
    laurentCoeffAt f z₀ k = if n k then taylorCoeffAt g z₀ (k - n).toNat else 0

    THE characterization (workhorse; the only lemma that unfolds the definition). Any zpow-presentation computes every Laurent coefficient — n need NOT be the order and g z₀ = 0 is allowed.

    theorem RS.laurentCoeffAt_eq_zero_of_lt_order {f : } {z₀ : } {k : } (h : k < meromorphicOrderAt f z₀) :
    laurentCoeffAt f z₀ k = 0
    theorem RS.laurentCoeffAt_congr {f g : } {z₀ : } (hfg : f =ᶠ[nhdsWithin z₀ {z₀}] g) (k : ) :
    laurentCoeffAt f z₀ k = laurentCoeffAt g z₀ k

    Congruence: Laurent coefficients live on the punctured germ.

    At the order, the Laurent coefficient is mathlib's trailing coefficient.

    theorem RS.laurentCoeffAt_order_ne_zero {f : } {z₀ : } (hf : MeromorphicAt f z₀) (h : meromorphicOrderAt f z₀ ) :
    theorem RS.laurentCoeffAt_of_analyticAt {f : } {z₀ : } (hf : AnalyticAt f z₀) (k : ) :
    laurentCoeffAt f z₀ k = if 0 k then taylorCoeffAt f z₀ k.toNat else 0

    For analytic f the Laurent coefficients are the Taylor coefficients.

    theorem RS.laurentCoeffAt_zero_fun {z₀ : } (k : ) :
    laurentCoeffAt (fun (x : ) => 0) z₀ k = 0
    theorem RS.laurentCoeffAt_fun_add {f g : } {z₀ : } (hf : MeromorphicAt f z₀) (hg : MeromorphicAt g z₀) (k : ) :
    laurentCoeffAt (fun (z : ) => f z + g z) z₀ k = laurentCoeffAt f z₀ k + laurentCoeffAt g z₀ k

    ℂ-additivity of Laurent coefficients on meromorphic germs.

    theorem RS.laurentCoeffAt_add {f g : } {z₀ : } (hf : MeromorphicAt f z₀) (hg : MeromorphicAt g z₀) (k : ) :
    laurentCoeffAt (f + g) z₀ k = laurentCoeffAt f z₀ k + laurentCoeffAt g z₀ k
    theorem RS.laurentCoeffAt_const_mul {f : } {z₀ : } (c : ) (k : ) :
    laurentCoeffAt (fun (z : ) => c * f z) z₀ k = c * laurentCoeffAt f z₀ k
    theorem RS.laurentCoeffAt_neg {f : } {z₀ : } (k : ) :
    laurentCoeffAt (fun (z : ) => -f z) z₀ k = -laurentCoeffAt f z₀ k
    theorem RS.laurentCoeffAt_sub {f g : } {z₀ : } (hf : MeromorphicAt f z₀) (hg : MeromorphicAt g z₀) (k : ) :
    laurentCoeffAt (fun (z : ) => f z - g z) z₀ k = laurentCoeffAt f z₀ k - laurentCoeffAt g z₀ k
    theorem RS.laurentCoeffAt_fun_sum {z₀ : } {ι : Type u_1} {s : Finset ι} {G : ι} (hG : is, MeromorphicAt (G i) z₀) (k : ) :
    laurentCoeffAt (fun (z : ) => is, G i z) z₀ k = is, laurentCoeffAt (G i) z₀ k
    @[simp]
    theorem RS.laurentCoeffAt_zpow_monomial {z₀ : } (m k : ) :
    laurentCoeffAt (fun (z : ) => (z - z₀) ^ m) z₀ k = if k = m then 1 else 0
    theorem RS.laurentCoeffAt_zpow_mul {g : } {z₀ : } (hg : MeromorphicAt g z₀) (m k : ) :
    laurentCoeffAt (fun (z : ) => (z - z₀) ^ m * g z) z₀ k = laurentCoeffAt g z₀ (k - m)

    Multiplying by (· - z₀) ^ m shifts Laurent coefficients.

    theorem RS.forall_neg_laurentCoeffAt_eq_zero_iff {f : } {z₀ : } (hf : MeromorphicAt f z₀) :
    (∀ k < 0, laurentCoeffAt f z₀ k = 0) 0 meromorphicOrderAt f z₀

    Vanishing principal tail ↔ analytic-after-repair (Mittag-Leffler-facing).