Documentation

Mathlib.NumberTheory.ModularForms.SlashInvariantForms

Slash invariant forms #

This file defines functions that are invariant under a SlashAction which forms the basis for defining ModularForm and CuspForm. We prove several instances for such spaces, in particular that they form a module.

Functions ℍ → ℂ that are invariant under the SlashAction.

Instances For

    SlashInvariantFormClass F Γ k asserts F is a type of bundled functions that are invariant under the SlashAction.

    Instances
      @[simp]
      theorem SlashInvariantForm.coe_mk {Γ : outParam (Subgroup (Matrix.SpecialLinearGroup (Fin 2) ℤ))} {k : outParam ℤ} (f : UpperHalfPlane → ℂ) (hf : ∀ γ ∈ Γ, SlashAction.map ℂ k γ f = f) :
      ⇑{ toFun := f, slash_action_eq' := hf } = f
      theorem SlashInvariantForm.ext {Γ : outParam (Subgroup (Matrix.SpecialLinearGroup (Fin 2) ℤ))} {k : outParam ℤ} {f g : SlashInvariantForm Γ k} (h : ∀ (x : UpperHalfPlane), f x = g x) :
      f = g

      Copy of a SlashInvariantForm with a new toFun equal to the old one. Useful to fix definitional equalities.

      Equations
      • f.copy f' h = { toFun := f', slash_action_eq' := ⋯ }
      Instances For
        theorem SlashInvariantForm.slash_action_eqn' {F : Type u_1} [FunLike F UpperHalfPlane ℂ] {k : ℤ} {Γ : Subgroup (Matrix.SpecialLinearGroup (Fin 2) ℤ)} [SlashInvariantFormClass F Γ k] (f : F) {γ : Matrix.SpecialLinearGroup (Fin 2) ℤ} (hγ : γ ∈ Γ) (z : UpperHalfPlane) :
        f (γ • z) = (↑(↑γ 1 0) * ↑z + ↑(↑γ 1 1)) ^ k * f z
        Equations
        @[simp]
        theorem SlashInvariantForm.coe_add {Γ : Subgroup (Matrix.SpecialLinearGroup (Fin 2) ℤ)} {k : ℤ} (f g : SlashInvariantForm Γ k) :
        ⇑(f + g) = ⇑f + ⇑g
        @[simp]
        theorem SlashInvariantForm.add_apply {Γ : Subgroup (Matrix.SpecialLinearGroup (Fin 2) ℤ)} {k : ℤ} (f g : SlashInvariantForm Γ k) (z : UpperHalfPlane) :
        (f + g) z = f z + g z
        Equations
        Equations
        @[simp]
        theorem SlashInvariantForm.coe_smul {Γ : Subgroup (Matrix.SpecialLinearGroup (Fin 2) ℤ)} {k : ℤ} {α : Type u_2} [SMul α ℂ] [IsScalarTower α ℂ ℂ] (f : SlashInvariantForm Γ k) (n : α) :
        ⇑(n • f) = n • ⇑f
        @[simp]
        theorem SlashInvariantForm.smul_apply {Γ : Subgroup (Matrix.SpecialLinearGroup (Fin 2) ℤ)} {k : ℤ} {α : Type u_2} [SMul α ℂ] [IsScalarTower α ℂ ℂ] (f : SlashInvariantForm Γ k) (n : α) (z : UpperHalfPlane) :
        (n • f) z = n • f z
        Equations
        @[simp]
        @[simp]
        theorem SlashInvariantForm.coe_sub {Γ : Subgroup (Matrix.SpecialLinearGroup (Fin 2) ℤ)} {k : ℤ} (f g : SlashInvariantForm Γ k) :
        ⇑(f - g) = ⇑f - ⇑g
        @[simp]
        theorem SlashInvariantForm.sub_apply {Γ : Subgroup (Matrix.SpecialLinearGroup (Fin 2) ℤ)} {k : ℤ} (f g : SlashInvariantForm Γ k) (z : UpperHalfPlane) :
        (f - g) z = f z - g z

        Additive coercion from SlashInvariantForm to ℍ → ℂ.

        Equations
        Instances For

          The SlashInvariantForm corresponding to Function.const _ x.

          Equations
          Instances For
            Equations
            def SlashInvariantForm.mul {k₁ k₂ : ℤ} {Γ : Subgroup (Matrix.SpecialLinearGroup (Fin 2) ℤ)} (f : SlashInvariantForm Γ k₁) (g : SlashInvariantForm Γ k₂) :
            SlashInvariantForm Γ (k₁ + k₂)

            The slash invariant form of weight k₁ + k₂ given by the product of two modular forms of weights k₁ and k₂.

            Equations
            • f.mul g = { toFun := ⇑f * ⇑g, slash_action_eq' := ⋯ }
            Instances For
              @[simp]
              theorem SlashInvariantForm.coe_mul {k₁ k₂ : ℤ} {Γ : Subgroup (Matrix.SpecialLinearGroup (Fin 2) ℤ)} (f : SlashInvariantForm Γ k₁) (g : SlashInvariantForm Γ k₂) :
              ⇑(f.mul g) = ⇑f * ⇑g
              @[simp]
              @[simp]

              Translating a SlashInvariantForm by g : GL (Fin 2) ℝ, to obtain a new SlashInvariantForm of level SL(2, ℤ) ∩ g⁻¹ Γ g.

              Equations
              Instances For
                @[deprecated SlashInvariantForm.translateGL (since := "2025-05-15")]

                Alias of SlashInvariantForm.translateGL.


                Translating a SlashInvariantForm by g : GL (Fin 2) ℝ, to obtain a new SlashInvariantForm of level SL(2, ℤ) ∩ g⁻¹ Γ g.

                Equations
                Instances For
                  @[deprecated SlashInvariantForm.coe_translateGL (since := "2025-05-15")]

                  Alias of SlashInvariantForm.coe_translateGL.

                  Translating a SlashInvariantForm by g : SL(2, ℤ), to obtain a new SlashInvariantForm of level g⁻¹ Γ g.

                  Equations
                  Instances For