Documentation

Mathlib.Analysis.SpecialFunctions.Elliptic.Weierstrass

Weierstrass ℘ functions #

Main definitions and results #

tags #

Weierstrass p-functions, Weierstrass p functions

structure PeriodPair :

A pair of ℝ-linearly independent complex numbers. They span the period lattice in lattice, and are the periods of the elliptic functions we shall construct.

Instances For

    The ℝ-basis of ℂ determined by a pair of periods.

    Equations
    Instances For
      @[simp]
      @[simp]

      The lattice spanned by a pair of periods.

      Equations
      Instances For
        theorem PeriodPair.mem_lattice {L : PeriodPair} {x : ℂ} :
        x ∈ L.lattice ↔ ∃ (m : ℤ) (n : ℤ), ↑m * L.ω₁ + ↑n * L.ω₂ = x
        theorem PeriodPair.mul_ω₁_add_mul_ω₂_mem_lattice {L : PeriodPair} {α β : ℚ} :
        ↑α * L.ω₁ + ↑β * L.ω₂ ∈ L.lattice ↔ α.den = 1 ∧ β.den = 1

        The ℤ-basis of the lattice determined by a pair of periods.

        Equations
        Instances For

          The equivalence from the lattice generated by a pair of periods to ℤ × ℤ.

          Equations
          Instances For
            theorem PeriodPair.hasSumLocallyUniformly_aux (L : PeriodPair) (f : ↥L.lattice → ℂ → ℂ) (u : ℝ → ↥L.lattice → ℝ) (hu : ∀ r > 0, Summable (u r)) (hf : ∀ r > 0, ∀ᶠ (R : ℝ) in Filter.atTop, ∀ (x : ℂ), ‖x‖ < r → ∀ (l : ↥L.lattice), ‖↑l‖ = R → ‖f l x‖ ≤ u r l) :
            HasSumLocallyUniformly f fun (x : ℂ) => ∑' (j : ↥L.lattice), f j x
            theorem PeriodPair.weierstrassP_bound (r : ℝ) (hr : r > 0) (s : ℂ) (hs : ‖s‖ < r) (l : ℂ) (h : 2 * r ≤ ‖l‖) :
            ‖1 / (s - l) ^ 2 - 1 / l ^ 2‖ ≤ 10 * r * ‖l‖ ^ (-3)

            The Weierstrass ℘ function with the l₀-term missing. This is mainly a tool for calculations where one would want to omit a diverging term. This has the notation ℘[L - l₀] in the namespace PeriodPairs.

            Equations
            Instances For

              The Weierstrass ℘ function with the l₀-term missing. This is mainly a tool for calculations where one would want to omit a diverging term. This has the notation ℘[L - l₀] in the namespace PeriodPairs.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                theorem PeriodPair.hasSumLocallyUniformly_weierstrassPExcept (L : PeriodPair) (l₀ : ℂ) :
                HasSumLocallyUniformly (fun (l : ↥L.lattice) (z : ℂ) => if ↑l = l₀ then 0 else 1 / (z - ↑l) ^ 2 - 1 / ↑l ^ 2) (L.weierstrassPExcept l₀)
                theorem PeriodPair.hasSum_weierstrassPExcept (L : PeriodPair) (l₀ z : ℂ) :
                HasSum (fun (l : ↥L.lattice) => if ↑l = l₀ then 0 else 1 / (z - ↑l) ^ 2 - 1 / ↑l ^ 2) (L.weierstrassPExcept l₀ z)

                The Weierstrass ℘ function. This has the notation ℘[L] in the namespace PeriodPairs.

                Equations
                Instances For

                  The Weierstrass ℘ function. This has the notation ℘[L] in the namespace PeriodPairs.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    theorem PeriodPair.weierstrassPExcept_add (L : PeriodPair) (l₀ : ↥L.lattice) (z : ℂ) :
                    L.weierstrassPExcept (↑l₀) z + (1 / (z - ↑l₀) ^ 2 - 1 / ↑l₀ ^ 2) = L.weierstrassP z
                    theorem PeriodPair.weierstrassPExcept_def (L : PeriodPair) (l₀ : ↥L.lattice) (z : ℂ) :
                    L.weierstrassPExcept (↑l₀) z = L.weierstrassP z + (1 / ↑l₀ ^ 2 - 1 / (z - ↑l₀) ^ 2)
                    theorem PeriodPair.hasSumLocallyUniformly_weierstrassP (L : PeriodPair) :
                    HasSumLocallyUniformly (fun (l : ↥L.lattice) (z : ℂ) => 1 / (z - ↑l) ^ 2 - 1 / ↑l ^ 2) L.weierstrassP
                    theorem PeriodPair.hasSum_weierstrassP (L : PeriodPair) (z : ℂ) :
                    HasSum (fun (l : ↥L.lattice) => 1 / (z - ↑l) ^ 2 - 1 / ↑l ^ 2) (L.weierstrassP z)

                    The derivative of Weierstrass ℘ function with the l₀-term missing. This is mainly a tool for calculations where one would want to omit a diverging term. This has the notation ℘'[L - l₀] in the namespace PeriodPairs.

                    Equations
                    Instances For

                      The derivative of Weierstrass ℘ function with the l₀-term missing. This is mainly a tool for calculations where one would want to omit a diverging term. This has the notation ℘'[L - l₀] in the namespace PeriodPairs.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        theorem PeriodPair.hasSumLocallyUniformly_derivWeierstrassPExcept (L : PeriodPair) (l₀ : ℂ) :
                        HasSumLocallyUniformly (fun (l : ↥L.lattice) (z : ℂ) => if ↑l = l₀ then 0 else -2 / (z - ↑l) ^ 3) (L.derivWeierstrassPExcept l₀)
                        theorem PeriodPair.hasSum_derivWeierstrassPExcept (L : PeriodPair) (l₀ z : ℂ) :
                        HasSum (fun (l : ↥L.lattice) => if ↑l = l₀ then 0 else -2 / (z - ↑l) ^ 3) (L.derivWeierstrassPExcept l₀ z)
                        @[simp]
                        theorem PeriodPair.weierstrassP_add_coe (L : PeriodPair) (z : ℂ) (l : ↥L.lattice) :
                        L.weierstrassP (z + ↑l) = L.weierstrassP z
                        @[simp]
                        theorem PeriodPair.weierstrassP_coe (L : PeriodPair) (l : ↥L.lattice) :
                        L.weierstrassP ↑l = 0
                        @[simp]
                        theorem PeriodPair.weierstrassP_sub_coe (L : PeriodPair) (z : ℂ) (l : ↥L.lattice) :
                        L.weierstrassP (z - ↑l) = L.weierstrassP z

                        The derivative of Weierstrass ℘ function. This has the notation ℘'[L] in the namespace PeriodPairs.

                        Equations
                        Instances For

                          The Weierstrass ℘ function. This has the notation ℘[L] in the namespace PeriodPairs.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            theorem PeriodPair.derivWeierstrassPExcept_sub (L : PeriodPair) (l₀ : ↥L.lattice) (z : ℂ) :
                            L.derivWeierstrassPExcept (↑l₀) z - 2 / (z - ↑l₀) ^ 3 = L.derivWeierstrassP z
                            theorem PeriodPair.derivWeierstrassPExcept_def (L : PeriodPair) (l₀ : ↥L.lattice) (z : ℂ) :
                            L.derivWeierstrassPExcept (↑l₀) z = L.derivWeierstrassP z + 2 / (z - ↑l₀) ^ 3
                            theorem PeriodPair.hasSum_derivWeierstrassP (L : PeriodPair) (z : ℂ) :
                            HasSum (fun (l : ↥L.lattice) => -2 / (z - ↑l) ^ 3) (L.derivWeierstrassP z)
                            @[simp]

                            deriv ℘ = ℘'. This is true globally because of junk values.