// Make newform 966.4.a.l in Magma, downloaded from the LMFDB on 28 March 2024. // To make the character of type GrpDrchElt, type "MakeCharacter_966_a();" // To make the coeffs of the qexp of the newform in the Hecke field type "qexpCoeffs();" // To make the newform (type ModFrm), type "MakeNewformModFrm_966_4_a_l();". // This may take a long time! To see verbose output, uncomment the SetVerbose lines below. // The precision argument determines an initial guess on how many Fourier coefficients to use. // This guess is increased enough to uniquely determine the newform. // To make the Hecke irreducible modular symbols subspace (type ModSym) // containing the newform, type "MakeNewformModSym_966_4_a_l();". // This may take a long time! To see verbose output, uncomment the SetVerbose line below. // The default sign is -1. You can change this with the optional parameter "sign". function ConvertToHeckeField(input: pass_field := false, Kf := []) if not pass_field then poly := [101568, 23460, -666, -319, 0, 1]; Kf := NumberField(Polynomial([elt : elt in poly])); AssignNames(~Kf, ["nu"]); end if; Rf_num := [[1, 0, 0, 0, 0], [0, 1, 0, 0, 0], [51980, 3500, -1023, -23, 4], [-93196, -4466, 1345, 23, -4], [-106996, -11942, 1480, 69, -5]]; Rf_basisdens := [1, 1, 644, 644, 644]; Rf_basisnums := ChangeUniverse([[z : z in elt] : elt in Rf_num], Kf); Rfbasis := [Rf_basisnums[i]/Rf_basisdens[i] : i in [1..Degree(Kf)]]; inp_vec := Vector(Rfbasis)*ChangeRing(Transpose(Matrix([[elt : elt in row] : row in input])),Kf); return Eltseq(inp_vec); end function; // To make the character of type GrpDrchElt, type "MakeCharacter_966_a();" function MakeCharacter_966_a() N := 966; order := 1; char_gens := [323, 829, 925]; v := [1, 1, 1]; // chi(gens[i]) = zeta^v[i] assert UnitGenerators(DirichletGroup(N)) eq char_gens; F := CyclotomicField(order); chi := DirichletCharacterFromValuesOnUnitGenerators(DirichletGroup(N,F),[F|F.1^e:e in v]); return MinimalBaseRingCharacter(chi); end function; function MakeCharacter_966_a_Hecke(Kf) return MakeCharacter_966_a(); end function; function ExtendMultiplicatively(weight, aps, character) prec := NextPrime(NthPrime(#aps)) - 1; // we will able to figure out a_0 ... a_prec primes := PrimesUpTo(prec); prime_powers := primes; assert #primes eq #aps; log_prec := Floor(Log(prec)/Log(2)); // prec < 2^(log_prec+1) F := Universe(aps); FXY := PolynomialRing(F, 2); // 1/(1 - a_p T + p^(weight - 1) * char(p) T^2) = 1 + a_p T + a_{p^2} T^2 + ... R := PowerSeriesRing(FXY : Precision := log_prec + 1); recursion := Coefficients(1/(1 - X*T + Y*T^2)); coeffs := [F!0: i in [1..(prec+1)]]; coeffs[1] := 1; //a_1 for i := 1 to #primes do p := primes[i]; coeffs[p] := aps[i]; b := p^(weight - 1) * F!character(p); r := 2; p_power := p * p; //deals with powers of p while p_power le prec do Append(~prime_powers, p_power); coeffs[p_power] := Evaluate(recursion[r + 1], [aps[i], b]); p_power *:= p; r +:= 1; end while; end for; Sort(~prime_powers); for pp in prime_powers do for k := 1 to Floor(prec/pp) do if GCD(k, pp) eq 1 then coeffs[pp*k] := coeffs[pp]*coeffs[k]; end if; end for; end for; return coeffs; end function; function qexpCoeffs() // To make the coeffs of the qexp of the newform in the Hecke field type "qexpCoeffs();" weight := 4; raw_aps := [[-2, 0, 0, 0, 0], [-3, 0, 0, 0, 0], [-3, 0, 1, 0, 0], [7, 0, 0, 0, 0], [-4, 0, 1, 1, -1], [-4, 2, 1, -1, 0], [-8, -5, -1, 0, 1], [-4, 2, -3, -1, 3], [-23, 0, 0, 0, 0], [-58, 3, -3, 4, -1], [-14, 7, -5, -4, -3], [53, 14, 2, 5, -2], [43, -9, -18, -4, -2], [133, -19, -12, 6, -1], [-57, 16, -5, -8, 1], [-64, 22, -20, 2, 1], [5, 9, 13, -5, 2], [-90, 21, 27, 2, 4], [307, -38, -31, 2, -4], [-60, -40, 13, -1, 10], [308, 25, 3, 10, -1], [246, 1, 3, -18, 3], [-273, 20, 52, 5, 10], [-230, -60, -5, -7, 14], [-370, 15, -47, -24, -13], [-233, -9, -23, 17, 16], [-285, -14, 33, 0, -11], [23, -3, 4, 4, -25], [47, -70, -17, 14, 2], [-388, 29, -2, 15, -17], [-331, 100, 62, 19, -9], [-747, -75, 58, -42, 6], [-241, -123, -98, -2, 2], [-1248, 77, 42, 1, 19], [-1892, 115, -30, 3, -26], [-1147, 62, 41, -34, 43], [-78, 1, 34, 3, -34], [-713, 41, 31, 27, 48], [-601, -119, -14, 44, -38], [-1062, -59, -111, 10, 29], [-200, -47, -248, 15, -5], [-1691, 86, -78, -3, -42], [-1215, 134, -131, -10, -29], [793, -24, -121, -68, 9], [-1036, -174, 5, -29, 36], [105, 137, 87, -59, -44], [1135, -133, 8, -24, 12], [-872, 51, 74, -29, 63], [-57, 48, -11, 48, -16], [-818, -78, 234, -38, -19], [-1114, -429, -88, 25, 31], [-1614, 379, -32, 7, -35], [-365, -171, -18, 94, -80], [-3505, -305, 149, 77, -39], [463, 274, 143, 72, -79], [2581, -115, -114, 82, -16], [-348, -8, 101, -83, 42], [1154, -199, 65, 80, 33], [1223, 420, 178, -57, -23], [-1938, 28, -26, 34, 96], [2157, -362, -7, -36, 88], [-2773, -15, 69, -119, -17], [-1968, -403, -157, 88, 25], [-883, -226, -124, 15, -93], [2601, 106, -89, -174, 103], [-844, -103, -14, 27, 35], [3187, -54, -285, 94, -61], [-312, 518, 481, -125, 76], [20, -311, 103, 32, 127], [-1758, -253, -536, 61, -19], [-2418, 399, 383, 42, -13], [728, -229, -136, -63, 137], [2973, -152, 356, 57, -49], [-719, 82, 98, -187, 66], [575, 17, -99, 107, -41], [6782, -103, -81, -102, 39], [-2111, 218, -178, -191, 58], [3106, -86, -388, -10, -94], [2161, -301, -252, -140, 2], [-3266, 231, 373, 220, -5], [-5431, 296, -273, -84, -56], [-2047, 279, 220, -210, 123], [3085, 318, -672, 131, -21], [-3329, -236, -375, -52, 83], [-2478, 385, 463, -54, -47], [-14, 550, 930, -54, 66], [-5200, -111, -186, 247, -309], [1506, -87, -328, 155, -57], [-1540, -459, 224, -167, 87], [5191, -321, 146, 70, 300], [4051, 126, 214, 125, -324], [2812, -443, 143, 84, 289], [6380, 129, -133, 36, 113], [-2250, -66, 41, -93, -82], [-712, 235, 392, -35, 145], [-2060, 867, -108, 185, -19], [-1517, -42, 287, 284, 129], [1166, -88, 348, -168, 88], [-276, -125, -406, -3, -260], [-9283, 0, 205, -294, 43], [-962, -743, -182, -193, -69], [985, -1009, 59, -29, 143], [3257, -317, -1040, -16, -95], [-7731, -40, 583, -28, -57], [4229, 688, 1010, -47, 72], [-3186, -844, 676, -188, -8], [-2397, -96, 436, 399, 71], [-2946, 128, 350, -154, -28], [5544, 680, 563, 401, -28], [-9586, 865, 6, 205, 125], [-886, -282, -133, -363, 8], [5727, -54, 1224, 185, -86], [-3688, 94, -167, -229, -392], [-7415, 303, 88, 28, 101], [7708, -487, -523, 390, -5], [-2709, 330, 52, -393, -349], [-962, -681, -981, -38, -268], [8736, 199, -876, -575, -95], [-8880, 701, 398, -181, -59], [-5575, 898, 456, -211, 498], [-5384, -334, -741, 207, -413], [-5563, 739, -194, 274, -360], [8621, 511, -448, -298, 43], [7172, 797, -91, -102, -219], [1836, 336, -301, 461, -230], [-5922, 494, -122, 146, 677], [1859, -147, 838, 456, -121], [10562, 311, 409, -54, 267], [2001, -1193, -578, 36, -170], [2103, 181, -1047, 225, 341], [-326, -439, -915, -624, -255], [1603, -75, -1351, -559, 130], [2808, 1311, 1526, -121, -191], [-5335, -1482, 600, 111, 24], [-10079, 526, 3, -222, -13], [-11566, -224, 182, -494, 460], [-4455, -264, -924, -231, 238], [-13570, 312, 578, 150, 249], [-4597, 1155, -385, 49, 235], [-5252, 1192, 45, -39, 286], [-6316, 39, 449, 264, -447], [-6406, -500, 1212, 344, 190], [2589, -91, 167, 217, 118], [-13068, 60, -814, 420, -87], [-1896, -909, 1317, 74, -613], [6684, -2034, -365, -345, -246], [-19312, -544, 1296, 98, -190], [6327, 2560, 1145, -392, -41], [-11236, -826, 662, 860, -98], [2678, 1274, 830, 678, -556], [-16007, 848, -153, 60, -701], [-3248, -1686, -580, 308, -374], [-7718, 154, 1209, -25, 176], [14694, 896, 1303, 131, -198], [13881, 116, -671, 154, 434], [2358, 1018, -236, 412, -82], [-7734, -1745, -1293, -324, 269], [-724, -1151, -1026, 995, -749], [-11091, 2271, 1066, -178, 650], [-11265, -1123, 545, -1027, 215], [-958, 336, 1248, 10, -336], [4161, 244, -1484, -269, 155], [-3926, -128, 824, 398, 588], [-5457, -129, -180, -138, -233], [24273, 866, 250, 71, -75], [17692, -765, 393, 200, -419], [-13869, -2362, 1542, 163, -55], [5774, 831, -1249, -78, 605], [-12006, 1701, -392, -409, -649], [5067, -1802, 798, 109, 391], [14444, 1679, 967, -384, 416], [-11904, -882, 246, -286, -550], [-1425, 1652, -354, -259, 637], [8840, -215, 5, -284, -85], [-416, 246, 168, -722, -108], [-5704, 1269, 1133, 268, -571], [15349, 1182, 868, 235, -825], [7014, 415, 1076, -503, 1241], [-4533, -1475, 241, 909, 372], [10909, -1116, 767, 394, 202], [20913, -2029, -1285, 331, -452], [19301, 1459, 1678, 338, 163], [1333, -695, -509, 563, 592], [39121, 904, -122, -375, -347], [14719, 1073, 1136, -758, 260], [7733, -213, -1970, 904, -483], [25369, 580, 1573, -274, 37], [-4577, 2010, 2010, -899, 570], [-889, -1293, 701, 57, 138], [16228, -1737, -637, 134, -777], [-7112, 597, 310, -29, -117], [30146, -1405, 1412, 39, 253], [-1253, 1637, 165, 447, 29], [-2487, -737, 1210, -2, 966], [28420, -215, -1743, 84, -6], [-4824, -400, 1193, 461, 552], [4044, -1334, -833, 1317, -1136], [7197, 271, 1939, 975, -125], [-19526, 2558, 520, -626, -172], [-877, 3579, 1173, -485, -126], [5852, -49, 10, -789, -460], [-27798, 1782, -1370, -910, -990], [15054, -771, 3460, 155, 107], [-2447, -616, 648, 243, -793], [9737, 2380, -322, -1519, -38], [-9875, 420, 2693, -622, 585], [-32736, 1981, 3351, -1248, 217], [1732, 2819, -1198, -893, -577], [23378, 811, 1804, 209, -1105], [-33434, -1373, 1065, 362, -251], [11905, 1186, 4025, 368, 67], [28729, -2379, -2491, 1025, -1040], [13520, -1227, 1431, -540, 179], [35437, -1101, 499, 293, 1209], [-16962, 1156, 2417, 877, 34], [2056, 2607, -1076, 1147, -411], [39671, -2527, -1544, -46, -244], [-8116, 1750, -2963, 371, -620], [30988, -2091, -1517, 1256, -39], [24, 5597, 3473, -1492, 353], [2993, 1724, 1922, -715, 437], [1177, 1176, 1201, -920, 793], [-16018, -1298, 1133, -163, 130], [3534, 1102, 2330, 1242, -474], [17287, 827, -842, -878, 1864], [-1849, 1601, 591, 101, -584], [-14176, -2173, 327, 1740, -1], [25534, -1026, 3506, -286, -106], [10564, -2510, -487, 41, 852], [-17022, -2325, -2421, -840, 1499], [-26005, -1063, 1592, 584, -238], [10573, -6057, -1314, 610, -127], [-39152, 819, -2208, -263, 149], [-40416, -3530, -1020, 1108, -396], [-5838, -191, 2223, 1104, 366], [18252, -318, -2281, 1131, -944], [7247, -4446, 2323, 84, 437], [5709, 542, -496, 479, 986], [25500, -3439, -2155, 422, -227], [3648, -865, 5467, 482, 567], [-24502, 4944, -885, 877, -1075], [17586, -6241, -1384, 31, 157], [-29496, -2038, 1144, 670, 290], [33287, 1621, -984, -1508, 1708], [-7265, -5439, -3892, 1496, -68], [29969, 3614, 232, -993, 223], [-31084, -2326, -1128, -274, -660], [-53241, -2599, -1771, -253, -13], [-9571, 544, -2898, 97, 1738], [44863, -4465, 30, -806, 452], [61089, -1316, 1042, -393, 1086], [-2722, -478, -2984, -66, 524], [6071, -101, 1052, -1312, 572], [-67989, -719, -2078, -750, 342], [-41380, -1207, -181, -1446, 593], [-34308, 392, 3336, -1492, 562], [-5527, -1618, 2612, 683, -16], [8458, 3656, 2889, 195, -525], [-32217, 3794, -848, -217, -95], [11422, -2093, -839, 2012, -1209], [14380, -3982, -3671, 969, -524], [66962, 947, 2276, 177, -478], [5158, -1333, 1468, 189, -279], [-57192, -1916, 1463, 489, -355], [27707, 150, -4256, -341, -271], [-45278, 3148, -723, -625, -935], [17764, 1423, 162, 27, -788], [16160, 4993, 2269, -976, -1419], [-3581, 4918, -1624, -1705, -1002], [-47906, 55, 680, 1329, -513], [-18414, 39, 4307, -382, 249], [-1543, 2008, -3690, 157, 562], [-39598, -2220, -1039, -1509, 510], [-1892, 2986, -3598, 836, 1612], [-6128, -1359, 1761, 1528, 535], [-27792, -1784, -1046, 1338, -1346], [2828, -2165, 1039, 74, -433], [3847, 665, -4084, 372, 688], [39352, -2177, 4243, -40, -167], [-6109, 2596, 4006, -133, 820], [11069, -1886, 1397, 566, 427], [-54452, -3858, -817, 1279, -940], [1724, -3173, 1005, -1684, 1069], [-36799, -2308, -528, -1507, -624], [-45012, 487, 1072, -2775, 219], [-61090, -669, 465, -938, 1001], [-8144, 3489, 5363, -1406, -87], [3920, 3055, 2258, -97, 1288], [1260, 8052, 2531, 1589, -806], [-26534, 6866, 3686, -1376, 870], [-70930, 1515, 2337, 394, 660], [18441, -1413, 1690, 2178, -1569], [-48184, -5058, 3235, 1753, -1756], [-60965, 846, -1054, -499, -342], [16792, 3644, -4440, 906, 824], [-27949, 874, 6974, -1909, 520], [81496, 2132, 1564, 144, -360], [27165, -2330, -5644, 2329, -551], [29829, -271, -1930, 242, -328], [-35856, -6353, -3085, -1734, 1557], [-5112, -7876, -4011, 1105, -650], [23285, -4293, -1915, -743, 427], [39214, -1229, -2487, 902, -947], [3370, 2541, -5676, 1013, 123], [279, 1137, 5597, -1693, 983], [58063, 139, 1454, 476, -566], [-2588, 1985, -3694, 1489, -417], [-86986, 82, 3, -203, 105], [-35623, 258, -3369, -1220, -1143], [14620, 2538, 2935, -1583, 692], [32699, -2167, 2902, -840, 1088], [-81889, -1358, -4916, -643, 370], [-28279, -8729, -4247, 1439, 1094], [-75084, 4509, 1231, 656, -1011], [4051, -2805, 2584, 2420, -398], [69449, -4440, -2289, 840, -789], [58045, 1139, 1300, 658, -1562], [-68638, 1101, -2055, 1180, -1487], [-4659, 2067, -134, 794, 226], [35376, -1598, 238, 622, 928], [23132, -4279, 218, 1595, -1760], [25266, -3304, 9315, -395, 530], [21595, 1425, -5465, -2155, -1166], [-1921, 1593, -6642, 1788, -1224], [-75017, -4081, -4006, -2408, 896], [-54843, 477, -3157, -649, 1278], [58047, -2400, -1478, -721, 1296], [-89040, 6987, 2140, 617, 2401], [-125831, 2380, 2549, 1692, -177], [-57422, 2267, 3666, -299, 2314], [38884, 1556, -5700, 2082, 1696], [-4718, -3769, 4185, -20, -923], [-46212, 9606, -5795, 569, -1068], [8551, -733, 8885, -1133, 914], [18255, 5751, -3833, -841, -233], [26625, -682, -3779, -1546, 101], [-13887, 5491, 715, -2625, 231], [66068, 3276, 3554, 760, -896], [-38092, 5355, 3278, 993, 241], [47284, 167, -6598, -2433, -1463], [-61302, -4765, -3891, -3752, 1347], [80569, -770, 4213, -780, -1343], [-63971, 1182, -7982, 731, -2383], [-18530, -3451, 5313, -1980, 431], [-9304, -3669, -6506, 415, 508], [-34834, -4230, -313, 3793, -3102], [159966, 1771, -648, -1275, 695], [-28687, -3629, -2431, -839, 2720], [-858, 2663, 5788, 1391, 27], [-54583, 1248, 2052, -2219, -1200], [14136, -5258, -5113, 1803, 426], [65715, 543, -7032, 4034, -1582], [23388, 5141, -485, -2494, -1685], [23283, -2499, -6387, -787, 1986], [12003, -6200, 3454, -87, -1616], [17131, 10570, 6389, -2730, 1909], [2958, -1310, 8638, -2546, 1936], [26375, -5104, -2882, 3975, -1642], [17634, -1235, -4117, 4, 1325], [6292, 969, -6277, -2128, 163], [-70063, 596, -684, -163, -2858], [63037, 2507, 488, -2744, -1240], [-103014, 6359, 6347, -1360, 2363], [46106, -2881, -6050, -2577, -700], [129182, 2774, 108, -1180, -1086], [10167, 2818, 4281, 318, -2651], [-23747, -6924, -5122, 2729, -2909], [52710, 1908, -6676, -2674, 1862], [79230, 1844, 5119, 1729, 1118], [-29868, 4304, -4243, -589, 1298], [-6508, -7479, 3839, -1164, 1277], [41256, -8174, -4580, -1562, -48], [34850, -3457, 2822, 2685, 1670], [-12337, -1706, 2013, -4436, 3733], [90558, 1451, 837, -380, 2063], [-14888, -7669, -3390, 1363, 1549], [27407, -3367, 2059, -189, -2152], [143941, 2100, 7085, 418, -121], [2812, 3692, 2442, -260, 1490], [83288, 3573, 2689, -1956, -1865], [-14599, -646, -5528, 2043, -544], [-246, 7188, 7155, 537, 1182], [29433, -6032, -4451, 912, 499], [114810, 4370, -8771, 2765, 270], [2603, 4660, -143, 1504, -4150], [-73939, -106, 370, -1743, 3307], [-57989, 9268, 2000, 383, 1049], [8874, 4242, 11296, 998, 440], [52157, 2536, 7148, 895, 1936], [74186, 5976, 5954, 4, -2276], [35312, -2291, 8387, -1622, 2431], [-971, -885, 3365, -37, 3276], [-20198, -4918, -4196, -5120, 1328], [-31594, -42, 3476, -2100, -74], [-92933, 1290, 4576, 2453, 2637], [-101582, -8997, 3708, 3325, -1491], [11605, 10599, 4160, 2674, -968], [71678, 5843, -2139, -72, 355], [51391, -4937, -2278, 344, -3377], [-154528, 4249, 469, 548, -751], [-60096, 10659, 4251, 2360, -499], [-158442, 7342, -4391, 433, -2762], [81630, 8758, -2318, -3954, 1160], [9900, 3834, 12423, 789, -528], [64121, 4748, -1760, 4539, -1129], [55424, 2880, 725, -945, -672], [48957, 1111, 2087, -2241, 153], [40730, 8072, 6446, -2238, 124], [157951, 3187, -435, -1459, -53], [-4054, 3157, -784, -1399, 3327], [21504, -6622, -8943, -1505, -1472], [-108276, 2540, 2510, 104, 1784], [33438, 1177, -2362, -3947, 804], [-123117, -1619, 2134, 1614, -3313], [115860, 4460, -4859, 1621, -518], [35458, -2732, 672, 1152, -484], [-139164, 10333, 4505, -338, 1423], [25876, -8089, 11949, 756, 1255], [-34716, -567, 8091, -1254, 1199], [-37846, -8118, 3960, -2756, -1746], [-10351, -2442, 728, 3643, 910], [108608, 4930, 8501, 2497, 177], [159488, 5931, 3510, 1399, -2601], [37880, 12286, -3023, 1157, 1120], [67342, -3166, 849, -3, 622], [111721, -7384, -4687, -206, 83], [-9600, 2977, 6181, -2912, -4460], [40950, -536, 2634, -974, -628], [7422, 4821, 9276, -3763, 4765], [-12665, -9088, -8414, 2941, -3903]]; aps := ConvertToHeckeField(raw_aps); chi := MakeCharacter_966_a_Hecke(Universe(aps)); return ExtendMultiplicatively(weight, aps, chi); end function; // To make the newform (type ModFrm), type "MakeNewformModFrm_966_4_a_l();". // This may take a long time! To see verbose output, uncomment the SetVerbose lines below. // The precision argument determines an initial guess on how many Fourier coefficients to use. // This guess is increased enough to uniquely determine the newform. function MakeNewformModFrm_966_4_a_l(:prec:=5) chi := MakeCharacter_966_a(); f_vec := qexpCoeffs(); Kf := Universe(f_vec); // SetVerbose("ModularForms", true); // SetVerbose("ModularSymbols", true); S := CuspidalSubspace(ModularForms(chi, 4)); S := BaseChange(S, Kf); maxprec := NextPrime(2999) - 1; while true do trunc_vec := Vector(Kf, [0] cat [f_vec[i]: i in [1..prec]]); B := Basis(S, prec + 1); S_basismat := Matrix([AbsEltseq(g): g in B]); if Rank(S_basismat) eq Min(NumberOfRows(S_basismat), NumberOfColumns(S_basismat)) then S_basismat := ChangeRing(S_basismat,Kf); f_lincom := Solution(S_basismat,trunc_vec); f := &+[f_lincom[i]*Basis(S)[i] : i in [1..#Basis(S)]]; return f; end if; error if prec eq maxprec, "Unable to distinguish newform within newspace"; prec := Min(Ceiling(1.25 * prec), maxprec); end while; end function; // To make the Hecke irreducible modular symbols subspace (type ModSym) // containing the newform, type "MakeNewformModSym_966_4_a_l();". // This may take a long time! To see verbose output, uncomment the SetVerbose line below. // The default sign is -1. You can change this with the optional parameter "sign". function MakeNewformModSym_966_4_a_l( : sign := -1) R := PolynomialRing(Rationals()); chi := MakeCharacter_966_a(); // SetVerbose("ModularSymbols", true); Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,4,sign))); Vf := Kernel([<5,R![-36288, 32028, -2332, -303, 15, 1]>],Snew); return Vf; end function;