// Make newform 1344.4.b.e in Magma, downloaded from the LMFDB on 28 March 2024. // To make the character of type GrpDrchElt, type "MakeCharacter_1344_b();" // To make the character of type GrpDrchElt with Codomain the HeckeField, type "MakeCharacter_1344_b_Hecke();" // To make the coeffs of the qexp of the newform in the Hecke field type "qexpCoeffs();" // To make the newform (type ModFrm), type "MakeNewformModFrm_1344_4_b_e();". // 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_1344_4_b_e();". // 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 := [1232100, 0, 180672, 0, 8461, 0, 158, 0, 1]; Kf := NumberField(Polynomial([elt : elt in poly])); AssignNames(~Kf, ["nu"]); end if; Rf_num := [[1, 0, 0, 0, 0, 0, 0, 0], [0, -185964, 0, -14702, 0, -316, 0, -2], [21107760, -5860488, 2786840, -690094, 88060, -20597, 740, -169], [-21107760, -5860488, -2786840, -690094, -88060, -20597, -740, -169], [0, 11580252, 0, 1117496, 0, 31333, 0, 251], [0, -8481804, 0, -1027292, 0, -31171, 0, -257], [33438, 0, 3892, 0, 119, 0, 1, 0], [177216, 0, 20630, 0, 613, 0, 5, 0]]; Rf_basisdens := [1, 11655, 93240, 93240, 93240, 93240, 21, 63]; 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_1344_b();" function MakeCharacter_1344_b() N := 1344; order := 2; char_gens := [127, 1093, 449, 577]; v := [1, 2, 2, 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; // To make the character of type GrpDrchElt with Codomain the HeckeField, type "MakeCharacter_1344_b_Hecke();" function MakeCharacter_1344_b_Hecke(Kf) N := 1344; order := 2; char_gens := [127, 1093, 449, 577]; char_values := [[-1, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0, 0], [-1, 0, 0, 0, 0, 0, 0, 0]]; assert UnitGenerators(DirichletGroup(N)) eq char_gens; values := ConvertToHeckeField(char_values : pass_field := true, Kf := Kf); // the value of chi on the gens as elements in the Hecke field F := Universe(values);// the Hecke field chi := DirichletCharacterFromValuesOnUnitGenerators(DirichletGroup(N,F),values); return chi; 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 := [[0, 0, 0, 0, 0, 0, 0, 0], [-3, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 1, 0, 0], [0, 0, 0, -1, 0, 0, 0, 0], [0, 1, 1, 1, 0, -1, 0, 0], [0, -2, -1, -1, -1, 1, 0, 0], [0, -2, -2, -2, 0, 3, 0, 0], [-8, 0, 1, -1, 0, 0, 0, -1], [0, 2, 2, 2, 3, 2, 0, 0], [-32, 0, 2, -2, 0, 0, -1, -1], [-40, 0, 0, 0, 0, 0, -2, 1], [-52, 0, 3, -3, 0, 0, 1, 3], [0, -2, -8, -8, -6, 1, 0, 0], [0, 7, 1, 1, -6, 6, 0, 0], [90, 0, 12, -12, 0, 0, -1, 0], [-38, 0, 2, -2, 0, 0, -2, 5], [-218, 0, -10, 10, 0, 0, -1, -4], [0, -4, 3, 3, -1, 7, 0, 0], [0, -13, 9, 9, -6, 0, 0, 0], [0, -30, 6, 6, 3, -32, 0, 0], [0, -28, -18, -18, 2, 16, 0, 0], [0, -4, 1, 1, 6, 24, 0, 0], [210, 0, 0, 0, 0, 0, 5, 0], [0, 38, -4, -4, -6, 19, 0, 0], [0, -22, -14, -14, 10, -40, 0, 0], [0, 28, -32, -32, 12, 27, 0, 0], [-432, 0, -16, 16, 0, 0, 2, 3], [0, 23, -7, -7, 12, -51, 0, 0], [362, 0, -34, 34, 0, 0, 8, -4], [592, 0, -4, 4, 0, 0, 9, -10], [0, -70, -19, -19, -30, -36, 0, 0], [514, 0, -40, 40, 0, 0, -7, 14], [-946, 0, -38, 38, 0, 0, 6, -8], [-304, 0, -4, 4, 0, 0, -18, -8], [86, 0, -68, 68, 0, 0, -16, 13], [0, -10, -45, -45, -36, 96, 0, 0], [0, 116, -73, -73, -21, -69, 0, 0], [0, 21, 5, 5, 30, 60, 0, 0], [824, 0, -2, 2, 0, 0, 4, -26], [0, -100, -58, -58, 42, -43, 0, 0], [0, -23, -41, -41, 30, 93, 0, 0], [0, -18, -89, -89, -13, 217, 0, 0], [0, 88, 34, 34, -9, -142, 0, 0], [-472, 0, -19, 19, 0, 0, 3, 11], [-132, 0, -12, 12, 0, 0, 9, 33], [2112, 0, -47, 47, 0, 0, -4, -18], [0, -23, 41, 41, -18, -282, 0, 0], [20, 0, 11, -11, 0, 0, 18, 52], [-2188, 0, -44, 44, 0, 0, -4, -38], [0, -148, 11, 11, -33, -3, 0, 0], [-940, 0, -134, 134, 0, 0, 15, 40], [0, -62, -68, -68, -3, -132, 0, 0], [0, -282, -20, -20, 32, -74, 0, 0], [-1584, 0, -114, 114, 0, 0, 14, 12], [0, 158, -124, -124, -30, 5, 0, 0], [0, -132, -138, -138, 27, 308, 0, 0], [0, 308, -106, -106, -54, 161, 0, 0], [276, 0, 152, -152, 0, 0, 4, 3], [-3908, 0, 25, -25, 0, 0, -23, -5], [136, 0, -136, 136, 0, 0, 1, 2], [-3996, 0, -37, 37, 0, 0, 22, 27], [0, 192, 102, 102, 54, -3, 0, 0], [-1012, 0, -15, 15, 0, 0, 18, -71], [4090, 0, -106, 106, 0, 0, -13, 32], [0, 408, -56, -56, -28, -80, 0, 0], [3662, 0, -8, 8, 0, 0, 20, 19], [0, -17, -31, -31, -78, -186, 0, 0], [-3258, 0, -22, 22, 0, 0, 26, 2], [0, -1, -85, -85, -66, 325, 0, 0], [0, 96, -107, -107, -91, -83, 0, 0], [0, -450, 120, 120, 66, -41, 0, 0], [0, 332, -232, -232, -63, 126, 0, 0], [3780, 0, 79, -79, 0, 0, -26, 6], [902, 0, 116, -116, 0, 0, 22, 80], [0, -45, 221, 221, 150, -270, 0, 0], [966, 0, -96, 96, 0, 0, 37, -18], [-1432, 0, 88, -88, 0, 0, 63, -77], [0, -530, -131, -131, 69, 201, 0, 0], [1374, 0, 306, -306, 0, 0, -38, -72], [0, -330, 238, 238, 50, -536, 0, 0], [-6038, 0, 110, -110, 0, 0, -75, 38], [4428, 0, 185, -185, 0, 0, 17, -97], [0, 240, -84, -84, -75, -208, 0, 0], [0, -116, 274, 274, -138, 18, 0, 0], [-1192, 0, -43, 43, 0, 0, 8, -74], [0, -465, 27, 27, 138, -505, 0, 0], [816, 0, 444, -444, 0, 0, -51, 60], [3414, 0, -70, 70, 0, 0, -42, -34], [0, 388, 52, 52, -48, -79, 0, 0], [0, 214, 161, 161, -162, -216, 0, 0], [3840, 0, -138, 138, 0, 0, 2, 108], [6214, 0, -322, 322, 0, 0, 53, -94], [0, 68, 331, 331, 84, 240, 0, 0], [0, 493, -185, -185, 102, 91, 0, 0], [0, 207, -183, -183, 150, 246, 0, 0], [-7226, 0, -448, 448, 0, 0, 45, 104], [0, -340, -232, -232, -144, 375, 0, 0], [0, -446, -62, -62, -12, 545, 0, 0], [6312, 0, -152, 152, 0, 0, -10, 138], [-3448, 0, -99, 99, 0, 0, -105, 87], [0, -323, 21, 21, -186, -48, 0, 0], [-6526, 0, -56, 56, 0, 0, -66, 13], [5238, 0, -240, 240, 0, 0, 83, 108], [-4892, 0, 230, -230, 0, 0, 19, 74], [0, -183, 73, 73, 30, 612, 0, 0], [0, -584, -42, -42, -350, -742, 0, 0], [-488, 0, -370, 370, 0, 0, 86, -118], [0, -50, 238, 238, 0, 47, 0, 0], [0, 330, -474, -474, -141, 212, 0, 0], [0, -14, 34, 34, 258, 330, 0, 0], [5672, 0, -157, 157, 0, 0, -96, 172], [558, 0, 586, -586, 0, 0, -34, -74], [8218, 0, -514, 514, 0, 0, -92, 14], [-4568, 0, 180, -180, 0, 0, -126, -64], [0, -126, 233, 233, 162, 1056, 0, 0], [-12642, 0, 312, -312, 0, 0, 6, 30], [-8268, 0, 23, -23, 0, 0, 94, 153], [2860, 0, -460, 460, 0, 0, -118, 110], [17858, 0, 70, -70, 0, 0, -22, -89], [0, 1115, -439, -439, -48, 233, 0, 0], [0, -800, 195, 195, -221, -361, 0, 0], [-5100, 0, 325, -325, 0, 0, -179, -17], [0, 572, 986, 986, 126, -845, 0, 0], [0, -637, -541, -541, -126, 467, 0, 0], [9076, 0, 288, -288, 0, 0, 92, 2], [-3782, 0, 320, -320, 0, 0, 102, 83], [-9826, 0, 284, -284, 0, 0, 38, -262], [10790, 0, -242, 242, 0, 0, -163, -182], [-12116, 0, -356, 356, 0, 0, -152, 125], [0, -16, -409, -409, -153, 537, 0, 0], [0, 31, 61, 61, 30, -1128, 0, 0], [0, -1408, -142, -142, 123, 1210, 0, 0], [0, -720, 127, 127, 252, 756, 0, 0], [1586, 0, 848, -848, 0, 0, -36, 122], [0, -322, 38, 38, -396, -1161, 0, 0], [0, 830, 892, 892, 100, -952, 0, 0], [0, -440, 592, 592, 456, -215, 0, 0], [8972, 0, -592, 592, 0, 0, 32, -86], [0, -1316, -638, -638, -6, 763, 0, 0], [-8732, 0, -310, 310, 0, 0, 99, -58], [-7316, 0, 420, -420, 0, 0, -44, -34], [2106, 0, 102, -102, 0, 0, -202, 273], [0, -472, 265, 265, -198, 120, 0, 0], [0, 1433, -445, -445, -258, 1153, 0, 0], [0, -1028, -403, -403, 425, -1085, 0, 0], [-9288, 0, 198, -198, 0, 0, 120, -312], [0, -476, -219, -219, -599, 29, 0, 0], [0, 922, -590, -590, -216, 1411, 0, 0], [12008, 0, 537, -537, 0, 0, -100, 103], [0, 1488, -270, -270, -417, 1854, 0, 0], [5114, 0, 50, -50, 0, 0, 188, -22], [0, -438, -102, -102, -528, 469, 0, 0], [0, -1451, -751, -751, 150, 1386, 0, 0], [21216, 0, -162, 162, 0, 0, 32, 354], [0, -589, 61, 61, -330, 750, 0, 0], [0, -348, 966, 966, -81, -420, 0, 0], [0, -810, 723, 723, -492, -216, 0, 0], [0, -1894, 428, 428, -342, -855, 0, 0], [0, 186, -1108, -1108, -344, 800, 0, 0], [0, -1948, -790, -790, 114, 391, 0, 0], [0, -2583, -405, -405, -222, -227, 0, 0], [14902, 0, -130, 130, 0, 0, -30, 68], [0, 1036, -171, -171, 126, 1212, 0, 0], [7272, 0, -324, 324, 0, 0, 54, 486], [-4016, 0, -316, 316, 0, 0, -43, -52], [-2812, 0, 58, -58, 0, 0, 134, -254], [0, -578, 171, 171, -528, -1956, 0, 0], [0, -1992, 81, 81, -771, -1131, 0, 0], [-29144, 0, 99, -99, 0, 0, 55, -39], [0, 504, -1020, -1020, -480, 371, 0, 0], [0, 947, 497, 497, 996, 9, 0, 0], [0, 54, -513, -513, 99, 1071, 0, 0], [0, 2070, -216, -216, -315, 108, 0, 0], [13084, 0, -825, 825, 0, 0, -135, 573], [1496, 0, -43, 43, 0, 0, 256, -416], [0, 482, -46, -46, -60, 2057, 0, 0], [0, -835, 1541, 1541, 522, -204, 0, 0], [-6382, 0, -398, 398, 0, 0, -210, 151], [-20912, 0, 1204, -1204, 0, 0, 234, 23], [0, 1996, -671, -671, -495, 465, 0, 0], [0, -1170, -511, -511, 534, 1524, 0, 0], [-10960, 0, 1222, -1222, 0, 0, 170, -104], [16184, 0, -387, 387, 0, 0, 51, 231], [0, -894, -1254, -1254, 504, 2343, 0, 0], [0, -1390, -100, -100, -411, -1088, 0, 0], [0, -840, 24, 24, 540, 1655, 0, 0], [23870, 0, 506, -506, 0, 0, -42, 104], [23900, 0, 812, -812, 0, 0, -60, 52], [-3652, 0, -721, 721, 0, 0, 217, -163], [-17886, 0, 1026, -1026, 0, 0, -125, -84], [0, -358, 136, 136, -476, 1814, 0, 0], [0, 261, -705, -705, -318, 33, 0, 0], [0, 1869, -419, -419, -102, 882, 0, 0], [0, 840, -420, -420, 252, 975, 0, 0], [0, -655, 755, 755, -738, -121, 0, 0], [0, 1658, -1306, -1306, -48, -1127, 0, 0], [12328, 0, -951, 951, 0, 0, -69, 231], [-8736, 0, -1015, 1015, 0, 0, -13, -349], [0, 154, -722, -722, 240, 323, 0, 0], [40482, 0, -1326, 1326, 0, 0, -209, -204], [2336, 0, -884, 884, 0, 0, -89, -365], [456, 0, -551, 551, 0, 0, 260, 342], [0, 296, 325, 325, 589, 2207, 0, 0], [0, 1792, 318, 318, 550, -556, 0, 0], [-27020, 0, -658, 658, 0, 0, -388, 92], [0, -836, 550, 550, -1134, -903, 0, 0], [42364, 0, 765, -765, 0, 0, 34, 50], [0, -2043, 2157, 2157, 468, 1765, 0, 0], [47950, 0, -1018, 1018, 0, 0, -190, -154], [21928, 0, -479, 479, 0, 0, 276, 119], [2042, 0, -1818, 1818, 0, 0, 240, -102], [0, 1708, 1534, 1534, 222, -2483, 0, 0], [0, -1342, -2481, -2481, -600, 2400, 0, 0], [32992, 0, 8, -8, 0, 0, 206, -448], [7730, 0, -1082, 1082, 0, 0, 195, 202], [0, -116, -462, -462, 1282, -550, 0, 0], [0, -1522, -1249, -1249, 444, -1596, 0, 0], [0, 1350, 96, 96, 1014, 1529, 0, 0], [0, 980, -1414, -1414, 615, -2044, 0, 0], [-15708, 0, -1116, 1116, 0, 0, 301, 471], [-38238, 0, 208, -208, 0, 0, -188, -98], [-52616, 0, -392, 392, 0, 0, 118, 395], [-4936, 0, 1360, -1360, 0, 0, 33, 664], [0, 1664, 2291, 2291, 240, -2412, 0, 0], [-39490, 0, 1912, -1912, 0, 0, 471, 280], [5008, 0, -641, 641, 0, 0, 271, -149], [0, 1122, 786, 786, 780, -499, 0, 0], [0, 1964, 1568, 1568, -351, -992, 0, 0], [47060, 0, -360, 360, 0, 0, 152, 259], [0, 511, 961, 961, 708, -2507, 0, 0], [610, 0, -1200, 1200, 0, 0, -376, 6], [4292, 0, -1983, 1983, 0, 0, -182, 691], [0, 16, -449, -449, -276, -564, 0, 0], [-27428, 0, -46, 46, 0, 0, 171, 392], [-8064, 0, 149, -149, 0, 0, 16, 363], [8688, 0, 834, -834, 0, 0, -96, 156], [0, 40, 422, 422, -1114, 172, 0, 0], [8772, 0, -1038, 1038, 0, 0, 317, -3], [0, 971, -697, -697, 318, -1173, 0, 0], [-47918, 0, 668, -668, 0, 0, 175, 284], [0, 887, 2123, 2123, 966, -893, 0, 0], [41644, 0, 228, -228, 0, 0, 0, 128], [9280, 0, -933, 933, 0, 0, 12, 146], [-20392, 0, -441, 441, 0, 0, -385, 759], [0, -1086, -516, -516, 462, 3407, 0, 0], [19532, 0, -1310, 1310, 0, 0, 174, -80], [-31116, 0, 1016, -1016, 0, 0, -368, -147], [-8896, 0, 2134, -2134, 0, 0, -570, -2], [0, 1, -1607, -1607, 966, 4404, 0, 0], [0, -3754, 860, 860, -975, -1238, 0, 0], [-33922, 0, 1154, -1154, 0, 0, -258, 68], [0, -518, -302, -302, -1008, 3765, 0, 0], [0, -56, -2624, -2624, -1035, 3744, 0, 0], [0, -1486, -960, -960, -328, 3226, 0, 0], [0, -1564, -2440, -2440, -912, 4027, 0, 0], [0, -805, 1889, 1889, 732, -2561, 0, 0], [56720, 0, 969, -969, 0, 0, -81, -177], [-19736, 0, 463, -463, 0, 0, -252, -433], [0, 824, 422, 422, -438, 3255, 0, 0], [0, 2240, 2438, 2438, -858, -3618, 0, 0], [0, 448, -1555, -1555, -294, 2124, 0, 0], [0, 2889, 3303, 3303, -246, -6613, 0, 0], [0, 2546, -771, -771, 149, 3127, 0, 0], [0, -810, -1615, -1615, 217, 2813, 0, 0], [0, -3054, 504, 504, 66, -4237, 0, 0], [23948, 0, 212, -212, 0, 0, -252, 640], [-16544, 0, -646, 646, 0, 0, -461, -259], [0, -178, 3584, 3584, 126, -1869, 0, 0], [0, 1681, -71, -71, 462, -1584, 0, 0], [-60354, 0, -1602, 1602, 0, 0, -96, 543], [0, -4182, 799, 799, -1189, -4121, 0, 0], [0, -2637, -1355, -1355, -294, 1962, 0, 0], [0, -2060, 2476, 2476, 1668, -414, 0, 0], [0, -1486, -2361, -2361, -1452, 2652, 0, 0], [0, -922, -844, -844, -24, 3102, 0, 0], [-34576, 0, -60, 60, 0, 0, -222, 31], [0, -169, -85, -85, -438, -1793, 0, 0], [12032, 0, 75, -75, 0, 0, -189, -105], [-44568, 0, -455, 455, 0, 0, -417, -53], [47892, 0, 990, -990, 0, 0, -484, -546], [43940, 0, 3292, -3292, 0, 0, 50, -554], [0, 760, 265, 265, 162, 1848, 0, 0], [-6948, 0, -408, 408, 0, 0, 346, 630], [0, -926, -147, -147, -1895, 665, 0, 0], [39780, 0, -2036, 2036, 0, 0, 40, 150], [0, -2856, 2634, 2634, 75, 3184, 0, 0], [62902, 0, -1334, 1334, 0, 0, 698, 286], [67612, 0, 1988, -1988, 0, 0, 285, -241], [40700, 0, -240, 240, 0, 0, 24, 481], [0, 2058, 2160, 2160, 1326, -2531, 0, 0], [-2812, 0, 2716, -2716, 0, 0, -491, 631], [-13038, 0, 1404, -1404, 0, 0, 569, 246], [-11762, 0, 2114, -2114, 0, 0, 106, -706], [22650, 0, -666, 666, 0, 0, 685, -144], [-25250, 0, 1764, -1764, 0, 0, 382, -660], [0, 4264, 2302, 2302, -126, -3751, 0, 0], [-13192, 0, -2779, 2779, 0, 0, -428, 502], [0, 3756, 1266, 1266, 2478, 207, 0, 0], [8280, 0, -2220, 2220, 0, 0, 62, 1194], [-75004, 0, -2356, 2356, 0, 0, 244, 790], [0, 1936, -3004, -3004, -1360, -2708, 0, 0], [4216, 0, 2750, -2750, 0, 0, -521, -115], [0, 1828, 709, 709, 1050, -1896, 0, 0]]; aps := ConvertToHeckeField(raw_aps); chi := MakeCharacter_1344_b_Hecke(Universe(aps)); return ExtendMultiplicatively(weight, aps, chi); end function; // To make the newform (type ModFrm), type "MakeNewformModFrm_1344_4_b_e();". // 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_1344_4_b_e(:prec:=8) chi := MakeCharacter_1344_b(); f_vec := qexpCoeffs(); Kf := Universe(f_vec); // SetVerbose("ModularForms", true); // SetVerbose("ModularSymbols", true); S := CuspidalSubspace(ModularForms(chi, 4)); S := BaseChange(S, Kf); maxprec := NextPrime(1999) - 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_1344_4_b_e();". // 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_1344_4_b_e( : sign := -1) R := PolynomialRing(Rationals()); chi := MakeCharacter_1344_b(); // SetVerbose("ModularSymbols", true); Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,4,sign))); Vf := Kernel([<5,R![146313216, 0, 11183616, 0, 195588, 0, 828, 0, 1]>,<19,R![-5935552, -500320, -10380, 28, 1]>],Snew); return Vf; end function;