Documentation

TauCeti.NumberTheory.ModularForms.HeckeSlash.UpperTri.QExpansion

The q-expansion of the upper-triangular Hecke sum #

UpperTri/Sum.lean defines heckeSlashUpperTri k p f = ∑ b < p, f ∣[k] !![1, b; 0, p], and the files beside it carry it past holomorphy, the cusps and invariance under T. What was missing is what the sum does to Fourier coefficients, and that is what this file computes:

aₘ(heckeSlashUpperTri k p f) = a_{p m}(f).

Three steps do it. Slashing by !![1, b; 0, p] sends τ to (τ + b) / p, and both the determinant and the denominator are p, so the automorphy factor is p ^ (k - 1) * p ^ (-k), that is p⁻¹: the weight cancels out, which is why the answer below carries no power of p. The local parameter then splits, 𝕢 1 ((τ + b) / p) = 𝕢 p τ * 𝕢 p b. Finally the offsets contribute the p-th roots of unity 𝕢 p b, whose m-th powers sum to p exactly when p ∣ m (TauCeti.Periodic.sum_qParam_natCast_pow); the p cancels the p⁻¹, and only the indices in p ℕ survive.

Two conventions worth stating #

Main results #

Provenance #

No code is transcribed. The computation is the classical one — the q-expansion of the operator Diamond–Shurman write Tₚ — run here through Mathlib's q-expansion API and the roots-of-unity orthogonality relation, rather than through a transcribed proof.

References #

theorem HeckeRing.GL2.coe_upperTriRep_smul (p : ℕ) (b : Fin p) (τ : UpperHalfPlane) :
↑((Matrix.GeneralLinearGroup.map (algebraMap ℚ ℝ)) (upperTriRep p b) • τ) = (↑τ + ↑↑b) / ↑p

The Möbius image of τ under !![1, b; 0, p] is (τ + b) / p.

The local parameter of width 1 at (τ + b) / p factors as the parameter of width p at τ times its value at the offset b.

Slashing by !![1, b; 0, p]: the determinant and the denominator are both p, so the automorphy factor collapses to p ^ (k - 1) * p ^ (-k) = p⁻¹, independent of the weight.

The upper-triangular Hecke sum has the q-expansion of f along the progression p ℕ. Summing the twisted expansion of each representative over the offsets b < p, the roots-of-unity orthogonality relation kills every term whose index is not divisible by p, and the surviving terms are exactly a_{p j}(f) q^j.

The upper-triangular sum of a 1-periodic function is 1-periodic, in the ofComplex-extended form the q-expansion API asks for.

@[simp]

The coefficient formula for the upper-triangular Hecke sum: aₘ(∑_{b < p} f ∣[k] !![1, b; 0, p]) = a_{p m}(f).

This is the operator classical sources write Uₚ at p ∣ N, and it is the first half of the Diamond–Shurman recurrence aₘ(Tₚ f) = a_{m p}(f) + χ(p) p^{k−1} a_{m/p}(f); the second term comes from the remaining representative !![p, 0; 0, 1], which is not part of this sum. Note that the weight has disappeared: the automorphy factor of each representative is p⁻¹ whatever k is, and the p cancels against the number of offsets.

qExpansion_coeff_heckeSlashUpperTri as an identity of power series: the upper-triangular sum extracts the subseries of f supported on the multiples of p, reindexed.

@[simp]

The coefficient formula for a bundled modular form, the shape Layer 2(b) consumes: for f a modular form of weight k on a group with 1 among its strict periods — every congruence subgroup between Γ₁(N) and Γ₀(N) has this, since it contains T — the upper-triangular sum reads off the coefficients of f along p ℕ.