Sage can compute extensively with the standard congruence subgroups , , and .
Bases: sage.modular.arithgroup.arithgroup_generic.ArithmeticSubgroup
Return True, since this is a congruence subgroup.
EXAMPLE:
sage: Gamma0(7).is_congruence()
True
Return the level of this congruence subgroup.
EXAMPLES:
sage: SL2Z.level()
1
sage: Gamma0(20).level()
20
sage: Gamma1(11).level()
11
sage: GammaH(14, [5]).level()
14
Return the modular abelian variety corresponding to the congruence subgroup self.
EXAMPLES:
sage: Gamma0(11).modular_abelian_variety()
Abelian variety J0(11) of dimension 1
sage: Gamma1(11).modular_abelian_variety()
Abelian variety J1(11) of dimension 1
sage: GammaH(11,[3]).modular_abelian_variety()
Abelian variety JH(11,[3]) of dimension 1
Return the space of modular symbols of the specified weight and sign on the congruence subgroup self.
EXAMPLES:
sage: G = Gamma0(23)
sage: G.modular_symbols()
Modular Symbols space of dimension 5 for Gamma_0(23) of weight 2 with sign 0 over Rational Field
sage: G.modular_symbols(weight=4)
Modular Symbols space of dimension 12 for Gamma_0(23) of weight 4 with sign 0 over Rational Field
sage: G.modular_symbols(base_ring=GF(7))
Modular Symbols space of dimension 5 for Gamma_0(23) of weight 2 with sign 0 over Finite Field of size 7
sage: G.modular_symbols(sign=1)
Modular Symbols space of dimension 3 for Gamma_0(23) of weight 2 with sign 1 over Rational Field
Returns the Sturm bound for modular forms of the given weight and level this congruence subgroup.
INPUT:
FURTHER DETAILS: This function returns a positive integer such that the Hecke operators acting on cusp forms generate the Hecke algebra as a -module when the character is trivial or quadratic. Otherwise, generate the Hecke algebra at least as a -module, where is the ring generated by the values of the Dirichlet character . Alternatively, this is a bound such that if two cusp forms associated to this space of modular symbols are congruent modulo , then they are congruent modulo .
REFERENCES:
REMARK: Kevin Buzzard pointed out to me (William Stein) in Fall 2002 that the above bound is fine for with character, as one sees by taking a power of . More precisely, if for first coefficients, then for first coefficients. Since the weight of is , it follows that if , where is the Sturm bound for at weight , then has valuation large enough to be forced to be at by Sturm bound (which is valid if we choose correctly). Thus . Conclusion: For with fixed character, the Sturm bound is exactly the same as for .
A key point is that we are finding generators for the Hecke algebra here, not -generators. So if one wants generators for the Hecke algebra over , this bound must be suitably modified (and I’m not sure what the modification is).
AUTHORS:
Return True if x is of type CongruenceSubgroup.
EXAMPLES:
sage: from sage.modular.arithgroup.congroup_generic import is_CongruenceSubgroup
sage: is_CongruenceSubgroup(SL2Z)
True
sage: is_CongruenceSubgroup(Gamma0(13))
True
sage: is_CongruenceSubgroup(Gamma1(6))
True
sage: is_CongruenceSubgroup(GammaH(11, [3]))
True
sage: is_CongruenceSubgroup(SymmetricGroup(3))
False