Documentation

Mathlib.NumberTheory.ModularForms.QExpansion

q-expansions of functions on the upper half plane #

We show that a function on the upper half plane with strict period 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 function f on the upper half plane, either as a power series or as a FormalMultilinearSeries, and show that it converges to f if f is periodic, holomorphic and bounded at infinity.

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
    noncomputable def UpperHalfPlane.cuspFunction (h : โ„) (f : UpperHalfPlane โ†’ โ„‚) :

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

    Equations
    Instances For
      theorem UpperHalfPlane.eq_cuspFunction {h : โ„} {f : UpperHalfPlane โ†’ โ„‚} (ฯ„ : UpperHalfPlane) (hh : h โ‰  0) (hfper : Function.Periodic (f โˆ˜ โ†‘ofComplex) โ†‘h) :
      cuspFunction h f (Function.Periodic.qParam h โ†‘ฯ„) = f ฯ„
      theorem UpperHalfPlane.differentiableAt_cuspFunction {h : โ„} {f : UpperHalfPlane โ†’ โ„‚} (hh : 0 < h) (hfper : Function.Periodic (f โˆ˜ โ†‘ofComplex) โ†‘h) (hfhol : MDiff f) (hfbdd : IsBoundedAtImInfty f) {q : โ„‚} (hq : โ€–qโ€– < 1) :
      theorem UpperHalfPlane.differentiableOn_cuspFunction_ball {h : โ„} {f : UpperHalfPlane โ†’ โ„‚} (hh : 0 < h) (hfper : Function.Periodic (f โˆ˜ โ†‘ofComplex) โ†‘h) (hfhol : MDiff f) (hfbdd : IsBoundedAtImInfty f) :
      theorem UpperHalfPlane.analyticAt_cuspFunction_zero {h : โ„} {f : UpperHalfPlane โ†’ โ„‚} (hh : 0 < h) (hfper : Function.Periodic (f โˆ˜ โ†‘ofComplex) โ†‘h) (hfhol : MDiff f) (hfbdd : IsBoundedAtImInfty f) :
      theorem UpperHalfPlane.cuspFunction_apply_zero {h : โ„} {f : UpperHalfPlane โ†’ โ„‚} (hh : 0 < h) (hfanalytic : AnalyticAt โ„‚ (cuspFunction h f) 0) (hfper : Function.Periodic (f โˆ˜ โ†‘ofComplex) โ†‘h) :
      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) :
      UpperHalfPlane.cuspFunction h (โ‡‘f) (Function.Periodic.qParam h โ†‘ฯ„) = f ฯ„
      @[deprecated ModularFormClass.bdd_at_infty (since := "2026-04-19")]
      theorem ModularFormClass.differentiableAt_cuspFunction {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) :
      theorem ModularFormClass.analyticAt_cuspFunction_zero {k : โ„ค} {F : Type u_1} [FunLike F UpperHalfPlane โ„‚] {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} (f : F) [ModularFormClass F ฮ“ k] (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) :

      The q-expansion of a function on the upper half plane with strict period h, bundled as a PowerSeries. The m-th coefficient is the Taylor coefficient of the cuspFunction at q = 0, where q = exp(2ฯ€iฯ„/h) is the local parameter at the cusp.

      Equations
      Instances For
        theorem UpperHalfPlane.qExpansion_coeff_zero {h : โ„} {f : UpperHalfPlane โ†’ โ„‚} (hh : 0 < h) (hfanalytic : AnalyticAt โ„‚ (cuspFunction h f) 0) (hfper : Function.Periodic (f โˆ˜ โ†‘ofComplex) โ†‘h) :
        theorem UpperHalfPlane.hasSum_qExpansion_of_norm_lt {h : โ„} {f : UpperHalfPlane โ†’ โ„‚} (hh : 0 < h) (hfper : Function.Periodic (f โˆ˜ โ†‘ofComplex) โ†‘h) (hfhol : MDiff f) (hfbdd : IsBoundedAtImInfty f) {q : โ„‚} (hq : โ€–qโ€– < 1) :
        HasSum (fun (m : โ„•) => (PowerSeries.coeff m) (qExpansion h f) โ€ข q ^ m) (cuspFunction h f q)
        theorem UpperHalfPlane.hasSum_qExpansion {h : โ„} {f : UpperHalfPlane โ†’ โ„‚} (hh : 0 < h) (hfper : Function.Periodic (f โˆ˜ โ†‘ofComplex) โ†‘h) (hfhol : MDiff f) (hfbdd : IsBoundedAtImInfty f) (ฯ„ : UpperHalfPlane) :
        HasSum (fun (m : โ„•) => (PowerSeries.coeff m) (qExpansion h f) โ€ข Function.Periodic.qParam h โ†‘ฯ„ ^ m) (f ฯ„)

        The q-expansion of a function on the upper half plane, bundled as a FormalMultilinearSeries.

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

        Equations
        Instances For
          theorem UpperHalfPlane.qExpansionFormalMultilinearSeries_radius {F : Type u_1} [FunLike F UpperHalfPlane โ„‚] {h : โ„} (f : F) (hh : 0 < h) (hfper : Function.Periodic (โ‡‘f โˆ˜ โ†‘ofComplex) โ†‘h) (hfhol : MDiff โ‡‘f) (hfbdd : IsBoundedAtImInfty โ‡‘f) :
          theorem UpperHalfPlane.hasFPowerSeriesOnBall_cuspFunction {h : โ„} {f : UpperHalfPlane โ†’ โ„‚} {c : โ„• โ†’ โ„‚} (hh : 0 < h) (hfanalytic : AnalyticAt โ„‚ (cuspFunction h f) 0) (hf : โˆ€ (ฯ„ : UpperHalfPlane), HasSum (fun (m : โ„•) => c m โ€ข Function.Periodic.qParam h โ†‘ฯ„ ^ m) (f ฯ„)) :
          theorem UpperHalfPlane.qExpansion_coeff_eq_circleIntegral {h : โ„} {f : UpperHalfPlane โ†’ โ„‚} (hh : 0 < h) (hfper : Function.Periodic (f โˆ˜ โ†‘ofComplex) โ†‘h) (hfhol : MDiff f) (hfbdd : IsBoundedAtImInfty f) (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 UpperHalfPlane.qExpansion_coeff_eq_intervalIntegral {h : โ„} {f : UpperHalfPlane โ†’ โ„‚} (hh : 0 < h) (hfper : Function.Periodic (f โˆ˜ โ†‘ofComplex) โ†‘h) (hfhol : MDiff f) (hfbdd : IsBoundedAtImInfty f) (n : โ„•) {t : โ„} (ht : 0 < t) :
          (PowerSeries.coeff n) (qExpansion h f) = 1 / โ†‘h * โˆซ (u : โ„) in 0..h, 1 / Function.Periodic.qParam h (โ†‘u + โ†‘t * โ†‘I) ^ n * f { coe := โ†‘u + โ†‘t * โ†‘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 UpperHalfPlane.exp_decay_sub_atImInfty {h : โ„} {f : UpperHalfPlane โ†’ โ„‚} (hh : 0 < h) (hfper : Function.Periodic (f โˆ˜ โ†‘ofComplex) โ†‘h) (hfhol : MDiff f) (hfbdd : IsBoundedAtImInfty f) :
          (fun (ฯ„ : UpperHalfPlane) => f ฯ„ - valueAtInfty f) =O[atImInfty] fun (ฯ„ : UpperHalfPlane) => Real.exp (-2 * Real.pi * ฯ„.im / h)
          theorem UpperHalfPlane.IsZeroAtImInfty.exp_decay_atImInfty {h : โ„} {f : UpperHalfPlane โ†’ โ„‚} (hf : IsZeroAtImInfty f) (hh : 0 < h) (hfper : Function.Periodic (f โˆ˜ โ†‘ofComplex) โ†‘h) (hfhol : MDiff f) (hfbdd : IsBoundedAtImInfty f) :
          f =O[atImInfty] fun (ฯ„ : UpperHalfPlane) => Real.exp (-2 * Real.pi * ฯ„.im / h)
          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) (UpperHalfPlane.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 := โ‹ฏ }
          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 ModularFormClass.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 : UpperHalfPlane.IsZeroAtImInfty โ‡‘f) :
          โˆƒ c > 0, โ‡‘f =O[UpperHalfPlane.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 UpperHalfPlane.qExpansion_eq_zero_iff {h : โ„} {f : UpperHalfPlane โ†’ โ„‚} (hh : 0 < h) (hfper : Function.Periodic (f โˆ˜ โ†‘ofComplex) โ†‘h) (hfhol : MDiff f) (hfbdd : IsBoundedAtImInfty f) :
          qExpansion h f = 0 โ†” f = 0
          theorem ModularForm.cuspFunction_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 ModularForm.cuspFunction_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 ModularForm.cuspFunction_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 ModularForm.cuspFunction_sub {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 ModularForm.cuspFunction_mul {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} [ฮ“.HasDetPlusMinusOne] (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) {a b : โ„ค} (f : ModularForm ฮ“ a) (g : ModularForm ฮ“ b) :
          theorem ModularForm.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 ModularForm.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 ModularForm.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 ModularForm.qExpansion_sub {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 ModularForm.qExpansion_mul {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} [ฮ“.HasDetPlusMinusOne] (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) {a b : โ„ค} (f : ModularForm ฮ“ a) (g : ModularForm ฮ“ b) :
          theorem ModularForm.qExpansion_eq_zero_iff {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) {k : โ„ค} (f : ModularForm ฮ“ k) :
          theorem ModularForm.qExpansion_pow {k : โ„ค} {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} [ฮ“.HasDetPlusMinusOne] (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) (f : ModularForm ฮ“ k) (n : โ„•) :
          noncomputable def ModularForm.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
            noncomputable def ModularForm.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 ModularForm.qExpansionRingHom_apply {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} [ฮ“.HasDetPlusMinusOne] (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) (k : โ„ค) (f : ModularForm ฮ“ k) :
              (qExpansionRingHom h hh hฮ“) ((DirectSum.of (ModularForm ฮ“) k) f) = UpperHalfPlane.qExpansion h โ‡‘f
              theorem ModularForm.qExpansion_of_mul {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} [ฮ“.HasDetPlusMinusOne] (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) (a b : โ„ค) (f : ModularForm ฮ“ a) (g : ModularForm ฮ“ b) :
              theorem ModularForm.qExpansion_of_pow {k : โ„ค} {ฮ“ : Subgroup (GL (Fin 2) โ„)} {h : โ„} [ฮ“.HasDetPlusMinusOne] (hh : 0 < h) (hฮ“ : h โˆˆ ฮ“.strictPeriods) (f : ModularForm ฮ“ k) (n : โ„•) :
              UpperHalfPlane.qExpansion h โ‡‘(((DirectSum.of (ModularForm ฮ“) k) f ^ n) (โ†‘n * k)) = UpperHalfPlane.qExpansion h โ‡‘f ^ n
              @[deprecated ModularForm.cuspFunction_smul (since := "2026-05-05")]
              theorem ModularFormClass.cuspFunction_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] :

              Alias of ModularForm.cuspFunction_smul.

              @[deprecated ModularForm.cuspFunction_neg (since := "2026-05-05")]
              theorem ModularFormClass.cuspFunction_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] :

              Alias of ModularForm.cuspFunction_neg.

              @[deprecated ModularForm.cuspFunction_add (since := "2026-05-05")]
              theorem ModularFormClass.cuspFunction_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] :

              Alias of ModularForm.cuspFunction_add.

              @[deprecated ModularForm.cuspFunction_sub (since := "2026-05-05")]
              theorem ModularFormClass.cuspFunction_sub {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] :

              Alias of ModularForm.cuspFunction_sub.

              @[deprecated ModularForm.qExpansion_smul (since := "2026-05-05")]
              theorem ModularFormClass.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] :

              Alias of ModularForm.qExpansion_smul.

              @[deprecated ModularForm.qExpansion_neg (since := "2026-05-05")]
              theorem ModularFormClass.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] :

              Alias of ModularForm.qExpansion_neg.

              @[deprecated ModularForm.qExpansion_add (since := "2026-05-05")]
              theorem ModularFormClass.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] :

              Alias of ModularForm.qExpansion_add.

              @[deprecated ModularForm.qExpansion_sub (since := "2026-05-05")]
              theorem ModularFormClass.qExpansion_sub {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] :

              Alias of ModularForm.qExpansion_sub.

              theorem UpperHalfPlane.hasFPowerSeries_cuspFunction {F : Type u_1} [FunLike F UpperHalfPlane โ„‚] {h : โ„} (f : F) {c : โ„• โ†’ โ„‚} (hh : 0 < h) (hfanalytic : AnalyticAt โ„‚ (cuspFunction h โ‡‘f) 0) (hf : โˆ€ (ฯ„ : UpperHalfPlane), HasSum (fun (m : โ„•) => c m โ€ข Function.Periodic.qParam h โ†‘ฯ„ ^ m) (f ฯ„)) :

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

              theorem UpperHalfPlane.qExpansion_coeff_unique {F : Type u_1} [FunLike F UpperHalfPlane โ„‚] {h : โ„} (f : F) {c : โ„• โ†’ โ„‚} (hh : 0 < h) (hfanalytic : AnalyticAt โ„‚ (cuspFunction h โ‡‘f) 0) (hf : โˆ€ (ฯ„ : UpperHalfPlane), HasSum (fun (m : โ„•) => c m โ€ข Function.Periodic.qParam h โ†‘ฯ„ ^ m) (f ฯ„)) (m : โ„•) :
              c m = (PowerSeries.coeff m) (qExpansion h โ‡‘f)
              theorem ModularFormClass.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 : โ„•) :