Cremona modular symbols¶
-
class
sage.libs.eclib.homspace.
ModularSymbols
¶ Bases:
object
Class of Cremona Modular Symbols of given level and sign (and weight 2).
EXAMPLES:
sage: M = CremonaModularSymbols(225) sage: type(M) <type 'sage.libs.eclib.homspace.ModularSymbols'>
-
dimension
()¶ Return the dimension of this modular symbols space.
EXAMPLES:
sage: M = CremonaModularSymbols(1234, sign=1) sage: M.dimension() 156
-
hecke_matrix
(p, dual=False, verbose=False)¶ Return the matrix of the
p
-th Hecke operator acting on this space of modular symbols.The result of this command is not cached.
INPUT:
p
– a prime numberdual
– (default: False) whether to compute the Hecke- operator acting on the dual space, i.e., the transpose of the Hecke operator
verbose
– (default: False) print verbose output
OUTPUT:
(matrix) If
p
divides the level, the matrix of the Atkin-Lehner involution \(W_p\) atp
; otherwise the matrix of the Hecke operator \(T_p\),EXAMPLES:
sage: M = CremonaModularSymbols(37) sage: t = M.hecke_matrix(2); t 5 x 5 Cremona matrix over Rational Field sage: print(t.str()) [ 3 0 0 0 0] [-1 -1 1 1 0] [ 0 0 -1 0 1] [-1 1 0 -1 -1] [ 0 0 1 0 -1] sage: t.charpoly().factor() (x - 3) * x^2 * (x + 2)^2 sage: print(M.hecke_matrix(2, dual=True).str()) [ 3 -1 0 -1 0] [ 0 -1 0 1 0] [ 0 1 -1 0 1] [ 0 1 0 -1 0] [ 0 0 1 -1 -1] sage: w = M.hecke_matrix(37); w 5 x 5 Cremona matrix over Rational Field sage: w.charpoly().factor() (x - 1)^2 * (x + 1)^3 sage: sw = w.sage_matrix_over_ZZ() sage: st = t.sage_matrix_over_ZZ() sage: sw^2 == sw.parent()(1) True sage: st*sw == sw*st True
-
is_cuspidal
()¶ Return whether or not this space is cuspidal.
EXAMPLES:
sage: M = CremonaModularSymbols(1122); M.is_cuspidal() 0 sage: M = CremonaModularSymbols(1122, cuspidal=True); M.is_cuspidal() 1
-
level
()¶ Return the level of this modular symbols space.
EXAMPLES:
sage: M = CremonaModularSymbols(1234, sign=1) sage: M.level() 1234
-
number_of_cusps
()¶ Return the number of cusps for \(\Gamma_0(N)\), where \(N\) is the level.
EXAMPLES:
sage: M = CremonaModularSymbols(225) sage: M.number_of_cusps() 24
-
sign
()¶ Return the sign of this Cremona modular symbols space. The sign is either 0, +1 or -1.
EXAMPLES:
sage: M = CremonaModularSymbols(1122, sign=1); M Cremona Modular Symbols space of dimension 224 for Gamma_0(1122) of weight 2 with sign 1 sage: M.sign() 1 sage: M = CremonaModularSymbols(1122); M Cremona Modular Symbols space of dimension 433 for Gamma_0(1122) of weight 2 with sign 0 sage: M.sign() 0 sage: M = CremonaModularSymbols(1122, sign=-1); M Cremona Modular Symbols space of dimension 209 for Gamma_0(1122) of weight 2 with sign -1 sage: M.sign() -1
-