Documentation

LeanPool.JacobianDiffgeo.ResidueCalculus.MittagLeffler

Mittag-Leffler principal-part distributions (residue-calculus) #

RS.PrincipalPartData U is a Mittag-Leffler datum: at finitely many points of U ⊆ ℂ, a finite tail of negative-exponent Laurent coefficients. Implemented as a Submodule ℂ (ℂ → (ℤ →₀ ℂ)) subtype (so the AddCommGroup/Module structure comes for free), with named accessors coeff/coeff_neg/mem_of_ne_zero/finite_support matching the design's structure fields.

RS.PrincipalPartData.Realizes f D says f is meromorphic on U with exactly the principal parts D. RS.PrincipalPartData.ofMeromorphicOn extracts the datum from a meromorphic function with finitely many poles on U.

Main exports: RS.PrincipalPartData, RS.PrincipalPartData.Realizes, RS.PrincipalPartData.toFun, RS.PrincipalPartData.totalRes, RS.PrincipalPartData.ofMeromorphicOn, RS.PrincipalPartData.realizes_ofMeromorphicOn, RS.PrincipalPartData.Realizes.add, RS.PrincipalPartData.Realizes.smul, RS.PrincipalPartData.Realizes.sub_orderAt_nonneg, RS.PrincipalPartData.realizes_zero_iff.

Semi-frozen (per the design doc): laurent-tails' designer may extend, not change, this interface.

The underlying submodule of coefficient assignments: pure principal parts (negative exponents only), supported in U, with finitely many nonzero points.

Equations
  • One or more equations did not get rendered due to their size.
Instances For

    A Mittag-Leffler datum of principal parts on U ⊆ ℂ: at finitely many points, a finite tail of negative-exponent Laurent coefficients.

    Equations
    Instances For
      @[instance_reducible]
      Equations
      • One or more equations did not get rendered due to their size.
      @[instance_reducible]
      Equations

      Coefficient tail at each point.

      Equations
      Instances For
        theorem RS.PrincipalPartData.coeff_neg {U : Set } (D : PrincipalPartData U) (p : ) (k : ) :
        k (D.coeff p).supportk < 0
        def RS.PrincipalPartData.mk' {U : Set } (coeff : →₀ ) (coeff_neg : ∀ (p : ), k(coeff p).support, k < 0) (mem_of_ne_zero : ∀ (p : ), coeff p 0p U) (finite_support : {p : | coeff p 0}.Finite) :

        Constructor matching the structure-literal API.

        Equations
        Instances For
          @[simp]
          theorem RS.PrincipalPartData.coeff_mk' {U : Set } (coeff : →₀ ) (coeff_neg : ∀ (p : ), k(coeff p).support, k < 0) (mem_of_ne_zero : ∀ (p : ), coeff p 0p U) (finite_support : {p : | coeff p 0}.Finite) :
          (mk' coeff coeff_neg mem_of_ne_zero finite_support).coeff = coeff
          @[simp]
          @[simp]

          f realizes the datum on U: meromorphic with exactly these principal parts.

          Equations
          Instances For
            noncomputable def RS.PrincipalPartData.toFun {U : Set } (D : PrincipalPartData U) :

            The associated function: sum of the finite tails (junk-free honest function).

            Equations
            Instances For
              noncomputable def RS.PrincipalPartData.totalRes {U : Set } (D : PrincipalPartData U) :

              Total residue of the datum.

              Equations
              Instances For
                noncomputable def RS.PrincipalPartData.mlCoeff (f : ) (U : Set ) (p : ) :

                The raw coefficient assignment underlying ofMeromorphicOn: at each p ∈ U, the negative Laurent tail of f at p (as a Finsupp on Finset.Icc (order.untop₀) (-1)); 0 off U.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  theorem RS.PrincipalPartData.mlCoeff_apply {f : } {U : Set } (p : ) (k : ) :
                  (mlCoeff f U p) k = if p U k < 0 then laurentCoeffAt f p k else 0
                  theorem RS.PrincipalPartData.mlCoeff_coeff_neg (f : ) (U : Set ) (p : ) (k : ) :
                  k (mlCoeff f U p).supportk < 0
                  theorem RS.PrincipalPartData.mlCoeff_mem_of_ne_zero (f : ) (U : Set ) (p : ) :
                  mlCoeff f U p 0p U
                  noncomputable def RS.PrincipalPartData.ofMeromorphicOn {U : Set } {f : } (_hf : MeromorphicOn f U) (hfin : {p : | p U meromorphicOrderAt f p < 0}.Finite) :

                  Extraction from a meromorphic function with finitely many poles.

                  Equations
                  Instances For
                    theorem RS.PrincipalPartData.Realizes.add {U : Set } {f g : } {D E : PrincipalPartData U} (hf : Realizes f D) (hg : Realizes g E) :
                    Realizes (f + g) (D + E)
                    theorem RS.PrincipalPartData.Realizes.smul {U : Set } {f : } {D : PrincipalPartData U} (c : ) (hf : Realizes f D) :
                    Realizes (fun (z : ) => c * f z) (c D)
                    theorem RS.PrincipalPartData.Realizes.sub_orderAt_nonneg {U : Set } {f g : } {D : PrincipalPartData U} (hf : Realizes f D) (hg : Realizes g D) (p : ) :
                    p U0 meromorphicOrderAt (fun (z : ) => f z - g z) p

                    Two realizations differ by a pole-free function (the ML gluing atom: differences of solutions are holomorphic-after-repair).

                    theorem RS.PrincipalPartData.realizes_zero_iff {U : Set } {f : } (hf : MeromorphicOn f U) :
                    Realizes f 0 pU, 0 meromorphicOrderAt f p

                    Realizing the zero datum = no poles on U.