Hecke Operators on Modular Forms #
Defines the action of the Hecke algebra on functions ℍ → ℂ via the slash action,
and shows it preserves slash invariance.
Main definitions #
glMap— embeddingGL₂(ℚ) →* GL₂(ℝ)heckeSlash— action of a double coset on functions via left coset representatives:T(D) f = Σᵢ f ∣[k] (σᵢδ)ᵀwhereΓδΓ = ⊔ Γ(δᵀσᵢᵀ)(Shimura Prop 3.30)heckeSlashInvariant— the Hecke operator preserves slash invariance
Implementation #
The slash action on GL₂(ℚ) is induced from GL₂(ℝ) via monoidHomSlashAction glMap,
so f ∣[k] g works directly for g : GL (Fin 2) ℚ without explicit coercion.
Left coset representatives are obtained by transposing right coset representatives:
if ΓδΓ = ⊔ᵢ (σᵢδ)Γ, then ΓδΓ = ⊔ᵢ Γ(δᵀσᵢᵀ) since transpose is an
anti-involution preserving Γ and fixing every double coset (GL_pair_onHeckeCoset_eq).
References #
- Shimura, Introduction to the Arithmetic Theory of Automorphic Functions, §3.4, Prop 3.30
Embed GL₂(ℚ) into GL₂(ℝ) via ℚ ↪ ℝ.
Equations
Instances For
Slash action on GL₂(ℚ) induced from GL₂(ℝ) via the embedding ℚ ↪ ℝ.
Satisfies f ∣[k] g = f ∣[k] glMap g definitionally.
Instances For
The transposed right-coset representative: (σᵢ * δ)ᵀ = δᵀ * σᵢᵀ.
Equations
- HeckeRing.GL2.tRep D i = MulOpposite.unop ((HeckeRing.GLn.GLTransposeEquiv 2) (↑(Quotient.out i) * ↑D.rep))
Instances For
The Hecke slash action of a double coset D on a function f : ℍ → ℂ.
Uses left coset representatives via transpose (Shimura Prop 3.30):
T_k(D)(f) = Σᵢ f ∣[k] (σᵢδ)ᵀ
where ΓδΓ = ⊔ᵢ (σᵢδ)Γ is the right coset decomposition.
Each (σᵢδ)ᵀ = δᵀσᵢᵀ is a left coset representative, giving
genuinely distinct terms f ∣[k] (δᵀσᵢᵀ).
Equations
- HeckeRing.GL2.heckeSlash k D f = ∑ i : HeckeRing.decompQuot (HeckeRing.GLn.GLPair 2) D.rep, SlashAction.map k (HeckeRing.GL2.tRep D i) f
Instances For
The Hecke slash action distributes over addition of functions.
The Hecke slash action sends the zero function to zero.
The Hecke slash action commutes with scalar multiplication.
Slashing by a transpose of h₁ * delta * h₂ with h₁, h₂ in H equals slashing
by tRep D ⟦h₁⟧, using Gamma-invariance to absorb the H-elements.
The Hecke slash action preserves slash-invariance under SL₂(Z) (Shimura Prop 3.30).
The SlashInvariantForm obtained by applying a Hecke operator.
Equations
- HeckeRing.GL2.heckeSlashInvariant k D f = { toFun := HeckeRing.GL2.heckeSlash k D ⇑f, slash_action_eq' := ⋯ }
Instances For
The transpose anti-homomorphism applied to the product of two coset reps:
tRep D₂ j * tRep D₁ i = (σᵢδ₁ · σⱼδ₂)ᵀ.