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.

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' := }
    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) } ( : γ Γ) (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
    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' := }
    @[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
    @[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
    @[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