Good Hecke eigenforms and newforms, as bundled forms #
A good Hecke eigenform of level Γ₁(N) and weight k is a nonzero cusp form with a
nebentypus χ that is a simultaneous eigenvector of the Γ₀(N) Hecke ring acting on
cuspFormCharSpace k χ (heckeRingHomCuspCharSpace), at every index coprime to the level.
A newform is a good Hecke eigenform lying in the new subspace and normalised by a₁ = 1:
Miyake's primitive form (§4.6). Both are bundled here as structures extending CuspForm, so
that the character, the eigenvalue system and the analytic invariants travel with the form.
Design #
- Eigen-ness is demanded only at indices coprime to
N, and the eigenvalues are stored only there:eigenvalue n hntakes the coprimality proofhnas an argument, andisEigen n hnis its characteristic equation,heckeTCompositeGamma0 N nacting on the form byeigenvalue n hn. No value and no eigencondition is packaged at an index not coprime toN; the ring element exists there, but its action on a good eigenform is not part of this notion (and is not a claim aboutU_n). - A good eigenform is determined by its underlying cusp form: the character by
eq_of_mem_cuspFormCharSpace_of_ne_zero, the eigenvalues by cancelling the nonzero form in the eigenvector equations (EigenformAwayFromLevel.ext). - That a newform is an eigenvector of every
T_nis a theorem (Atkin–Lehner–Li; Miyake Theorem 4.6.13), not a field, and so is the comparison of the ring eigenvalues with the classical operatorheckeTCuspNat; neither is proved here.
Main definitions #
HeckeRing.GL2.EigenformAwayFromLevel: the bundled good Hecke eigenform, with its eigenvalue systemEigenformAwayFromLevel.eigenvalueat the indices coprime to the level.HeckeRing.GL2.Newform: the bundled newform.HeckeRing.GL2.Newform.dirichletLift: its nebentypus as a zero-extended Dirichlet character.
Main results #
HeckeRing.GL2.EigenformAwayFromLevel.ext,HeckeRing.GL2.Newform.ext: the bundled data is determined by the underlying cusp form.HeckeRing.GL2.Newform.qExpansion_coeff_one: the normalisationa₁ = 1as a simp lemma.
Provenance #
Follows the shapes of structure Eigenform and structure Newform of the AINTLIB
LeanModularForms project (LeanModularForms/HeckeRIngs/GL2/Newforms/{Basic,MainLemma}.lean,
Chris Birkbeck, commit 2baa76f742bdb4fb8ee323fabba41203bd390e08, Apache-2.0,
https://github.com/CBirkbeck/AINTLIB/tree/main/projects/LeanModularForms), with these
differences: the structure is named for the qualified notion, nonzeroness is a field, the
character space is the cusp-form one, and the eigenvalues are stored at the good indices only
rather than as a total function with unconstrained values at the bad ones. The source's
classical eigenvalue Eigenform.eigenvalue (which in its convention carries a diamond factor
χ(n)) is not reproduced.
References #
A good Hecke eigenform, bundled. A nonzero cusp form of level Γ₁(N) with a nebentypus
χ, together with an eigenvalue system for the Γ₀(N) Hecke ring acting on
cuspFormCharSpace k χ: at every index n coprime to N, the ring element
heckeTCompositeGamma0 N n acts by the scalar eigenvalue n hn. Eigen-ness is demanded, and an
eigenvalue stored, only away from the level.
- toFun : UpperHalfPlane → ℂ
- slash_action_eq' (γ : GL (Fin 2) ℝ) : γ ∈ Subgroup.map (Matrix.SpecialLinearGroup.mapGL ℝ) (CongruenceSubgroup.Gamma1 N) → SlashAction.map k γ self.toFun = self.toFun
- holo' : MDiff ⇑self.toSlashInvariantForm
- zero_at_cusps' {c : OnePoint ℝ} (hc : IsCusp c (Subgroup.map (Matrix.SpecialLinearGroup.mapGL ℝ) (CongruenceSubgroup.Gamma1 N))) : c.IsZeroAt self.toFun k
The nebentypus character.
The form transforms under the diamond operators by
χ.The eigenvalue at an index coprime to the level.
- isEigen (n : ℕ+) (hn : (↑n).Coprime N) : ((heckeRingHomCuspCharSpace k self.χ) (heckeTCompositeGamma0 N ↑n)) ⟨self.toCuspForm, ⋯⟩ = self.eigenvalue n hn • ⟨self.toCuspForm, ⋯⟩
At an index
ncoprime toN, the Hecke ring elementheckeTCompositeGamma0 N nacts on the form byeigenvalue n hn. An eigenform is nonzero.
Instances For
A newform: a good Hecke eigenform lying in the new subspace and normalised by a₁ = 1
(Miyake's primitive form). That a newform is an eigenform for every T_n is a theorem, not
part of the definition.
- toFun : UpperHalfPlane → ℂ
- slash_action_eq' (γ : GL (Fin 2) ℝ) : γ ∈ Subgroup.map (Matrix.SpecialLinearGroup.mapGL ℝ) (CongruenceSubgroup.Gamma1 N) → SlashAction.map k γ self.toFun = self.toFun
- holo' : MDiff ⇑self.toSlashInvariantForm
- zero_at_cusps' {c : OnePoint ℝ} (hc : IsCusp c (Subgroup.map (Matrix.SpecialLinearGroup.mapGL ℝ) (CongruenceSubgroup.Gamma1 N))) : c.IsZeroAt self.toFun k
- isEigen (n : ℕ+) (hn : (↑n).Coprime N) : ((heckeRingHomCuspCharSpace k self.χ) (heckeTCompositeGamma0 N ↑n)) ⟨self.toCuspForm, ⋯⟩ = self.eigenvalue n hn • ⟨self.toCuspForm, ⋯⟩
The form lies in the new subspace
S_k(Γ₁(N))ⁿᵉʷ.The form is normalised: its first Fourier coefficient is
1.
Instances For
Extensionality: two good Hecke eigenforms with the same underlying cusp form are equal. The form determines its nebentypus, and the eigenvalues at good indices are read off the eigenvector equations.
The nebentypus of a newform, extended by zero from units modulo N to a Dirichlet
character. This packages Mathlib's MulChar.ofUnitHom for formulas attached to the newform.
Equations
Instances For
The zero extension defining the Dirichlet character of a newform.
Restricting the zero-extended nebentypus to units recovers the character of the newform.
Extensionality: two newforms with the same underlying cusp form are equal.