Hecke rings: the multiplicity function #
Shimura's multiplicity (Proposition 3.2 of Shimura) counts, for double cosets
Γ₁gΓ₂, Γ₂hΓ₃ and Γ₁dΓ₃, the pairs of left-coset representatives (σᵢ, τⱼ) with
σᵢ g τⱼ h Γ₃ = d Γ₃. These natural numbers are the structure constants of the Hecke product
defined in later files: the diagonal case Γ₁ = Γ₂ = Γ₃ gives the multiplication of the Hecke
ring, and the general case gives the composition of Hecke coset modules between different
levels. This file defines the multiplicity, the map mulMap sending a pair of representatives
to the mixed double coset of their product, and the uniqueness lemmas for the fibres of the
multiplicity.
Vendored from the in-review mathlib4 PR #41254 (Chris Birkbeck), per the ModularForms roadmap's dependency policy; migrate to Mathlib and delete this file when that stack merges.
Main definitions #
DoubleCoset.multiplicity: Shimura's multiplicity, a natural number structure constant.HeckeCoset.mulMap: the double cosetH₁ (σᵢ g₁ τⱼ g₂) H₃of a pair of coset representatives.
References #
The decomposition quotient collapses when Γ₁ lies in the conjugate gΓ₂g⁻¹.
The diagonal decomposition quotient of an element of Γ is a singleton.
Shimura's multiplicity (Proposition 3.2 of Shimura): the number of pairs
(i, j) of coset representatives such that σᵢ g τⱼ h Γ₃ = d Γ₃. The diagonal case
Γ₁ = Γ₂ = Γ₃ gives the structure constants of the Hecke ring.
On an infinite fibre Nat.card returns 0 — the standard junk-value convention, as for
Module.finrank. For a Hecke triple the decomposition quotients are finite (the
IsHeckeTriple instances provide Fintype), which is the only case the theory uses: the
support results assume finite decomposition quotients, while the identity-coset results
(Multiplicity/Unit.lean) prove their fibres are singletons directly and need no finiteness.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The defining formula of the multiplicity: the characterisation through which all
computations with multiplicity go, keeping the definition itself opaque.
When the first components of two pairs in the fibre of the multiplicity agree, the second components agree.
A first factor that does not split forces multiplicity at most one. When Γ₁ g Γ₂
consists of a single left coset, no double coset occurs more than once in the product, for any
h and d.
No finiteness hypothesis is needed, in particular none on the second decomposition quotient.
When the common second component of two pairs in the fibre of the multiplicity satisfies
τⱼ h ∈ Γ₂, the first components agree.
The map sending a pair of coset representatives (σᵢ, τⱼ) to the mixed double coset
H₁ (σᵢ g₁ τⱼ g₂) H₃ of their product, from bare containments H₁ ≤ Δ and H₂ ≤ Δ; the
Hecke-triple wrapper is mulMap.
Equations
- HeckeCoset.mulMapOf h₁ h₂ H₃ g₁ g₂ p = HeckeCoset.mk H₁ H₃ ⟨↑(Quotient.out p.1) * ↑g₁ * (↑(Quotient.out p.2) * ↑g₂), ⋯⟩
Instances For
The map sending a pair of coset representatives (σᵢ, τⱼ) to the mixed double coset
H₁ (σᵢ g₁ τⱼ g₂) H₃ of their product: the Hecke-triple form of mulMapOf.
Equations
- HeckeCoset.mulMap H₁ H₂ H₃ g₁ g₂ p = HeckeCoset.mulMapOf ⋯ ⋯ H₃ g₁ g₂ p
Instances For
mulMap is mulMapOf at the containments provided by the Hecke triple.
The value of mulMapOf on a pair of representatives, as an explicit mk: the
characterisation through which computations with mulMapOf go, keeping the definition itself
opaque.
The value of mulMap on a pair of representatives: the Hecke-triple form of
mulMapOf_eq_mk.
A factorisation σᵢ g₁ τⱼ g₂ = l d r with l ∈ H₁ and r ∈ H₃ names the double coset
of the product, from bare containments. This is the shape a structure-constant computation
arrives at: the product of two representatives is rearranged until the intended representative
d stands alone between a left factor and a right factor.
A factorisation σᵢ g₁ τⱼ g₂ = l d r with l ∈ H₁ and r ∈ H₃ names the double coset of
the product: the Hecke-triple form of mulMapOf_eq_of_eq_mul_mul.
If σᵢ g₁ τⱼ g₂ H₃ = d H₃ then the double coset of σᵢ g₁ τⱼ g₂ equals that of d,
from bare containments.
If σᵢ g₁ τⱼ g₂ H₃ = d H₃ then the double coset of σᵢ g₁ τⱼ g₂ equals that of d:
the Hecke-triple form of mulMapOf_eq_of_mk_eq.