Level one modular forms #
This file contains results specific to modular forms of level one, i.e. modular forms for
SL(2, β€).
TODO: Add finite-dimensionality of these spaces of modular forms.
theorem
SlashInvariantForm.exists_one_half_le_im_and_norm_le
{F : Type u_1}
[FunLike F UpperHalfPlane β]
{k : β€}
[SlashInvariantFormClass F (Subgroup.map (Matrix.SpecialLinearGroup.mapGL β) (CongruenceSubgroup.Gamma 1)) k]
(hk : k β€ 0)
(f : F)
(Ο : UpperHalfPlane)
:
theorem
SlashInvariantForm.wt_eq_zero_of_eq_const
{F : Type u_1}
[FunLike F UpperHalfPlane β]
(k : β€)
[SlashInvariantFormClass F (Subgroup.map (Matrix.SpecialLinearGroup.mapGL β) (CongruenceSubgroup.Gamma 1)) k]
{f : F}
{c : β}
(hf : βf = Function.const UpperHalfPlane c)
:
k = 0 β¨ c = 0
If a constant function is modular of weight k, then either k = 0, or the constant is 0.
theorem
SlashInvariantForm.slash_action_generators_SL2Z
{f : UpperHalfPlane β β}
{k : β€}
(hS : SlashAction.map k ModularGroup.S f = f)
(hT : SlashAction.map k ModularGroup.T f = f)
(Ξ³ : Matrix.SpecialLinearGroup (Fin 2) β€)
:
SlashAction.map k Ξ³ f = f
theorem
ModularFormClass.levelOne_neg_weight_eq_zero
{F : Type u_1}
[FunLike F UpperHalfPlane β]
{k : β€}
[ModularFormClass F (Subgroup.map (Matrix.SpecialLinearGroup.mapGL β) (CongruenceSubgroup.Gamma 1)) k]
(hk : k < 0)
(f : F)
:
βf = 0
theorem
ModularFormClass.levelOne_weight_zero_const
{F : Type u_1}
[FunLike F UpperHalfPlane β]
[ModularFormClass F (Subgroup.map (Matrix.SpecialLinearGroup.mapGL β) (CongruenceSubgroup.Gamma 1)) 0]
(f : F)
:
β (c : β), βf = Function.const UpperHalfPlane c