Documentation

TauCeti.NumberTheory.ModularForms.SiegelFunction.Basic

Siegel functions #

For r = (r₁, r₂) ∈ ℝ² the Siegel function g_r is the holomorphic function on the upper half-plane given by the product g_r(τ) = -e^{π i B₂(r₁) τ} e^{π i r₂ (r₁ - 1)} (1 - w) ∏_{n ≥ 1} (1 - qⁿ w) (1 - qⁿ w⁻¹), where q = e^{2π i τ}, w = e^{2π i (r₁ τ + r₂)} and B₂(x) = x² - x + 1/6 is the second Bernoulli polynomial. For rational r these functions are the basic building blocks of modular units of level N: suitable powers and products of them are modular functions whose values at imaginary quadratic points generate ray class fields, and they control the small-power class field inclusions in the proof of the class number one theorem.

This file constructs g_r and develops its elementary analytic and algebraic properties: the defining product converges locally uniformly on the upper half-plane, so g_r is holomorphic there; g_r vanishes nowhere on the upper half-plane when r ∉ ℤ²; and g_r transforms by an explicit root of unity under integral translations of r and under τ ↦ τ + 1. The phases are exact: no root of unity is lost to a choice of branch. Finally it computes the three Siegel functions of level two, g₀ = g_{(0, 1/2)}, g₁ = g_{(1/2, 0)} and g₂ = g_{(1/2, 1/2)}, as explicit products (up to constant factors they are the squares 𝔣₂², 𝔣₁² and 𝔣² of Weber's modular functions), proves g₀ g₁ g₂ = 2 ζ₈ with ζ₈ = e^{2π i / 8}, expands their fourth powers in q = e^{2π i τ} and s = e^{π i τ}, and records how τ ↦ τ + 1 permutes them up to roots of unity.

Main definitions and results #

References #

noncomputable def TauCeti.ModularForm.siegelFunction (r : Fin 2 → ℝ) (τ : ℂ) :

The Siegel function g_r(τ) attached to r = (r₁, r₂) ∈ ℝ²: g_r(τ) = -e^{π i B₂(r₁) τ} e^{π i r₂ (r₁ - 1)} (1 - w) ∏_{n ≥ 1} (1 - qⁿ w) (1 - qⁿ w⁻¹) with q = e^{2π i τ}, w = e^{2π i (r₁ τ + r₂)} and B₂ = bernoulliFun 2 the second Bernoulli polynomial x² - x + 1/6. The product converges for τ in the upper half-plane, where g_r is holomorphic; elsewhere the value is a junk value.

Instances For
    theorem TauCeti.ModularForm.siegelFunction_def (r : Fin 2 → ℝ) (τ : ℂ) :
    siegelFunction r τ = -Complex.exp (↑Real.pi * Complex.I * ↑(bernoulliFun 2 (r 0)) * τ) * Complex.exp (↑Real.pi * Complex.I * ↑(r 1) * (↑(r 0) - 1)) * (1 - Complex.exp (2 * ↑Real.pi * Complex.I * (↑(r 0) * τ + ↑(r 1)))) * ∏' (n : ℕ), (1 - Complex.exp (2 * ↑Real.pi * Complex.I * τ) ^ (n + 1) * Complex.exp (2 * ↑Real.pi * Complex.I * (↑(r 0) * τ + ↑(r 1)))) * (1 - Complex.exp (2 * ↑Real.pi * Complex.I * τ) ^ (n + 1) * Complex.exp (-(2 * ↑Real.pi * Complex.I * (↑(r 0) * τ + ↑(r 1)))))

    The defining product of the Siegel function.

    theorem TauCeti.ModularForm.siegelFunction_eq_qTheta (r : Fin 2 → ℝ) (τ : ℂ) :
    siegelFunction r τ = -Complex.exp (↑Real.pi * Complex.I * ↑(bernoulliFun 2 (r 0)) * τ) * Complex.exp (↑Real.pi * Complex.I * ↑(r 1) * (↑(r 0) - 1)) * qTheta (Complex.exp (2 * ↑Real.pi * Complex.I * τ)) (Complex.exp (2 * ↑Real.pi * Complex.I * (↑(r 0) * τ + ↑(r 1))))

    The Siegel function as a phase times the theta product θ_q(w): g_r(τ) = -e^{π i B₂(r₁) τ} e^{π i r₂ (r₁ - 1)} θ_q(w) with q = e^{2π i τ} and w = e^{2π i (r₁ τ + r₂)}.

    Convergence and holomorphy on the upper half-plane #

    theorem TauCeti.ModularForm.siegelFunction_eq_mul_tprod_mul_tprod (r : Fin 2 → ℝ) {τ : ℂ} (hτ : 0 < τ.im) :
    siegelFunction r τ = -Complex.exp (↑Real.pi * Complex.I * ↑(bernoulliFun 2 (r 0)) * τ) * Complex.exp (↑Real.pi * Complex.I * ↑(r 1) * (↑(r 0) - 1)) * (1 - Complex.exp (2 * ↑Real.pi * Complex.I * (↑(r 0) * τ + ↑(r 1)))) * ((∏' (n : ℕ), (1 - Complex.exp (2 * ↑Real.pi * Complex.I * τ) ^ (n + 1) * Complex.exp (2 * ↑Real.pi * Complex.I * (↑(r 0) * τ + ↑(r 1))))) * ∏' (n : ℕ), (1 - Complex.exp (2 * ↑Real.pi * Complex.I * τ) ^ (n + 1) * Complex.exp (-(2 * ↑Real.pi * Complex.I * (↑(r 0) * τ + ↑(r 1))))))

    On the upper half-plane the Siegel function splits into its two half products, g_r(τ) = -e^{π i B₂(r₁) τ} e^{π i r₂ (r₁ - 1)} (1 - w) P(w) P(w⁻¹) where P(v) = ∏_{n ≥ 1} (1 - qⁿ v), with q = e^{2π i τ} and w = e^{2π i (r₁ τ + r₂)}.

    theorem TauCeti.ModularForm.hasProdLocallyUniformlyOn_siegelFunction (r : Fin 2 → ℝ) :
    HasProdLocallyUniformlyOn (fun (n : ℕ) (τ : ℂ) => (1 - Complex.exp (2 * ↑Real.pi * Complex.I * τ) ^ (n + 1) * Complex.exp (2 * ↑Real.pi * Complex.I * (↑(r 0) * τ + ↑(r 1)))) * (1 - Complex.exp (2 * ↑Real.pi * Complex.I * τ) ^ (n + 1) * Complex.exp (-(2 * ↑Real.pi * Complex.I * (↑(r 0) * τ + ↑(r 1)))))) (fun (τ : ℂ) => ∏' (n : ℕ), (1 - Complex.exp (2 * ↑Real.pi * Complex.I * τ) ^ (n + 1) * Complex.exp (2 * ↑Real.pi * Complex.I * (↑(r 0) * τ + ↑(r 1)))) * (1 - Complex.exp (2 * ↑Real.pi * Complex.I * τ) ^ (n + 1) * Complex.exp (-(2 * ↑Real.pi * Complex.I * (↑(r 0) * τ + ↑(r 1)))))) UpperHalfPlane.upperHalfPlaneSet

    The infinite product ∏_{n ≥ 1} (1 - qⁿ w) (1 - qⁿ w⁻¹) defining the Siegel function, with q = e^{2π i τ} and w = e^{2π i (r₁ τ + r₂)}, converges locally uniformly on the upper half-plane.

    The Siegel function is holomorphic on the upper half-plane.

    The Siegel function is holomorphic as a function on ℍ.

    theorem TauCeti.ModularForm.siegelFunction_ne_zero {r : Fin 2 → ℝ} (hr : ∀ (s : Fin 2 → ℤ), r ≠ fun (i : Fin 2) => ↑(s i)) {τ : ℂ} (hτ : 0 < τ.im) :

    The Siegel function has no zeros on the upper half-plane when r ∉ ℤ².

    Translations of r and of τ #

    theorem TauCeti.ModularForm.siegelFunction_add_intCast (r : Fin 2 → ℝ) (s : Fin 2 → ℤ) {τ : ℂ} (hτ : 0 < τ.im) :
    siegelFunction (r + fun (i : Fin 2) => ↑(s i)) τ = (-1) ^ (s 0 * s 1 + s 0 + s 1) * Complex.exp (-(↑Real.pi * Complex.I * (↑(s 0) * ↑(r 1) - ↑(s 1) * ↑(r 0)))) * siegelFunction r τ

    Translating r by an integral vector. For s = (s₁, s₂) ∈ ℤ², g_{r + s} = (-1)^{s₁ s₂ + s₁ + s₂} e^{-π i (s₁ r₂ - s₂ r₁)} g_r on the upper half-plane. In particular g_r depends on r modulo ℤ² only up to a root of unity when r is rational.

    The translation τ ↦ τ + 1: g_r(τ + 1) = e^{π i / 6} g_{r T}(τ), where r T = (r₁, r₁ + r₂) is the row vector r multiplied on the right by T = [[1, 1], [0, 1]].

    The factor e^{π i / 6} in siegelFunction_apply_add_one is a twelfth root of unity.

    The Siegel functions of level two #

    With s = e^{π i τ}, so that q = s², the three Siegel functions g_r with r ∈ (½ ℤ)² \ ℤ² modulo ℤ² are the products below. Multiplying them, Euler's identity ∏_{n ≥ 1} (1 + qⁿ) ∏_{n ≥ 0} (1 - q^{2n+1}) = 1 collapses every infinite product, leaving the constant 2 ζ₈.

    theorem TauCeti.ModularForm.siegelFunction_zero_half {τ : ℂ} (hτ : 0 < τ.im) :
    siegelFunction ![0, 1 / 2] τ = 2 * Complex.I * Complex.exp (↑Real.pi * Complex.I * τ / 6) * (∏' (n : ℕ), (1 + Complex.exp (2 * ↑Real.pi * Complex.I * τ) ^ (n + 1))) ^ 2

    g_{(0, 1/2)}(τ) = 2 i e^{π i τ / 6} (∏_{n ≥ 1} (1 + qⁿ))² on the upper half-plane, where q = e^{2π i τ}.

    theorem TauCeti.ModularForm.siegelFunction_zero_half_pow_twelve {τ : ℂ} (hτ : 0 < τ.im) :
    siegelFunction ![0, 1 / 2] τ ^ 12 = 4096 * Complex.exp (2 * ↑Real.pi * Complex.I * τ) * (∏' (n : ℕ), (1 + Complex.exp (2 * ↑Real.pi * Complex.I * τ) ^ (n + 1))) ^ 24

    g_{(0, 1/2)}(τ)¹² = 4096 q (∏_{n ≥ 1} (1 + qⁿ))²⁴ on the upper half-plane, where q = e^{2π i τ}.

    theorem TauCeti.ModularForm.siegelFunction_half_zero {τ : ℂ} (hτ : 0 < τ.im) :
    siegelFunction ![1 / 2, 0] τ = -Complex.exp (-(↑Real.pi * Complex.I * τ / 12)) * (∏' (n : ℕ), (1 - Complex.exp (↑Real.pi * Complex.I * τ) ^ (2 * n + 1))) ^ 2

    g_{(1/2, 0)}(τ) = -e^{-π i τ / 12} (∏_{n ≥ 0} (1 - s^{2n+1}))² on the upper half-plane, where s = e^{π i τ}.

    theorem TauCeti.ModularForm.siegelFunction_half_half {τ : ℂ} (hτ : 0 < τ.im) :
    siegelFunction ![1 / 2, 1 / 2] τ = -Complex.exp (-(↑Real.pi * Complex.I / 4)) * Complex.exp (-(↑Real.pi * Complex.I * τ / 12)) * (∏' (n : ℕ), (1 + Complex.exp (↑Real.pi * Complex.I * τ) ^ (2 * n + 1))) ^ 2

    g_{(1/2, 1/2)}(τ) = -e^{-π i / 4} e^{-π i τ / 12} (∏_{n ≥ 0} (1 + s^{2n+1}))² on the upper half-plane, where s = e^{π i τ}.

    The product of the level-two Siegel functions: g₀ g₁ g₂ = 2 ζ₈ on the upper half-plane, where g₀ = g_{(0, 1/2)}, g₁ = g_{(1/2, 0)}, g₂ = g_{(1/2, 1/2)} and ζ₈ = e^{2π i / 8}.

    g₀⁴ = 16 q^{1/3} / (∏_{n ≥ 0} (1 - q^{2n+1}))⁸ for q = e^{2π i τ}, where q^{1/3} = e^{2π i τ / 3}.

    theorem TauCeti.ModularForm.siegelFunction_half_zero_pow_four {τ : ℂ} (hτ : 0 < τ.im) :
    siegelFunction ![1 / 2, 0] τ ^ 4 = Complex.exp (-(↑Real.pi * Complex.I * τ / 3)) * (∏' (n : ℕ), (1 - Function.Periodic.qParam 2 τ ^ (2 * n + 1))) ^ 8

    g₁⁴ = s^{-1/3} (∏_{n ≥ 0} (1 - s^{2n+1}))⁸ for s = e^{π i τ}, where s^{-1/3} = e^{-π i τ / 3}.

    theorem TauCeti.ModularForm.siegelFunction_half_half_pow_four {τ : ℂ} (hτ : 0 < τ.im) :
    siegelFunction ![1 / 2, 1 / 2] τ ^ 4 = -(Complex.exp (-(↑Real.pi * Complex.I * τ / 3)) * (∏' (n : ℕ), (1 - (-Function.Periodic.qParam 2 τ) ^ (2 * n + 1))) ^ 8)

    g₂⁴ = -s^{-1/3} (∏_{n ≥ 0} (1 - (-s)^{2n+1}))⁸ for s = e^{π i τ}, where s^{-1/3} = e^{-π i τ / 3}.

    g₀⁴ g₁⁴ g₂⁴ = -16, the fourth power of g₀ g₁ g₂ = 2 ζ₈.

    g₀(τ + 1) = e^{π i / 6} g₀(τ) for g₀ = g_{(0, 1/2)}.

    g₁(τ + 1) = e^{π i / 6} g₂(τ) for g₁ = g_{(1/2, 0)} and g₂ = g_{(1/2, 1/2)}.

    g₂(τ + 1) = e^{-π i / 3} g₁(τ) for g₁ = g_{(1/2, 0)} and g₂ = g_{(1/2, 1/2)}.