Skip to content

Commit af442f1

Browse files
CBirkbeckFormulaRabbit81
authored andcommitted
feat: normalised Eisenstein series (leanprover-community#27839)
define normalised Eisenstein series in preparation for giving their q-expansions. Co-authored-by: Chris Birkbeck <c.birkbeck@uea.ac.uk>
1 parent 5456736 commit af442f1

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

Mathlib/NumberTheory/ModularForms/EisensteinSeries/Basic.lean

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,17 @@ namespace ModularForm
2626
open EisensteinSeries CongruenceSubgroup
2727

2828
/-- This defines Eisenstein series as modular forms of weight `k`, level `Γ(N)` and congruence
29-
condition given by `a: Fin 2 → ZMod N`. -/
30-
def eisensteinSeries_MF {k : ℤ} {N : ℕ+} (hk : 3 ≤ k) (a : Fin 2 → ZMod N) :
29+
condition given by `a : Fin 2 → ZMod N`. -/
30+
def eisensteinSeries_MF {k : ℤ} {N : ℕ} [NeZero N] (hk : 3 ≤ k) (a : Fin 2 → ZMod N) :
3131
ModularForm (Gamma N) k where
3232
toFun := eisensteinSeries_SIF a k
3333
slash_action_eq' := (eisensteinSeries_SIF a k).slash_action_eq'
3434
holo' := eisensteinSeries_SIF_MDifferentiable hk a
3535
bdd_at_infty' := isBoundedAtImInfty_eisensteinSeries_SIF a hk
3636

37+
/-- Normalised Eisenstein series of level 1 and weight `k`,
38+
here they have been scaled by `1/2` since we sum over coprime pairs. -/
39+
noncomputable def E {k : ℕ} (hk : 3 ≤ k) : ModularForm Γ(1) k :=
40+
(1/2 : ℂ) • eisensteinSeries_MF (mod_cast hk) 0
41+
3742
end ModularForm

Mathlib/NumberTheory/ModularForms/EisensteinSeries/IsBoundedAtImInfty.lean

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,12 @@ lemma norm_le_tsum_norm (N : ℕ) (a : Fin 2 → ZMod N) (k : ℤ) (hk : 3 ≤ k
5353
@[deprecated (since := "2025-02-17")] alias abs_le_tsum_abs := norm_le_tsum_norm
5454

5555
/-- Eisenstein series are bounded at infinity. -/
56-
theorem isBoundedAtImInfty_eisensteinSeries_SIF {N : ℕ+} (a : Fin 2 → ZMod N) {k : ℤ} (hk : 3 ≤ k)
57-
(A : SL(2, ℤ)) : IsBoundedAtImInfty ((eisensteinSeries_SIF a k).toFun ∣[k] A) := by
56+
theorem isBoundedAtImInfty_eisensteinSeries_SIF {N : ℕ} [NeZero N] (a : Fin 2 → ZMod N) {k : ℤ}
57+
(hk : 3 ≤ k) (A : SL(2, ℤ)) : IsBoundedAtImInfty ((eisensteinSeries_SIF a k).toFun ∣[k] A) := by
5858
simp_rw [UpperHalfPlane.isBoundedAtImInfty_iff, eisensteinSeries_SIF] at *
5959
refine ⟨∑'(x : Fin 2 → ℤ), r ⟨⟨N, 2⟩, Nat.ofNat_pos⟩ ^ (-k) * ‖x‖ ^ (-k), 2, ?_⟩
6060
intro z hz
61-
obtain ⟨n, hn⟩ := (ModularGroup_T_zpow_mem_verticalStrip z N.2)
61+
obtain ⟨n, hn⟩ := (ModularGroup_T_zpow_mem_verticalStrip z (NeZero.pos N))
6262
rw [eisensteinSeries_slash_apply, ← eisensteinSeries_SIF_apply,
6363
← T_zpow_width_invariant N k n (eisensteinSeries_SIF (a ᵥ* A) k) z]
6464
apply le_trans (norm_le_tsum_norm N (a ᵥ* A) k hk _)

0 commit comments

Comments
 (0)