Sharedwww / Tables / magma / cremonaOpen in CoCalc
Author: William A. Stein
1
> M:=ModularSymbols(37,2,+1);
2
> D:=Decomposition(M);
3
> Print(D);
4
Modular symbols factors:
5
37k2A: dim = 1 cuspidal
6
37k2B: dim = 1 cuspidal
7
37k2C: dim = 1 eisenstein
8
> E:=EllipticCurve(Factor(D,1));
9
WARNING: Not finding enough symbols!
10
Switching to slow method.
11
WARNING: Not finding enough symbols!
12
Could not find enough invariant symbols.
13
Need a better algorithm.
14
> // need to work in the full space, not just the +1 quotient.
15
> // dumb error message above (noted).
16
> M:=ModularSymbols(37,2);
17
> D:=Decomposition(M);
18
> Print(D);
19
Modular symbols factors:
20
37k2A: dim = 2 cuspidal
21
37k2B: dim = 2 cuspidal
22
37k2C: dim = 1 eisenstein
23
> E:=EllipticCurve(Factor(D,1));
24
> E;
25
Elliptic Curve defined by y^2 = x^3 - 1296*x + 11664 over Rational Field
26
> Conductor(E);
27
37
28
> TamagawaNumber(E,37); // using the elliptic curve
29
1
30
> ArithmeticTamagawa(Factor(D,1)); // c_p using method of graphs
31
1
32
> GeometricTamagawa(Factor(D,1)); // #Phi(Fpbar)
33
1
34
> RealTamagawa(Factor(D,1)); // number of real components
35
2
36
> LRatio2(Factor(D,1)); // L(1)/Omega
37
0
38
> A:=Factor(D,1); // name the factor A.
39
> LeadingCoefficient(A,1); // leading coeff. of L-series at 1 (L'(A,1))
40
0.305999773800085290044094075725 1
41
> //^----- the rank is 1.
42
> // this was computed using a port of your code.
43
> LeadingCoefficient(A,1,150); // more terms of q-expansion
44
0.305999773800085290044094075725 1
45
> // but no better precision :)
46
> ModularDegree(A);
47
4
48
> // this is the square of the usual mod deg, as it
49
> // works for factors of any weight, and when the
50
> // weight is > 2 the degree of the canonical map
51
> // need not be a square.
52
53
> PeriodLattice(A,97);
54
[
55
(-2.99345695254283493281934233592 + 2.451390462297517938738352598020*i),
56
(2.99345695254283493281934233592)
57
]
58
> B:=Factor(D,2);
59
> PeriodLattice(A,97);
60
[
61
(-2.99345695254283493281934233592 + 2.451390462297517938738352598020*i),
62
(2.99345695254283493281934233592)
63
]
64
> LRatio2(B,1);
65
1/3
66
> Sha(B);
67
warning: currently there is a bug -- off by powers of 2.
68
1
69
70
71
> M:=ModularSymbols(210,2,+1);
72
> D:=Decomposition(M);
73
> Print(D); // this gives only the decomposition of the new subspace.
74
Modular symbols factors:
75
210k2A: dim = 1 cuspidal
76
210k2B: dim = 1 cuspidal
77
210k2C: dim = 1 cuspidal
78
210k2D: dim = 1 cuspidal
79
210k2E: dim = 1 cuspidal
80
> Dold := OldDecomposition(M); // get old forms as well
81
> Print(Dold);
82
Modular symbols factors:
83
210k2A: dim = 2 cuspidal (old: 105A)
84
210k2B: dim = 4 cuspidal (old: 105B)
85
210k2C: dim = 2 cuspidal (old: 70A)
86
210k2D: dim = 2 cuspidal (old: 42A)
87
210k2E: dim = 4 cuspidal (old: 35A)
88
210k2F: dim = 8 cuspidal (old: 35B)
89
210k2G: dim = 2 cuspidal (old: 30A)
90
210k2H: dim = 4 cuspidal (old: 21A)
91
210k2I: dim = 4 cuspidal (old: 15A)
92
210k2J: dim = 4 cuspidal (old: 14A)
93
210k2K: dim = 1 eisenstein (old: 7A)
94
210k2L: dim = 1 eisenstein (old: 5A)
95
210k2M: dim = 1 eisenstein (old: 3A)
96
210k2N: dim = 1 eisenstein (old: 2A)
97
> Dfull := FullDecomposition(M); // both new and old
98
> Print(Dfull);
99
Modular symbols factors:
100
210k2A: dim = 1 cuspidal
101
210k2B: dim = 1 cuspidal
102
210k2C: dim = 1 cuspidal
103
210k2D: dim = 1 cuspidal
104
210k2E: dim = 1 cuspidal
105
210k2F: dim = 2 cuspidal (old: 105A)
106
210k2G: dim = 4 cuspidal (old: 105B)
107
210k2H: dim = 2 cuspidal (old: 70A)
108
210k2I: dim = 2 cuspidal (old: 42A)
109
210k2J: dim = 4 cuspidal (old: 35A)
110
210k2K: dim = 8 cuspidal (old: 35B)
111
210k2L: dim = 2 cuspidal (old: 30A)
112
210k2M: dim = 4 cuspidal (old: 21A)
113
210k2N: dim = 4 cuspidal (old: 15A)
114
210k2O: dim = 4 cuspidal (old: 14A)
115
210k2P: dim = 1 eisenstein (old: 7A)
116
210k2Q: dim = 1 eisenstein (old: 5A)
117
210k2R: dim = 1 eisenstein (old: 3A)
118
210k2S: dim = 1 eisenstein (old: 2A)
119
> // The labeling of the factors in the output of Dold above is dumb... oops.
120
> A:=Factor(Dfull,"A");
121
> A:=Factor(Dfull,1); // these are equivalent
122
> ModularDegree(A); // only up to a power of 2.
123
8
124
> // my ordering at level 210 apparently is
125
> // different than yours, as I have no special
126
> // code for the exceptional levels.
127
> qEigenform(A,23);
128
q - q^2 - q^3 + q^4 - q^5 + q^6 - q^7 - q^8 + q^9 + q^10 - 4*q^11 - q^12 -
129
2*q^13 + q^14 + q^15 + q^16 - 6*q^17 - q^18 - q^20 + q^21 + 4*q^22 - 8*q^23
130
> // This is your "210D".
131
> WqOn(A,2);
132
[1]
133
> WqOn(A,3);
134
[1]
135
> WqOn(A,5);
136
[1]
137
> WqOn(A,7);
138
[1]
139
> // I will probably change from WqOn to "AtkinLehner" to be more
140
> // consistent with the Magma philosophy of descriptive names.
141
> B:=Factor(Dfull,2);
142
> IntersectFactors(A,B);
143
Vector space of degree 56, dimension 0 over Rational Field
144
> // they are different as subspaces of homology.
145
> AbelianIntersection(A,B); // intersect the abelian varieties
146
// again, only believe the part away from 2 since we
147
// are working in the +1 quotient.
148
[] // this is an H_1(X_0(N),Z) computation.
149
150
> eps:=DirichletCharacter(37,[4]); // degree four character on (Z/37Z)^*
151
> Evaluate(eps,-1); // odd character.
152
-1
153
> [Evaluate(eps,i) : i in [1..36]];
154
[ 1, zeta, -1, -1, -zeta, -zeta, 1, -zeta, 1, 1, -1, 1, -zeta, zeta, zeta, 1,
155
-zeta, zeta, -zeta, zeta, -1, -zeta, -zeta, zeta, -1, 1, -1, -1, zeta, -1,
156
zeta, zeta, 1, 1, -zeta, -1 ]
157
> M:=ModularSymbols(eps, 3) ; // weight 3, "M_3(Gamma_1(37), eps)"
158
> Dimension(M);
159
14
160
> // these are modular symbols so the
161
> // dimension is bigger
162
> D:=Decomposition(M);
163
> Print(D);
164
Modular symbols factors:
165
37k3A: dim =12 cuspidal
166
37k3B: dim = 1 eisenstein
167
37k3C: dim = 1 eisenstein
168
> A:=Factor(D,1);
169
> qEigenform(A,13);
170
q + a*q^2 + (-1/4*zeta*a^4 + (-1/4*zeta - 1/4)*a^3 + 11/4*a^2 + (-5/4*zeta +
171
5/4)*a + 3*zeta)*q^3 + (a^2 - 4*zeta)*q^4 + (1/4*zeta*a^5 + (1/2*zeta +
172
1/2)*a^4 - 13/4*a^3 + (5*zeta - 5)*a^2 - 17/2*zeta*a - 6*zeta - 6)*q^5 +
173
(-1/4*zeta*a^5 + (-1/4*zeta - 1/4)*a^4 + 11/4*a^3 + (-5/4*zeta + 5/4)*a^2 +
174
3*zeta*a)*q^6 + ((-1/4*zeta - 1/4)*a^5 - a^4 + (-13/4*zeta + 13/4)*a^3 -
175
11*zeta*a^2 + (13/2*zeta + 13/2)*a + 15)*q^7 + (a^3 - 8*zeta*a)*q^8 +
176
((1/4*zeta + 1/4)*a^5 + 3/4*a^4 + (7/2*zeta - 7/2)*a^3 + 25/4*zeta*a^2 +
177
(-35/4*zeta - 35/4)*a - 6)*q^9 + ((-1/4*zeta - 1/4)*a^5 - 3/4*a^4 +
178
(-7/2*zeta + 7/2)*a^3 - 29/4*zeta*a^2 + (35/4*zeta + 35/4)*a + 6)*q^10 +
179
(1/4*zeta*a^4 + (5/4*zeta + 5/4)*a^3 - 7/4*a^2 + (45/4*zeta - 45/4)*a -
180
3*zeta)*q^11 + ((1/2*zeta + 1/2)*a^5 - 3/4*a^4 + (33/4*zeta - 33/4)*a^3 -
181
37/4*zeta*a^2 + (-79/4*zeta - 79/4)*a + 6)*q^12 + (1/4*zeta*a^5 + (1/2*zeta
182
+ 1/2)*a^4 - 17/4*a^3 + (7*zeta - 7)*a^2 - 33/2*zeta*a - 14*zeta - 14)*q^13
183
> ModularDegree(A);
184
1 // no congruences
185
> CharacteristicPolynomial(Tn(M,2));
186
x^14 + (-zeta + 1)*x^13 + 45*zeta*x^12 + (16*zeta + 16)*x^11 - 948*x^10 +
187
(142*zeta - 142)*x^9 - 10378*zeta*x^8 + (-2140*zeta - 2140)*x^7 + 55737*x^6
188
+ (-17961*zeta + 17961)*x^5 + 126521*zeta*x^4 + (50892*zeta + 50892)*x^3 -
189
94690*x^2 + (45264*zeta - 45264)*x + 9792*zeta
190
> Factorization($1);
191
[
192
<x + zeta - 4, 1>,
193
<x + 4*zeta - 1, 1>,
194
<x^6 + (-3*zeta + 3)*x^5 + 10*zeta*x^4 + (34*zeta + 34)*x^3 - 5*x^2 +
195
(59*zeta - 59)*x + 24*zeta, 2>
196
]
197
> // We can also work in characteristic p.
198
> M:=ModularSymbols(1091, 2, 0, 2003);
199
// N=1091, k=2, 0=full space (not +1 or -1) quotient,
200
// p=2003 (a random prime)
201
> D:=Decomposition(M); // problem -- this could lead to trouble if
202
// there are too many congruences since one need not
203
// have multiplicity one in char. p
204
205
[Interrupted] // it's taking too long...
206
> D:=SemiDecomposition(M);
207
> // semi-decomp just uses a few hecke operators
208
> // to break up the space.
209
> Print(D);
210
Modular symbols factors:
211
(The isogeny classes have not been labeled.) // but doesn't label isogeny
212
// classes
213
Can't determine if A is cuspidal. // or determine cusp forms
214
// which it should...
215
> Dimension(D);
216
[ 2, 1, 4, 6, 6, 8, 14, 52, 90 ] // dimensions of the factors in the homology
217
> A:=D[9];
218
> qEigenform(A,7);
219
Can't determine if A is cuspidal.
220
> A`iscusp:=true; // fake it (noted).
221
> qEigenform(A,7);
222
q + a*q^2 + (326*a^44 + 1226*a^43 + 1393*a^42 + 1313*a^41 + 1148*a^40 +
223
1868*a^39 + 1706*a^38 + 58*a^37 + 613*a^36 + 1926*a^35 + 1847*a^34 +
224
1762*a^33 + 141*a^32 + 1734*a^31 + 1505*a^30 + 812*a^29 + 437*a^28 +
225
1273*a^27 + 1942*a^26 + 1129*a^25 + 455*a^24 + 704*a^23 + 156*a^22 +
226
489*a^21 + 1849*a^20 + 958*a^19 + 85*a^18 + 1322*a^17 + 142*a^16 + 1321*a^15
227
+ 495*a^14 + 151*a^13 + 1903*a^12 + 751*a^11 + 1600*a^10 + 807*a^9 + 564*a^8
228
+ 815*a^7 + 1812*a^6 + 212*a^5 + 1306*a^4 + 823*a^3 + 493*a^2 + 1223*a +
229
1459)*q^3 + (a^2 + 2001)*q^4 + (1544*a^44 + 44*a^43 + 1705*a^42 + 1797*a^41
230
+ 1842*a^40 + 497*a^39 + 744*a^38 + 871*a^37 + 208*a^36 + 1387*a^35 +
231
1768*a^34 + 439*a^33 + 1859*a^32 + 1925*a^31 + 22*a^30 + 773*a^29 +
232
1829*a^28 + 1639*a^27 + 531*a^26 + 647*a^25 + 773*a^24 + 1757*a^23 + 90*a^22
233
+ 764*a^21 + 23*a^20 + 1653*a^19 + 399*a^18 + 246*a^17 + 979*a^16 +
234
1573*a^15 + 123*a^14 + 1841*a^13 + 180*a^12 + 1749*a^11 + 1078*a^10 +
235
1833*a^9 + 1491*a^8 + 915*a^7 + 1861*a^6 + 1318*a^5 + 1357*a^4 + 1704*a^3 +
236
1073*a^2 + 872*a + 1816)*q^5 + (1529*a^44 + 542*a^43 + 1147*a^42 + 1104*a^41
237
+ 1084*a^40 + 956*a^39 + 1039*a^38 + 122*a^37 + 1965*a^36 + 1914*a^35 +
238
370*a^34 + 781*a^33 + 408*a^32 + 1340*a^31 + 1544*a^30 + 1895*a^29 +
239
461*a^28 + 833*a^27 + 1509*a^26 + 1146*a^25 + 1110*a^24 + 566*a^23 +
240
1673*a^22 + 1478*a^21 + 239*a^20 + 319*a^19 + 997*a^18 + 1559*a^17 +
241
601*a^16 + 920*a^15 + 1865*a^14 + 873*a^13 + 800*a^12 + 1003*a^11 + 141*a^10
242
+ 1878*a^9 + 713*a^8 + 200*a^7 + 1119*a^6 + 496*a^5 + 939*a^4 + 322*a^3 +
243
8*a^2 + 657*a + 1526)*q^6 + (1742*a^44 + 540*a^43 + 1059*a^42 + 1679*a^41 +
244
445*a^40 + 1966*a^39 + 1986*a^38 + 1930*a^37 + 454*a^36 + 1139*a^35 +
245
656*a^34 + 1404*a^33 + 1545*a^32 + 977*a^31 + 937*a^30 + 1607*a^29 +
246
1731*a^28 + 876*a^27 + 583*a^26 + 1769*a^25 + 1091*a^24 + 895*a^23 + 91*a^22
247
+ 1560*a^21 + 548*a^20 + 1478*a^19 + 1289*a^18 + 1307*a^17 + 709*a^16 +
248
312*a^15 + 432*a^14 + 507*a^13 + 976*a^12 + 272*a^11 + 1995*a^10 + 801*a^9 +
249
438*a^8 + 1302*a^7 + 805*a^6 + 241*a^5 + 834*a^4 + 22*a^3 + 1407*a^2 + 47*a
250
+ 1670)*q^7
251
252
253
// There is a lot more which I haven't demonstrated.