Sharedwww / merel-stein / lchizero.mOpen in CoCalc
Author: William A. Stein
1///////////////////////////////////////////////////////////
2// lchizero.m - MAGMA program                            //
3//                                                       //
4// Date: August, 1999                                    //
5//                                                       //
6// Author: William A. Stein (was@math.berkeley.edu)      //
7///////////////////////////////////////////////////////////
8
9/*************************************************************
10 *   lchinz[p,i] = [divisors d of p-1 such that
11 *                  L(A_{f_i},chi_d,1)=0, where
12 *                  chi_d:(Z/pZ)^*-->C^* is one of the
13 *                  conjugate characters of degree d.
14 *
15
16 *  The computation was done using modular symbols.
17 *  We consider L(A_f,chi_d,1)=/=0 if the value
18 *  of a vector dual to f on the modular symbol
19 *    s = sum_{a in (Z/pZ)^*} chi_d(a) {0,-1/a}
20 *  is 0.
21 *
22 *  This computation was done using the C++ program HECKE.
23 *
24 *  The eigenforms in all tables are ordered in the same
25 *  way, which extends the ordering used by Cremona in his
26 *  tables of elliptic curves.
27 *  We sort the factors of $S_2(p)$ as follows.
28 *  First by dimension, with smallest dimension first.
29 *  Within each dimension, sort in binary order,
30 *  by the sign of the Atkin-Lehner  involution
31 *  with - corresponding to 0 and + to 1.
32 *  Let $l$ be the smallest prime not equal to $p$.
33 *  Within each of the Atkin-Lehner classes, sort by
34 *  the magnitudes of the $K(f)/\Q$-trace of
35 *  $a_l$ breaking ties by letting the positive trace be first.
36 *  If there are still any ties, repeat the final step with the
37 *  next smallest prime not equal to $p$, etc.
38 *************************************************************/
39
40LChiZero         := [[] : i in [1..997]];
41
42LChiZero[11]	 := [[]];
43LChiZero[13]	 := [];
44LChiZero[17]	 := [[2]];
45LChiZero[19]	 := [[]];
46LChiZero[23]	 := [[]];
47LChiZero[29]	 := [[2]];
48LChiZero[31]	 := [[]];
49LChiZero[37]	 := [[1, 2, 6],[2]];
50LChiZero[41]	 := [[2]];
51LChiZero[43]	 := [[1],[]];
52LChiZero[47]	 := [[]];
53LChiZero[53]	 := [[1, 2],[2]];
54LChiZero[59]	 := [[]];
55LChiZero[61]	 := [[1, 2],[2]];
56LChiZero[67]	 := [[],[1],[]];
57LChiZero[71]	 := [[],[]];
58LChiZero[73]	 := [[2, 3, 6],[1, 2],[2]];
59LChiZero[79]	 := [[1],[]];
60LChiZero[83]	 := [[1],[]];
61LChiZero[89]	 := [[1, 2],[2],[2]];
62LChiZero[97]	 := [[1, 2],[2]];
63LChiZero[101]	 := [[1, 2, 4],[2]];
64LChiZero[103]	 := [[1],[]];
65LChiZero[107]	 := [[1],[]];
66LChiZero[109]	 := [[2],[1, 2],[2]];
67LChiZero[113]	 := [[2],[2],[1, 2],[2]];
68LChiZero[127]	 := [[1],[]];
69LChiZero[131]	 := [[1, 2],[]];
70LChiZero[137]	 := [[1, 2],[2]];
71LChiZero[139]	 := [[3],[1],[]];
72LChiZero[149]	 := [[1, 2],[2]];
73LChiZero[151]	 := [[1],[],[]];
74LChiZero[157]	 := [[1, 2],[2]];
75LChiZero[163]	 := [[1],[1],[]];
76LChiZero[167]	 := [[1],[]];
77LChiZero[173]	 := [[1, 2],[2]];
78LChiZero[179]	 := [[],[1],[]];
79LChiZero[181]	 := [[1, 2],[2]];
80LChiZero[191]	 := [[1],[]];
81LChiZero[193]	 := [[1, 2],[1, 2],[2]];
82LChiZero[197]	 := [[1, 2],[1, 2],[2]];
83LChiZero[199]	 := [[],[1],[]];
84LChiZero[211]	 := [[],[1],[1],[]];
85LChiZero[223]	 := [[1],[1],[]];
86LChiZero[227]	 := [[1],[],[],[1],[]];
87LChiZero[229]	 := [[1, 2, 3],[1, 2],[2]];
88LChiZero[233]	 := [[2],[1, 2],[2]];
89LChiZero[239]	 := [[1],[]];
90LChiZero[241]	 := [[1, 2],[2]];
91LChiZero[251]	 := [[1],[]];
92LChiZero[257]	 := [[1, 2],[2]];
93LChiZero[263]	 := [[1],[]];
94LChiZero[269]	 := [[1, 2],[1, 2],[2]];
95LChiZero[271]	 := [[1],[]];
96LChiZero[277]	 := [[1, 2],[2],[1, 2],[2]];
97LChiZero[281]	 := [[1, 2],[2]];
98LChiZero[283]	 := [[1],[]];
99LChiZero[293]	 := [[1, 2],[2]];
100LChiZero[307]	 := [[],[3],[],[],[],[],[1]];
101LChiZero[311]	 := [[1],[]];
102LChiZero[313]	 := [[2],[1, 2],[2]];
103LChiZero[317]	 := [[1, 2],[2]];
104LChiZero[331]	 := [[1],[1],[1],[]];
105LChiZero[337]	 := [[1, 2],[2]];
106LChiZero[347]	 := [[1],[1],[1],[]];
107LChiZero[349]	 := [[1, 2],[2]];
108LChiZero[353]	 := [[2, 4],[2],[1, 2],[2]];
109LChiZero[359]	 := [[1],[1, 2],[1],[]];
110LChiZero[367]	 := [[1],[]];
111LChiZero[373]	 := [[1, 2, 6],[1, 2],[2]];
112LChiZero[379]	 := [[1],[]];
113LChiZero[383]	 := [[1],[1],[]];
114LChiZero[389]	 := [[1, 2, 4],[1, 2],[1, 2],[1, 2],[2]];
115LChiZero[397]	 := [[1, 2],[2],[2],[2],[1, 2]];
116LChiZero[401]	 := [[1, 2],[2]];
117LChiZero[409]	 := [[1, 2],[2]];
118LChiZero[419]	 := [[1],[]];
119LChiZero[421]	 := [[1, 2],[2]];
120LChiZero[431]	 := [[1],[],[1],[],[1],[]];
121LChiZero[433]	 := [[1, 2],[2],[1, 2],[2]];
122LChiZero[439]	 := [[1],[1],[]];
123LChiZero[443]	 := [[1],[1],[2],[1],[]];
124LChiZero[449]	 := [[1, 2],[2]];
125LChiZero[457]	 := [[1, 2],[1, 2],[2]];
126LChiZero[461]	 := [[1, 2],[1, 2],[1, 2],[2]];
127LChiZero[463]	 := [[1],[]];
128LChiZero[467]	 := [[1, 2],[1],[]];
129LChiZero[479]	 := [[1],[]];
130LChiZero[487]	 := [[],[],[],[],[1]];
131LChiZero[491]	 := [[1],[1],[]];
132LChiZero[499]	 := [[1],[1],[]];
133LChiZero[503]	 := [[1],[],[],[],[1],[]];
134LChiZero[509]	 := [[1, 2],[2]];
135LChiZero[521]	 := [[1, 2],[2]];
136LChiZero[523]	 := [[1],[1],[]];
137LChiZero[541]	 := [[1, 2],[2]];
138LChiZero[547]	 := [[1],[1],[]];
139LChiZero[557]	 := [[1, 2],[2],[1, 2],[2]];
140LChiZero[563]	 := [[1],[1],[1],[1],[]];
141LChiZero[569]	 := [[1, 2],[2]];
142LChiZero[571]	 := [[],[1],[],[],[1],[],[1],[1],[]];
143LChiZero[577]	 := [[2],[2],[2],[2],[1, 2]];
144LChiZero[587]	 := [[1],[1],[]];
145LChiZero[593]	 := [[1, 2],[2, 8],[2],[1, 2],[2]];
146LChiZero[599]	 := [[1],[1],[]];
147LChiZero[601]	 := [[1, 2],[2]];
148LChiZero[607]	 := [[1],[1],[1],[]];
149LChiZero[613]	 := [[1, 2],[1, 2],[2]];
150LChiZero[617]	 := [[1, 2],[2]];
151LChiZero[619]	 := [[1],[]];
152LChiZero[631]	 := [[1],[]];
153LChiZero[641]	 := [[1, 2],[2]];
154LChiZero[643]	 := [[1, 3],[1],[]];
155LChiZero[647]	 := [[1],[1],[]];
156LChiZero[653]	 := [[1, 2],[1, 2],[2]];
157LChiZero[659]	 := [[1],[],[1],[]];
158LChiZero[661]	 := [[2],[1, 2],[2]];
159LChiZero[673]	 := [[2],[2],[2],[1, 2]];
160LChiZero[677]	 := [[1, 2],[1, 2],[1, 2],[2]];
161LChiZero[683]	 := [[],[1],[]];
162LChiZero[691]	 := [[1],[]];
163LChiZero[701]	 := [[2],[1, 2],[2]];
164LChiZero[709]	 := [[1, 2],[1, 2],[2]];
165LChiZero[719]	 := [[1],[1],[]];
166LChiZero[727]	 := [[1],[]];
167LChiZero[733]	 := [[2],[1, 2],[1, 2],[2]];
168LChiZero[739]	 := [[],[1],[1],[]];
169LChiZero[743]	 := [[1],[]];
170LChiZero[751]	 := [[1],[]];
171LChiZero[757]	 := [[1, 2],[2]];
172LChiZero[761]	 := [[1, 2],[1, 2],[2]];
173LChiZero[769]	 := [[1, 2],[2]];
174LChiZero[773]	 := [[1, 2],[1, 2],[2]];
175LChiZero[787]	 := [[1],[]];
176LChiZero[797]	 := [[1, 2],[2],[1, 2],[2]];
177LChiZero[809]	 := [[1, 2],[1, 2],[2]];
178LChiZero[811]	 := [[1],[1],[]];
179LChiZero[821]	 := [[1, 2],[2]];
180LChiZero[823]	 := [[1],[]];
181LChiZero[827]	 := [[1],[1],[1],[]];
182LChiZero[829]	 := [[1, 2],[1, 2],[2]];
183LChiZero[839]	 := [[1],[]];
184LChiZero[853]	 := [[1, 2],[2]];
185LChiZero[857]	 := [[1, 2],[2]];
186LChiZero[859]	 := [[1],[]];
187LChiZero[863]	 := [[1],[1],[]];
188LChiZero[877]	 := [[1, 2],[1, 2],[2]];
189LChiZero[881]	 := [[1, 2],[2]];
190LChiZero[883]	 := [[1],[]];
191LChiZero[887]	 := [[1],[1],[]];
192LChiZero[907]	 := [[1],[]];
193LChiZero[911]	 := [[1],[1],[]];
194LChiZero[919]	 := [[1],[1],[]];
195LChiZero[929]	 := [[1, 2],[1, 2],[2]];
196LChiZero[937]	 := [[1, 2],[2]];
197LChiZero[941]	 := [[1, 2],[2]];
198LChiZero[947]	 := [[1],[]];
199LChiZero[953]	 := [[1, 2],[2]];
200LChiZero[967]	 := [[1],[]];
201LChiZero[971]	 := [[1],[]];
202LChiZero[977]	 := [[1, 2],[2]];
203LChiZero[983]	 := [[1],[]];
204LChiZero[991]	 := [[1],[]];
205LChiZero[997]	 := [[1, 2],[1, 2],[1, 2],[1, 2],[1, 2],[1, 2],[1, 2],[2]];
206
207