Documentation

Mathlib.NumberTheory.ModularForms.QExpansion

q-expansions of modular forms #

We show that a modular form of level ฮ“(n) can be written as ฯ„ โ†ฆ F (๐•ข n ฯ„) where F is analytic on the open unit disc, and ๐•ข n is the parameter ฯ„ โ†ฆ exp (2 * I * ฯ€ * ฯ„ / n). As an application, we show that cusp forms decay exponentially to 0 as im ฯ„ โ†’ โˆž.

We also define the q-expansion of a modular form, either as a power series or as a FormalMultilinearSeries, and show that it converges to f on the upper half plane.

Main definitions and results #

The value of f at the cusp โˆž (or an arbitrary choice of value if this limit is not well-defined).

Equations
    Instances For

      The analytic function F such that f ฯ„ = F (exp (2 * ฯ€ * I * ฯ„ / h)), extended by a choice of limit at 0.

      Equations
        Instances For
          theorem SlashInvariantFormClass.eq_cuspFunction {k : โ„ค} {F : Type u_1} [FunLike F UpperHalfPlane โ„‚] {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} (f : F) [SlashInvariantFormClass F ฮ“ k] (ฯ„ : UpperHalfPlane) (hฮ“ : h โˆˆ ฮ“.strictPeriods) (hh : h โ‰  0) :
          cuspFunction h (โ‡‘f) (Function.Periodic.qParam h โ†‘ฯ„) = f ฯ„

          The q-expansion of a level n modular form, bundled as a PowerSeries.

          Equations
            Instances For
              theorem ModularFormClass.hasSum_qExpansion_of_norm_lt {k : โ„ค} {F : Type u_1} [FunLike F UpperHalfPlane โ„‚] {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} (f : F) [ModularFormClass F ฮ“ k] (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) {q : โ„‚} (hq : โ€–qโ€– < 1) :
              HasSum (fun (m : โ„•) => (PowerSeries.coeff m) (qExpansion h โ‡‘f) โ€ข q ^ m) (SlashInvariantFormClass.cuspFunction h (โ‡‘f) q)
              @[deprecated ModularFormClass.hasSum_qExpansion_of_norm_lt (since := "2025-12-04")]
              theorem ModularFormClass.hasSum_qExpansion_of_abs_lt {k : โ„ค} {F : Type u_1} [FunLike F UpperHalfPlane โ„‚] {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} (f : F) [ModularFormClass F ฮ“ k] (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) {q : โ„‚} (hq : โ€–qโ€– < 1) :
              HasSum (fun (m : โ„•) => (PowerSeries.coeff m) (qExpansion h โ‡‘f) โ€ข q ^ m) (SlashInvariantFormClass.cuspFunction h (โ‡‘f) q)

              Alias of ModularFormClass.hasSum_qExpansion_of_norm_lt.

              theorem ModularFormClass.hasSum_qExpansion {k : โ„ค} {F : Type u_1} [FunLike F UpperHalfPlane โ„‚] {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} (f : F) [ModularFormClass F ฮ“ k] (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) (ฯ„ : UpperHalfPlane) :
              HasSum (fun (m : โ„•) => (PowerSeries.coeff m) (qExpansion h โ‡‘f) โ€ข Function.Periodic.qParam h โ†‘ฯ„ ^ m) (f ฯ„)

              The q-expansion of a modular form, bundled as a FormalMultilinearSeries.

              TODO: Maybe get rid of this and instead define a general API for converting PowerSeries to FormalMultilinearSeries.

              Equations
                Instances For

                  The q-expansion of f is an FPowerSeries representing cuspFunction n f.

                  theorem ModularFormClass.qExpansion_coeff_eq_circleIntegral {k : โ„ค} {F : Type u_1} [FunLike F UpperHalfPlane โ„‚] {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} (f : F) [ModularFormClass F ฮ“ k] (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) (n : โ„•) {R : โ„} (hR : 0 < R) (hR' : R < 1) :

                  The q-expansion coefficient can be expressed as a circleIntegral for any radius 0 < R < 1.

                  theorem ModularFormClass.qExpansion_coeff_eq_intervalIntegral {k : โ„ค} {F : Type u_1} [FunLike F UpperHalfPlane โ„‚] {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} (f : F) [ModularFormClass F ฮ“ k] (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) (n : โ„•) {t : โ„} (ht : 0 < t) :
                  (PowerSeries.coeff n) (qExpansion h โ‡‘f) = 1 / โ†‘h * โˆซ (u : โ„) in 0..h, 1 / Function.Periodic.qParam h (โ†‘u + โ†‘t * Complex.I) ^ n * f { coe := โ†‘u + โ†‘t * Complex.I, coe_im_pos := โ‹ฏ }

                  If h is a positive strict period of f, then the q-expansion coefficient can be expressed as an integral along a horizontal line in the upper half-plane from t * I to h + t * I, for any 0 < t.

                  theorem ModularFormClass.exp_decay_sub_atImInfty {k : โ„ค} {F : Type u_1} [FunLike F UpperHalfPlane โ„‚] {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} (f : F) [ModularFormClass F ฮ“ k] (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) :
                  (fun (ฯ„ : UpperHalfPlane) => f ฯ„ - UpperHalfPlane.valueAtInfty โ‡‘f) =O[UpperHalfPlane.atImInfty] fun (ฯ„ : UpperHalfPlane) => Real.exp (-2 * Real.pi * ฯ„.im / h)
                  theorem ModularFormClass.exp_decay_sub_atImInfty' {k : โ„ค} {F : Type u_1} [FunLike F UpperHalfPlane โ„‚] {ฮ“ : Subgroup (GL (Fin 2) โ„)} (f : F) [ModularFormClass F ฮ“ k] [ฮ“.HasDetPlusMinusOne] [DiscreteTopology โ†ฅฮ“] [Fact (IsCusp OnePoint.infty ฮ“)] :
                  โˆƒ c > 0, (fun (ฯ„ : UpperHalfPlane) => f ฯ„ - UpperHalfPlane.valueAtInfty โ‡‘f) =O[UpperHalfPlane.atImInfty] fun (ฯ„ : UpperHalfPlane) => Real.exp (-c * ฯ„.im)

                  Version of exp_decay_sub_atImInfty stating a less precise result but easier to apply in practice (not specifying the growth rate precisely).

                  Note that the Fact hypothesis is automatically synthesized for arithmetic subgroups. The discreteness hypothesis may be unnecessary, but it is satisfied in the cases of interest.

                  theorem UpperHalfPlane.IsZeroAtImInfty.exp_decay_atImInfty {k : โ„ค} {F : Type u_1} [FunLike F UpperHalfPlane โ„‚] {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} {f : F} [ModularFormClass F ฮ“ k] (hf : IsZeroAtImInfty โ‡‘f) (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) :
                  โ‡‘f =O[atImInfty] fun (ฯ„ : UpperHalfPlane) => Real.exp (-2 * Real.pi * ฯ„.im / h)
                  theorem UpperHalfPlane.IsZeroAtImInfty.exp_decay_atImInfty' {k : โ„ค} {F : Type u_1} [FunLike F UpperHalfPlane โ„‚] {ฮ“ : Subgroup (GL (Fin 2) โ„)} {f : F} [ModularFormClass F ฮ“ k] [ฮ“.HasDetPlusMinusOne] [DiscreteTopology โ†ฅฮ“] [Fact (IsCusp OnePoint.infty ฮ“)] (hf : IsZeroAtImInfty โ‡‘f) :
                  โˆƒ c > 0, โ‡‘f =O[atImInfty] fun (ฯ„ : UpperHalfPlane) => Real.exp (-c * ฯ„.im)

                  Version of exp_decay_atImInfty stating a less precise result but easier to apply in practice (not specifying the growth rate precisely). Note that the Fact hypothesis is automatically synthesized for arithmetic subgroups.

                  theorem CuspFormClass.cuspFunction_apply_zero {k : โ„ค} {F : Type u_1} [FunLike F UpperHalfPlane โ„‚] {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} (f : F) [CuspFormClass F ฮ“ k] (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) :
                  theorem CuspFormClass.exp_decay_atImInfty {k : โ„ค} {F : Type u_1} [FunLike F UpperHalfPlane โ„‚] {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} (f : F) [CuspFormClass F ฮ“ k] (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) :
                  โ‡‘f =O[UpperHalfPlane.atImInfty] fun (ฯ„ : UpperHalfPlane) => Real.exp (-2 * Real.pi * ฯ„.im / h)
                  theorem CuspFormClass.exp_decay_atImInfty' {k : โ„ค} {F : Type u_1} [FunLike F UpperHalfPlane โ„‚] {ฮ“ : Subgroup (GL (Fin 2) โ„)} (f : F) [CuspFormClass F ฮ“ k] [ฮ“.HasDetPlusMinusOne] [DiscreteTopology โ†ฅฮ“] [Fact (IsCusp OnePoint.infty ฮ“)] :
                  โˆƒ c > 0, โ‡‘f =O[UpperHalfPlane.atImInfty] fun (ฯ„ : UpperHalfPlane) => Real.exp (-c * ฯ„.im)
                  theorem ModularForm.qExpansion_mul {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} [ฮ“.HasDetPlusMinusOne] (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) {a b : โ„ค} (f : ModularForm ฮ“ a) (g : ModularForm ฮ“ b) :
                  theorem qExpansion_add {F : Type u_1} [FunLike F UpperHalfPlane โ„‚] {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} {G : Type u_2} [FunLike G UpperHalfPlane โ„‚] (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) {a b : โ„ค} (f : F) [ModularFormClass F ฮ“ a] (g : G) [ModularFormClass G ฮ“ b] :
                  theorem qExpansion_smul {k : โ„ค} {F : Type u_1} [FunLike F UpperHalfPlane โ„‚] {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) (a : โ„‚) (f : F) [ModularFormClass F ฮ“ k] :
                  theorem qExpansion_neg {k : โ„ค} {F : Type u_1} [FunLike F UpperHalfPlane โ„‚] {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) (f : F) [ModularFormClass F ฮ“ k] :
                  theorem qExpansion_sub {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) {a b : โ„ค} (f : ModularForm ฮ“ a) (g : ModularForm ฮ“ b) :
                  theorem qExpansion_eq_zero_iff {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) {k : โ„ค} (f : ModularForm ฮ“ k) :
                  def qExpansionAddHom {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) (k : โ„ค) :

                  The qExpansion map as an additive group hom. to power series over โ„‚.

                  Equations
                    Instances For
                      def qExpansionRingHom {ฮ“ : Subgroup (GL (Fin 2) โ„)} (h : โ„) [ฮ“.HasDetPlusMinusOne] (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) :

                      The qExpansion map as a map from the graded ring of modular forms to power series over โ„‚.

                      Equations
                        Instances For
                          @[simp]
                          theorem qExpansionRingHom_apply {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} [ฮ“.HasDetPlusMinusOne] (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) (k : โ„ค) (f : ModularForm ฮ“ k) :
                          theorem qExpansion_of_mul {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} [ฮ“.HasDetPlusMinusOne] (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) (a b : โ„ค) (f : ModularForm ฮ“ a) (g : ModularForm ฮ“ b) :
                          theorem qExpansion_of_pow {k : โ„ค} {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} [ฮ“.HasDetPlusMinusOne] (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) (f : ModularForm ฮ“ k) (n : โ„•) :
                          ModularFormClass.qExpansion h โ‡‘(((DirectSum.of (ModularForm ฮ“) k) f ^ n) (โ†‘n * k)) = ModularFormClass.qExpansion h โ‡‘f ^ n
                          theorem hasFPowerSeriesOnBall_cuspFunction {k : โ„ค} {F : Type u_1} [FunLike F UpperHalfPlane โ„‚] {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} {c : โ„• โ†’ โ„‚} (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) {f : F} [ModularFormClass F ฮ“ k] (hf : โˆ€ (ฯ„ : UpperHalfPlane), HasSum (fun (m : โ„•) => c m โ€ข Function.Periodic.qParam h โ†‘ฯ„ ^ m) (f ฯ„)) :
                          theorem qExpansion_coeff_unique {k : โ„ค} {F : Type u_1} [FunLike F UpperHalfPlane โ„‚] {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} {c : โ„• โ†’ โ„‚} (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) {f : F} [ModularFormClass F ฮ“ k] (hf : โˆ€ (ฯ„ : UpperHalfPlane), HasSum (fun (m : โ„•) => c m โ€ข Function.Periodic.qParam h โ†‘ฯ„ ^ m) (f ฯ„)) (m : โ„•) :