Sharedwww / merel-stein / lchizero.mOpen in CoCalc
///////////////////////////////////////////////////////////
// lchizero.m - MAGMA program                            //
//                                                       //
// Date: August, 1999                                    //
//                                                       //
// Author: William A. Stein (was@math.berkeley.edu)      //
///////////////////////////////////////////////////////////

/*************************************************************
 *   lchinz[p,i] = [divisors d of p-1 such that              
 *                  L(A_{f_i},chi_d,1)=0, where              
 *                  chi_d:(Z/pZ)^*-->C^* is one of the       
 *                  conjugate characters of degree d.        
 *                                                           

 *  The computation was done using modular symbols.          
 *  We consider L(A_f,chi_d,1)=/=0 if the value              
 *  of a vector dual to f on the modular symbol              
 *    s = sum_{a in (Z/pZ)^*} chi_d(a) {0,-1/a}              
 *  is 0.                                                    
 *                                                           
 *  This computation was done using the C++ program HECKE.   
 *                                                           
 *  The eigenforms in all tables are ordered in the same     
 *  way, which extends the ordering used by Cremona in his   
 *  tables of elliptic curves.                               
 *  We sort the factors of $S_2(p)$ as follows.
 *  First by dimension, with smallest dimension first.
 *  Within each dimension, sort in binary order,
 *  by the sign of the Atkin-Lehner  involution
 *  with - corresponding to 0 and + to 1.
 *  Let $l$ be the smallest prime not equal to $p$.
 *  Within each of the Atkin-Lehner classes, sort by
 *  the magnitudes of the $K(f)/\Q$-trace of
 *  $a_l$ breaking ties by letting the positive trace be first.
 *  If there are still any ties, repeat the final step with the
 *  next smallest prime not equal to $p$, etc.
 *************************************************************/

LChiZero         := [[] : i in [1..997]];

LChiZero[11]	 := [[]];
LChiZero[13]	 := [];
LChiZero[17]	 := [[2]];
LChiZero[19]	 := [[]];
LChiZero[23]	 := [[]];
LChiZero[29]	 := [[2]];
LChiZero[31]	 := [[]];
LChiZero[37]	 := [[1, 2, 6],[2]];
LChiZero[41]	 := [[2]];
LChiZero[43]	 := [[1],[]];
LChiZero[47]	 := [[]];
LChiZero[53]	 := [[1, 2],[2]];
LChiZero[59]	 := [[]];
LChiZero[61]	 := [[1, 2],[2]];
LChiZero[67]	 := [[],[1],[]];
LChiZero[71]	 := [[],[]];
LChiZero[73]	 := [[2, 3, 6],[1, 2],[2]];
LChiZero[79]	 := [[1],[]];
LChiZero[83]	 := [[1],[]];
LChiZero[89]	 := [[1, 2],[2],[2]];
LChiZero[97]	 := [[1, 2],[2]];
LChiZero[101]	 := [[1, 2, 4],[2]];
LChiZero[103]	 := [[1],[]];
LChiZero[107]	 := [[1],[]];
LChiZero[109]	 := [[2],[1, 2],[2]];
LChiZero[113]	 := [[2],[2],[1, 2],[2]];
LChiZero[127]	 := [[1],[]];
LChiZero[131]	 := [[1, 2],[]];
LChiZero[137]	 := [[1, 2],[2]];
LChiZero[139]	 := [[3],[1],[]];
LChiZero[149]	 := [[1, 2],[2]];
LChiZero[151]	 := [[1],[],[]];
LChiZero[157]	 := [[1, 2],[2]];
LChiZero[163]	 := [[1],[1],[]];
LChiZero[167]	 := [[1],[]];
LChiZero[173]	 := [[1, 2],[2]];
LChiZero[179]	 := [[],[1],[]];
LChiZero[181]	 := [[1, 2],[2]];
LChiZero[191]	 := [[1],[]];
LChiZero[193]	 := [[1, 2],[1, 2],[2]];
LChiZero[197]	 := [[1, 2],[1, 2],[2]];
LChiZero[199]	 := [[],[1],[]];
LChiZero[211]	 := [[],[1],[1],[]];
LChiZero[223]	 := [[1],[1],[]];
LChiZero[227]	 := [[1],[],[],[1],[]];
LChiZero[229]	 := [[1, 2, 3],[1, 2],[2]];
LChiZero[233]	 := [[2],[1, 2],[2]];
LChiZero[239]	 := [[1],[]];
LChiZero[241]	 := [[1, 2],[2]];
LChiZero[251]	 := [[1],[]];
LChiZero[257]	 := [[1, 2],[2]];
LChiZero[263]	 := [[1],[]];
LChiZero[269]	 := [[1, 2],[1, 2],[2]];
LChiZero[271]	 := [[1],[]];
LChiZero[277]	 := [[1, 2],[2],[1, 2],[2]];
LChiZero[281]	 := [[1, 2],[2]];
LChiZero[283]	 := [[1],[]];
LChiZero[293]	 := [[1, 2],[2]];
LChiZero[307]	 := [[],[3],[],[],[],[],[1]];
LChiZero[311]	 := [[1],[]];
LChiZero[313]	 := [[2],[1, 2],[2]];
LChiZero[317]	 := [[1, 2],[2]];
LChiZero[331]	 := [[1],[1],[1],[]];
LChiZero[337]	 := [[1, 2],[2]];
LChiZero[347]	 := [[1],[1],[1],[]];
LChiZero[349]	 := [[1, 2],[2]];
LChiZero[353]	 := [[2, 4],[2],[1, 2],[2]];
LChiZero[359]	 := [[1],[1, 2],[1],[]];
LChiZero[367]	 := [[1],[]];
LChiZero[373]	 := [[1, 2, 6],[1, 2],[2]];
LChiZero[379]	 := [[1],[]];
LChiZero[383]	 := [[1],[1],[]];
LChiZero[389]	 := [[1, 2, 4],[1, 2],[1, 2],[1, 2],[2]];
LChiZero[397]	 := [[1, 2],[2],[2],[2],[1, 2]];
LChiZero[401]	 := [[1, 2],[2]];
LChiZero[409]	 := [[1, 2],[2]];
LChiZero[419]	 := [[1],[]];
LChiZero[421]	 := [[1, 2],[2]];
LChiZero[431]	 := [[1],[],[1],[],[1],[]];
LChiZero[433]	 := [[1, 2],[2],[1, 2],[2]];
LChiZero[439]	 := [[1],[1],[]];
LChiZero[443]	 := [[1],[1],[2],[1],[]];
LChiZero[449]	 := [[1, 2],[2]];
LChiZero[457]	 := [[1, 2],[1, 2],[2]];
LChiZero[461]	 := [[1, 2],[1, 2],[1, 2],[2]];
LChiZero[463]	 := [[1],[]];
LChiZero[467]	 := [[1, 2],[1],[]];
LChiZero[479]	 := [[1],[]];
LChiZero[487]	 := [[],[],[],[],[1]];
LChiZero[491]	 := [[1],[1],[]];
LChiZero[499]	 := [[1],[1],[]];
LChiZero[503]	 := [[1],[],[],[],[1],[]];
LChiZero[509]	 := [[1, 2],[2]];
LChiZero[521]	 := [[1, 2],[2]];
LChiZero[523]	 := [[1],[1],[]];
LChiZero[541]	 := [[1, 2],[2]];
LChiZero[547]	 := [[1],[1],[]];
LChiZero[557]	 := [[1, 2],[2],[1, 2],[2]];
LChiZero[563]	 := [[1],[1],[1],[1],[]];
LChiZero[569]	 := [[1, 2],[2]];
LChiZero[571]	 := [[],[1],[],[],[1],[],[1],[1],[]];
LChiZero[577]	 := [[2],[2],[2],[2],[1, 2]];
LChiZero[587]	 := [[1],[1],[]];
LChiZero[593]	 := [[1, 2],[2, 8],[2],[1, 2],[2]];
LChiZero[599]	 := [[1],[1],[]];
LChiZero[601]	 := [[1, 2],[2]];
LChiZero[607]	 := [[1],[1],[1],[]];
LChiZero[613]	 := [[1, 2],[1, 2],[2]];
LChiZero[617]	 := [[1, 2],[2]];
LChiZero[619]	 := [[1],[]];
LChiZero[631]	 := [[1],[]];
LChiZero[641]	 := [[1, 2],[2]];
LChiZero[643]	 := [[1, 3],[1],[]];
LChiZero[647]	 := [[1],[1],[]];
LChiZero[653]	 := [[1, 2],[1, 2],[2]];
LChiZero[659]	 := [[1],[],[1],[]];
LChiZero[661]	 := [[2],[1, 2],[2]];
LChiZero[673]	 := [[2],[2],[2],[1, 2]];
LChiZero[677]	 := [[1, 2],[1, 2],[1, 2],[2]];
LChiZero[683]	 := [[],[1],[]];
LChiZero[691]	 := [[1],[]];
LChiZero[701]	 := [[2],[1, 2],[2]];
LChiZero[709]	 := [[1, 2],[1, 2],[2]];
LChiZero[719]	 := [[1],[1],[]];
LChiZero[727]	 := [[1],[]];
LChiZero[733]	 := [[2],[1, 2],[1, 2],[2]];
LChiZero[739]	 := [[],[1],[1],[]];
LChiZero[743]	 := [[1],[]];
LChiZero[751]	 := [[1],[]];
LChiZero[757]	 := [[1, 2],[2]];
LChiZero[761]	 := [[1, 2],[1, 2],[2]];
LChiZero[769]	 := [[1, 2],[2]];
LChiZero[773]	 := [[1, 2],[1, 2],[2]];
LChiZero[787]	 := [[1],[]];
LChiZero[797]	 := [[1, 2],[2],[1, 2],[2]];
LChiZero[809]	 := [[1, 2],[1, 2],[2]];
LChiZero[811]	 := [[1],[1],[]];
LChiZero[821]	 := [[1, 2],[2]];
LChiZero[823]	 := [[1],[]];
LChiZero[827]	 := [[1],[1],[1],[]];
LChiZero[829]	 := [[1, 2],[1, 2],[2]];
LChiZero[839]	 := [[1],[]];
LChiZero[853]	 := [[1, 2],[2]];
LChiZero[857]	 := [[1, 2],[2]];
LChiZero[859]	 := [[1],[]];
LChiZero[863]	 := [[1],[1],[]];
LChiZero[877]	 := [[1, 2],[1, 2],[2]];
LChiZero[881]	 := [[1, 2],[2]];
LChiZero[883]	 := [[1],[]];
LChiZero[887]	 := [[1],[1],[]];
LChiZero[907]	 := [[1],[]];
LChiZero[911]	 := [[1],[1],[]];
LChiZero[919]	 := [[1],[1],[]];
LChiZero[929]	 := [[1, 2],[1, 2],[2]];
LChiZero[937]	 := [[1, 2],[2]];
LChiZero[941]	 := [[1, 2],[2]];
LChiZero[947]	 := [[1],[]];
LChiZero[953]	 := [[1, 2],[2]];
LChiZero[967]	 := [[1],[]];
LChiZero[971]	 := [[1],[]];
LChiZero[977]	 := [[1, 2],[2]];
LChiZero[983]	 := [[1],[]];
LChiZero[991]	 := [[1],[]];
LChiZero[997]	 := [[1, 2],[1, 2],[1, 2],[1, 2],[1, 2],[1, 2],[1, 2],[2]];