Definitions/Def_ModularCurve_SiegelFunction.lean
Siegel functions of level as -products
For a natural number N, integers r,s and a complex number z, ModularCurve.siegelFun N r s z is the explicit product
-e^{\pi i s(r-N)/N^{2}}\; e^{\pi i\left((r/N)^{2}-r/N+1/6\right)z}\;\bigl(1-q_a\bigr)\prod_{n\ge 0}\bigl(1-q^{\,n+1}q_a\bigr)\bigl(1-q^{\,n+1}q_a^{-1}\bigr),
where q=e^{2\pi i z} and q_a=e^{2\pi i (rz+s)/N}, and where the inner power q^{n+1} is literally e^{2\pi i z} raised to the natural-number exponent n+1. Writing a=(a_1,a_2)=(r/N,s/N), the first exponential is -e^{2\pi i a_2(a_1-1)/2}, the second is q^{B_2(a_1)/2} with B_2(x)=x^{2}-x+1/6 the second Bernoulli polynomial, and q_a=e^{2\pi i(a_1z+a_2)}; thus the definition is the classical Siegel function g_a in the Kubert–Lang normalisation, indexed by a pair of integers rather than by a reduced residue pair, so r and s are not taken modulo N.
The function is defined for every z\in\mathbb{C}, with no hypothesis on N, r, s; the infinite product is Mathlib's unconditional ∏', which agrees with the usual limit exactly when the factors form a multipliable family, as happens for z in the upper half-plane, where the product converges absolutely. Since the divisions are field divisions, the case N=0 degenerates: the factor 1-e^{2\pi i(rz+s)/N} becomes 1-e^{0}=0, so siegelFun 0 r s z = 0 for all r,s,z. The companion declaration ModularCurve.siegelFun_def records the defining identity as an equation available for rewriting. No analytic property (modularity of g_a^{12N}, the relation to Klein forms and \eta^2, absence of zeros and poles on the upper half-plane) is asserted here; only the q-product itself is fixed.
Relation to Mathlib
Mathlib has no Siegel or Klein functions; this is the project's own definition, built from Mathlib's Complex.exp and its unconditional infinite product ∏'.
Where it is used
This explicit q-product is the basic analytic object in the project's development of modular units of level N on modular curves, and is imported by the modules that establish their transformation and divisor properties.
References
- D. S. Kubert and S. Lang, Modular Units, Grundlehren der mathematischen Wissenschaften 244, Springer, 1981, Chapter 2, §1
- S. Lang, Elliptic Functions, 2nd edition, Graduate Texts in Mathematics 112, Springer, 1987
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 33 lines
- 2 declarations
- used in the statements of 11 theorems and imported by 13 proofs
- imports 0 definition modules
Source file: Definitions/Def_ModularCurve_SiegelFunction.lean
Declarations
Source
import Mathlib.Analysis.SpecialFunctions.Trigonometric.Basic ↗ import Mathlib.Topology.Algebra.InfiniteSum.Basic ↗ set_option autoImplicit false noncomputable section namespace ModularCurve def siegelFun (N : ℕ) (r s : ℤ) (z : ℂ) : ℂ := -Complex.exp (Real.pi * Complex.I * (s : ℂ) * ((r : ℂ) - (N : ℂ)) / (N : ℂ) ^ 2) * Complex.exp (Real.pi * Complex.I * (((r : ℂ) / (N : ℂ)) ^ 2 - (r : ℂ) / (N : ℂ) + 1 / 6) * z) * (1 - Complex.exp (2 * Real.pi * Complex.I * ((r : ℂ) * z + (s : ℂ)) / (N : ℂ))) * ∏' n : ℕ, ((1 - Complex.exp (2 * Real.pi * Complex.I * z) ^ (n + 1) * Complex.exp (2 * Real.pi * Complex.I * ((r : ℂ) * z + (s : ℂ)) / (N : ℂ))) * (1 - Complex.exp (2 * Real.pi * Complex.I * z) ^ (n + 1) * (Complex.exp (2 * Real.pi * Complex.I * ((r : ℂ) * z + (s : ℂ)) / (N : ℂ)))⁻¹)) theorem siegelFun_def (N : ℕ) (r s : ℤ) (z : ℂ) : siegelFun N r s z = -Complex.exp (Real.pi * Complex.I * (s : ℂ) * ((r : ℂ) - (N : ℂ)) / (N : ℂ) ^ 2) * Complex.exp (Real.pi * Complex.I * (((r : ℂ) / (N : ℂ)) ^ 2 - (r : ℂ) / (N : ℂ) + 1 / 6) * z) * (1 - Complex.exp (2 * Real.pi * Complex.I * ((r : ℂ) * z + (s : ℂ)) / (N : ℂ))) * ∏' n : ℕ, ((1 - Complex.exp (2 * Real.pi * Complex.I * z) ^ (n + 1) * Complex.exp (2 * Real.pi * Complex.I * ((r : ℂ) * z + (s : ℂ)) / (N : ℂ))) * (1 - Complex.exp (2 * Real.pi * Complex.I * z) ^ (n + 1) * (Complex.exp (2 * Real.pi * Complex.I * ((r : ℂ) * z + (s : ℂ)) / (N : ℂ)))⁻¹)) := rfl end ModularCurve end
Statements phrased using this module (11)
- Siegel unit times Δ^t as a weight-12t form on Γ₁(N)
ModularCurve.SiegelUnit.exists_modularForm_gamma1_coe_eq_prod_siegelFun_pow_mul_discriminant_pow9 below · depth 18 - Integrality up to a power of N of the cusp-0 expansion
ModularCurve.SiegelUnit.isIntegral_qExpansion_slash_S_coeff_of_coe_eq_prod_siegelFun_pow_mul_discriminant_pow10 below · depth 18 - Exact q-order and integrality of a Siegel-unit form
ModularCurve.SiegelUnit.qExpansion_one_coeff_of_coe_eq_prod_siegelFun_pow_mul_discriminant_pow5 below · depth 18 - Holomorphy of the Siegel function g_{r,s} on H
ModularCurve.SiegelUnit.differentiableOn_siegelFun1 below · depth 19 - Integral q-expansion of a product of Siegel function powers
ModularCurve.SiegelUnit.exists_isIntegral_hasSum_prod_siegelFun_pow3 below · depth 19 - SL₂(ℤ)-transport and Γ₁(N)-invariance of Siegel-function power products
ModularCurve.SiegelUnit.prod_siegelFun_pow_specialLinearGroup_smul3 below · depth 19 - Integral q^{1/N}-expansion of the Siegel function g_{r,s}
ModularCurve.SiegelUnit.exists_isIntegral_hasSum_siegelFun1 below · depth 20 - Periodicity of Siegel functions in the index (r,s)
ModularCurve.SiegelUnit.siegelFun_add_level0 below · depth 20 - Transformation of Siegel functions under SL₂(ℤ)
ModularCurve.siegelFun_specialLinearGroup_smul1 below · depth 20 - Integral q-expansion of the Siegel form u_μΔ^t on Γ₁(q)
ModularCurve.SiegelUnit.exists_modularForm_gamma1_isIntegralQExp_coeff_eq_one_and_forall_slash_isIntegral14 below · depth 36 - Formal Siegel series computes the q-expansion of gₐ^{12q}
ModularCurve.SiegelUnit.hasSum_coeff_siegelSeries_pow_mul_exp_siegelFun_pow_div1 below · depth 37