Documentation

Mathlib.NumberTheory.ModularForms.SlashActions

Slash actions #

This file defines a class of slash actions, which are families of right actions of a given group parametrized by some Type. This is modeled on the slash action of GLPos (Fin 2) ℝ on the space of modular forms.

Notation #

In the ModularForm locale, this provides

class SlashAction (β : Type u_1) (G : Type u_2) (α : Type u_3) (γ : Type u_4) [Group G] [AddMonoid α] [SMul γ α] :
Type (max (max u_1 u_2) u_3)

A general version of the slash action of the space of modular forms.

  • map : βGαα
  • zero_slash (k : β) (g : G) : map γ k g 0 = 0
  • slash_one (k : β) (a : α) : map γ k 1 a = a
  • slash_mul (k : β) (g h : G) (a : α) : map γ k (g * h) a = map γ k h (map γ k g a)
  • add_slash (k : β) (g : G) (a b : α) : map γ k g (a + b) = map γ k g a + map γ k g b
Instances
    Equations
    • One or more equations did not get rendered due to their size.
    Equations
    • One or more equations did not get rendered due to their size.
    @[simp]
    theorem SlashAction.neg_slash {β : Type u_1} {G : Type u_2} {α : Type u_3} {γ : Type u_4} [Group G] [AddGroup α] [SMul γ α] [SlashAction β G α γ] (k : β) (g : G) (a : α) :
    map γ k g (-a) = -map γ k g a
    def monoidHomSlashAction {β : Type u_1} {G : Type u_2} {H : Type u_3} {α : Type u_4} {γ : Type u_5} [Group G] [AddMonoid α] [SMul γ α] [Group H] [SlashAction β G α γ] (h : H →* G) :
    SlashAction β H α γ

    Slash_action induced by a monoid homomorphism.

    Equations
    def ModularForm.slash (k : ) (γ : GL (Fin 2) ) (f : UpperHalfPlane) (x : UpperHalfPlane) :

    The weight k action of GL (Fin 2) ℝ on functions f : ℍ → ℂ.

    Equations
    Equations
    • One or more equations did not get rendered due to their size.
    theorem ModularForm.slash_def {k : } (f : UpperHalfPlane) (g : GL (Fin 2) ) :
    SlashAction.map k g f = fun (τ : UpperHalfPlane) => (UpperHalfPlane.σ g) (f (g τ)) * (Matrix.GeneralLinearGroup.det g) ^ (k - 1) * UpperHalfPlane.denom g τ ^ (-k)
    theorem ModularForm.slash_apply {k : } (f : UpperHalfPlane) (g : GL (Fin 2) ) (τ : UpperHalfPlane) :
    SlashAction.map k g f τ = (UpperHalfPlane.σ g) (f (g τ)) * (Matrix.GeneralLinearGroup.det g) ^ (k - 1) * UpperHalfPlane.denom g τ ^ (-k)
    @[simp]
    theorem ModularForm.SL_smul_slash {α : Type u_1} [SMul α ] [IsScalarTower α ] (k : ) (A : Matrix.SpecialLinearGroup (Fin 2) ) (f : UpperHalfPlane) (c : α) :

    The constant function 1 is invariant under any element of SL(2, ℤ).

    theorem ModularForm.slash_action_eq'_iff (k : ) (f : UpperHalfPlane) (γ : Matrix.SpecialLinearGroup (Fin 2) ) (z : UpperHalfPlane) :
    SlashAction.map k γ f z = f z f (γ z) = ((γ 1 0) * z + (γ 1 1)) ^ k * f z

    A function f : ℍ → ℂ is slash-invariant, of weight k ∈ ℤ and level Γ, if for every matrix γ ∈ Γ we have f(γ • z)= (c*z+d)^k f(z) where γ= ![![a, b], ![c, d]], and it acts on via Möbius transformations.

    theorem ModularForm.mul_slash (k1 k2 : ) (A : GL (Fin 2) ) (f g : UpperHalfPlane) :