Documentation

TauCeti.NumberTheory.ModularForms.Newforms.Newform

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 #

Main definitions #

Main results #

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.

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.

    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.

      noncomputable def HeckeRing.GL2.Newform.dirichletLift {N : ℕ} [NeZero N] {k : ℤ} (f : Newform N k) :

      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.

        @[simp]

        Restricting the zero-extended nebentypus to units recovers the character of the newform.

        @[simp]
        theorem HeckeRing.GL2.Newform.dirichletLift_apply_eq_zero {N : ℕ} [NeZero N] {k : ℤ} (f : Newform N k) (n : ℕ) (hn : ¬n.Coprime N) :
        f.dirichletLift ↑n = 0

        The zero-extended nebentypus vanishes at indices not coprime to the level.

        theorem HeckeRing.GL2.Newform.dirichletLift_apply_of_coprime {N : ℕ} [NeZero N] {k : ℤ} (f : Newform N k) {n : ℕ} (hn : n.Coprime N) :
        f.dirichletLift ↑n = ↑(f.χ (ZMod.unitOfCoprime n hn))

        At an index coprime to the level, the zero-extended nebentypus takes the value of the nebentypus at the corresponding unit.

        @[simp]

        The normalisation a₁ = 1, as a simp lemma. The eigenvector equation isEigen has no simp form: its right-hand side depends on the coprimality proof, so no rewrite rule can produce it.

        theorem HeckeRing.GL2.Newform.ext {N : ℕ} [NeZero N] {k : ℤ} {f g : Newform N k} (h : f.toCuspForm = g.toCuspForm) :
        f = g

        Extensionality: two newforms with the same underlying cusp form are equal.

        theorem HeckeRing.GL2.Newform.ext_iff {N : ℕ} [NeZero N] {k : ℤ} {f g : Newform N k} :