
// Make newform 2450.4.a.da in Magma, downloaded from the LMFDB on 01 October 2025.
// To make the character of type GrpDrchElt, type "MakeCharacter_2450_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_2450_4_a_da();".
// 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_2450_4_a_da();".
// 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 := [676, 0, -4646, 0, 4997, 0, -146, 0, 1];
        Kf := NumberField(Polynomial([elt : elt in poly]));
        AssignNames(~Kf, ["nu"]);
    end if;
    Rf_num := [[1, 0, 0, 0, 0, 0, 0, 0], [-82955, 0, -13801, 0, 538, 0, -4, 0], [5531, 0, -8171, 0, 269, 0, -2, 0], [0, -387910, 0, 567661, 0, -16738, 0, 115], [288362, 0, -559490, 0, 16469, 0, -113, 0], [0, -321844, 0, 567661, 0, -16738, 0, 115], [0, 1473804, 0, -1264738, 0, 36724, 0, -251], [0, -10278848, 0, 18520367, 0, -545360, 0, 3743]];
    Rf_basisdens := [1, 2541, 363, 66066, 2541, 9438, 11011, 66066];
    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_2450_a();"
function MakeCharacter_2450_a()
    N := 2450;
    order := 1;
    char_gens := [1177, 101];
    v := [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_2450_a_Hecke( : Kf := Kf)
    return MakeCharacter_2450_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<X, Y> := 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<T> := PowerSeriesRing(FXY : Precision := log_prec + 1);
    recursion := Coefficients(1/(1 - X*T + Y*T^2));
    coeffs := [F!0: i in [1..prec]];
    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, 0, 0, 0], [0, 0, 0, -1, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [5, 0, 0, 0, -1, 0, 0, 0], [0, 0, 0, -3, 0, 0, 1, 1], [0, 0, 0, -8, 0, 1, -1, 1], [0, 0, 0, 2, 0, -1, 3, 0], [21, 3, -1, 0, 2, 0, 0, 0], [50, -1, -2, 0, -3, 0, 0, 0], [0, 0, 0, -3, 0, 6, -1, -5], [2, -5, 0, 0, -1, 0, 0, 0], [0, 0, 0, 23, 0, -16, -4, 2], [92, -3, 4, 0, 1, 0, 0, 0], [0, 0, 0, -22, 0, -18, 6, -3], [85, -2, 1, 0, 3, 0, 0, 0], [0, 0, 0, -51, 0, -31, -5, -2], [0, 0, 0, 57, 0, 20, -5, -2], [189, -10, 4, 0, 0, 0, 0, 0], [328, -9, -12, 0, -3, 0, 0, 0], [0, 0, 0, 43, 0, 21, -18, -9], [-245, -1, -9, 0, 10, 0, 0, 0], [0, 0, 0, -103, 0, -46, -4, -5], [0, 0, 0, -85, 0, 15, -12, 2], [0, 0, 0, -91, 0, 1, 17, 18], [0, 0, 0, 81, 0, -14, 25, 18], [0, 0, 0, -54, 0, 34, 28, -13], [706, 5, -13, 0, 8, 0, 0, 0], [399, 1, 7, 0, 6, 0, 0, 0], [-100, 12, 15, 0, -4, 0, 0, 0], [282, 7, 22, 0, -11, 0, 0, 0], [0, 0, 0, 270, 0, -7, 6, -7], [1470, 3, -13, 0, 13, 0, 0, 0], [0, 0, 0, -65, 0, 164, 8, -8], [-816, 5, -22, 0, -27, 0, 0, 0], [1488, -13, 2, 0, 17, 0, 0, 0], [0, 0, 0, -41, 0, 146, 39, 6], [-501, -31, -22, 0, -14, 0, 0, 0], [0, 0, 0, -77, 0, 64, -47, -23], [0, 0, 0, -102, 0, -50, -74, 29], [1321, -33, 6, 0, -15, 0, 0, 0], [0, 0, 0, 193, 0, 74, 31, 18], [1787, 42, -3, 0, -49, 0, 0, 0], [-736, 58, 35, 0, 10, 0, 0, 0], [2199, -31, 11, 0, 8, 0, 0, 0], [0, 0, 0, 341, 0, -270, 7, -34], [976, 43, -7, 0, -8, 0, 0, 0], [0, 0, 0, 241, 0, -130, 11, -20], [0, 0, 0, 76, 0, -77, -90, 38], [0, 0, 0, 334, 0, -284, 62, 7], [467, 95, -3, 0, -30, 0, 0, 0], [1017, 30, 17, 0, 45, 0, 0, 0], [0, 0, 0, 218, 0, 78, 13, 7], [0, 0, 0, 4, 0, 61, -41, -5], [0, 0, 0, 91, 0, -137, -93, -20], [-1642, -31, -26, 0, -53, 0, 0, 0], [0, 0, 0, 9, 0, -280, 45, -67], [0, 0, 0, 377, 0, -290, 77, 63], [4628, 58, 14, 0, 30, 0, 0, 0], [164, -75, -54, 0, 21, 0, 0, 0], [0, 0, 0, 750, 0, 194, -43, 65], [0, 0, 0, 817, 0, -74, -123, -27], [0, 0, 0, -380, 0, 395, -31, 49], [0, 0, 0, 166, 0, -82, 96, -42], [0, 0, 0, 808, 0, -173, 44, 18], [1873, 61, 47, 0, 128, 0, 0, 0], [363, -12, -76, 0, 17, 0, 0, 0], [365, -5, -58, 0, 107, 0, 0, 0], [2835, -40, 32, 0, 25, 0, 0, 0], [0, 0, 0, 880, 0, 602, 58, 45], [0, 0, 0, 625, 0, 385, 5, 16], [-810, -123, 66, 0, 25, 0, 0, 0], [0, 0, 0, -431, 0, -126, 61, -26], [-4586, 63, 64, 0, 119, 0, 0, 0], [2376, -80, -57, 0, 10, 0, 0, 0], [0, 0, 0, 1227, 0, -22, 19, -49], [6400, 81, -38, 0, 79, 0, 0, 0], [0, 0, 0, 366, 0, -566, 70, 93], [-1020, -150, 51, 0, -159, 0, 0, 0], [0, 0, 0, -678, 0, 306, -205, -5], [0, 0, 0, -575, 0, 1154, -118, 5], [6838, -49, -8, 0, -7, 0, 0, 0], [-165, -200, 39, 0, -159, 0, 0, 0], [0, 0, 0, 794, 0, -540, 253, 52], [0, 0, 0, -669, 0, -584, 61, -35], [-3857, -135, 112, 0, 65, 0, 0, 0], [1266, 6, -81, 0, -131, 0, 0, 0], [-4922, 72, 9, 0, -46, 0, 0, 0], [0, 0, 0, 971, 0, -42, 99, 93], [-8840, 74, -44, 0, 82, 0, 0, 0], [0, 0, 0, -68, 0, 305, 74, -214], [0, 0, 0, 315, 0, -284, 35, 75], [-4343, -223, 85, 0, 80, 0, 0, 0], [6386, -117, -4, 0, -43, 0, 0, 0], [6566, -102, -98, 0, -120, 0, 0, 0], [0, 0, 0, 348, 0, 62, -132, 75], [0, 0, 0, 753, 0, -968, 137, -129], [0, 0, 0, 2, 0, -766, -49, -171], [0, 0, 0, -8, 0, 455, -227, -95], [7440, 57, 116, 0, 19, 0, 0, 0], [-8596, -124, 31, 0, 214, 0, 0, 0], [1810, -113, 228, 0, -231, 0, 0, 0], [0, 0, 0, -384, 0, 13, -78, -148], [3243, 0, 72, 0, -4, 0, 0, 0], [1622, 467, 26, 0, 157, 0, 0, 0], [0, 0, 0, 1812, 0, -231, -33, 56], [0, 0, 0, -887, 0, 541, 212, 19], [0, 0, 0, -836, 0, -1275, 167, 187], [7551, 281, 9, 0, 172, 0, 0, 0], [0, 0, 0, 2472, 0, -388, -195, -62], [0, 0, 0, 1573, 0, -802, -325, -67], [-1763, 105, 5, 0, 114, 0, 0, 0], [3279, 205, -21, 0, 42, 0, 0, 0], [0, 0, 0, -1569, 0, 1371, 165, -4], [5373, -19, -29, 0, 190, 0, 0, 0], [-5363, 135, -195, 0, 262, 0, 0, 0], [0, 0, 0, -436, 0, 523, -396, -105], [0, 0, 0, 1404, 0, -680, 346, -171], [-4100, 278, -268, 0, 4, 0, 0, 0], [-3288, -673, 5, 0, -47, 0, 0, 0], [0, 0, 0, 2156, 0, -678, -36, -147], [-4051, -290, 125, 0, -505, 0, 0, 0], [0, 0, 0, 2896, 0, 76, -42, -55], [9623, 192, 80, 0, -42, 0, 0, 0], [0, 0, 0, 1211, 0, 1183, -400, -345], [-1162, 200, -162, 0, -94, 0, 0, 0], [2898, -334, 262, 0, -132, 0, 0, 0], [0, 0, 0, -3241, 0, -832, 303, -158], [0, 0, 0, -1532, 0, -1194, 222, -134], [0, 0, 0, -1408, 0, -346, 120, -422], [-3301, 193, 167, 0, -116, 0, 0, 0], [-6485, -246, -5, 0, 207, 0, 0, 0], [4080, -118, 322, 0, 282, 0, 0, 0], [-2267, 185, -283, 0, -382, 0, 0, 0], [0, 0, 0, 1172, 0, -4, 695, 86], [0, 0, 0, -647, 0, -2049, 138, 21], [0, 0, 0, -93, 0, -434, 49, 553], [0, 0, 0, -1849, 0, 2319, 239, 137], [0, 0, 0, -1382, 0, 570, -804, -268], [-20500, -387, -18, 0, -111, 0, 0, 0], [0, 0, 0, 1246, 0, -1331, -256, -260], [-2556, -210, 120, 0, 214, 0, 0, 0], [-8625, -127, -105, 0, -474, 0, 0, 0], [1444, 944, -183, 0, 19, 0, 0, 0], [0, 0, 0, -1682, 0, 2042, -70, 402], [0, 0, 0, -3495, 0, 44, -9, 88], [0, 0, 0, 18, 0, 468, -892, -28], [0, 0, 0, 1371, 0, -120, -452, 176], [0, 0, 0, -3770, 0, -166, 683, 105], [-3132, 173, 182, 0, 471, 0, 0, 0], [14785, 186, 9, 0, 131, 0, 0, 0], [0, 0, 0, -1747, 0, 47, -407, 66], [-5105, 700, -30, 0, 356, 0, 0, 0], [0, 0, 0, 453, 0, 292, -213, 618], [-2760, 44, 556, 0, -316, 0, 0, 0], [-18983, -175, 159, 0, -96, 0, 0, 0], [8122, 849, -178, 0, 13, 0, 0, 0], [0, 0, 0, 77, 0, 511, -221, 93], [0, 0, 0, 4269, 0, -1696, -24, -544], [0, 0, 0, 3057, 0, 2322, -649, -267], [3636, -162, -338, 0, 10, 0, 0, 0], [4138, 714, 71, 0, 65, 0, 0, 0], [-24310, -230, -100, 0, 368, 0, 0, 0], [0, 0, 0, 2070, 0, -37, -609, -500], [5714, -518, 383, 0, -396, 0, 0, 0], [0, 0, 0, 2651, 0, 112, -583, -547], [7066, -87, 136, 0, 255, 0, 0, 0], [0, 0, 0, 2558, 0, 3120, -74, 105], [-20797, 326, -614, 0, -175, 0, 0, 0], [0, 0, 0, -1178, 0, -4146, 484, 228], [-5094, 694, -91, 0, 29, 0, 0, 0], [0, 0, 0, -2534, 0, -1630, 274, 493], [-17342, 15, -402, 0, 311, 0, 0, 0], [13184, -313, 433, 0, -353, 0, 0, 0], [0, 0, 0, 2279, 0, -256, 1027, -56], [0, 0, 0, 2824, 0, -724, 829, -130], [21416, 324, -315, 0, 679, 0, 0, 0], [-5783, 736, 181, 0, -439, 0, 0, 0], [0, 0, 0, 2149, 0, 1054, -95, 525], [0, 0, 0, 273, 0, 2048, -183, 311], [-12817, -977, -7, 0, 254, 0, 0, 0], [0, 0, 0, 1024, 0, -4376, 163, -178], [10556, -1139, -364, 0, 109, 0, 0, 0], [0, 0, 0, 5480, 0, -1682, -487, -121], [34721, 187, -235, 0, 356, 0, 0, 0], [0, 0, 0, -1554, 0, -314, 740, 779], [1943, 49, -293, 0, 908, 0, 0, 0], [0, 0, 0, -900, 0, -205, 493, 20], [-6173, 258, 524, 0, 557, 0, 0, 0], [0, 0, 0, 1933, 0, 2076, -113, -248], [0, 0, 0, -466, 0, 2029, -243, -816], [22298, -264, -375, 0, -665, 0, 0, 0], [22344, -584, -827, 0, -357, 0, 0, 0], [0, 0, 0, 902, 0, 36, 488, 275], [-25883, -268, -332, 0, -370, 0, 0, 0], [0, 0, 0, 91, 0, -2601, 381, 207], [19187, -68, 806, 0, 438, 0, 0, 0], [8828, -1167, 0, 0, 257, 0, 0, 0], [0, 0, 0, 4298, 0, 1982, 173, 759], [0, 0, 0, 2475, 0, -1582, -181, 173], [-20376, 92, -718, 0, 270, 0, 0, 0], [0, 0, 0, -5602, 0, -2912, 114, -555], [0, 0, 0, -1327, 0, -2504, 241, 635], [0, 0, 0, -4605, 0, 2251, -964, 179], [0, 0, 0, -2451, 0, 1013, -683, -925], [0, 0, 0, -1563, 0, 216, 501, 130], [0, 0, 0, -150, 0, 2168, -650, -699], [6967, 334, -143, 0, -339, 0, 0, 0], [8591, 387, -175, 0, -526, 0, 0, 0], [0, 0, 0, 3953, 0, -1081, -1023, 923], [2901, -1011, -159, 0, 220, 0, 0, 0], [0, 0, 0, 106, 0, -848, 814, 76], [10297, -75, -61, 0, 158, 0, 0, 0], [0, 0, 0, -2242, 0, 893, 1177, -59], [0, 0, 0, -2483, 0, 34, -497, 274], [0, 0, 0, -1424, 0, 3252, -1009, -532], [-36786, 615, 568, 0, -383, 0, 0, 0], [0, 0, 0, 372, 0, -101, 241, 700], [-11848, 485, 278, 0, -567, 0, 0, 0], [9113, -317, 619, 0, 802, 0, 0, 0], [244, -481, -74, 0, -585, 0, 0, 0], [0, 0, 0, -7500, 0, -1038, -1566, -186], [38057, 156, 514, 0, -530, 0, 0, 0], [-13733, -543, -379, 0, -88, 0, 0, 0], [0, 0, 0, 1805, 0, -3489, -458, -228], [-20862, -1054, 414, 0, -444, 0, 0, 0], [0, 0, 0, 6865, 0, -1312, -1104, -514], [22482, -1669, -138, 0, -317, 0, 0, 0], [0, 0, 0, 2848, 0, -1264, 128, 1230], [-23015, 1942, 88, 0, 185, 0, 0, 0], [-17563, -113, 93, 0, -74, 0, 0, 0], [0, 0, 0, -7285, 0, -161, -272, -208], [21852, -2, -746, 0, 938, 0, 0, 0], [-12509, 150, 852, 0, 702, 0, 0, 0], [0, 0, 0, -2071, 0, -5471, -805, -140], [0, 0, 0, 29, 0, -2946, -1269, -333], [0, 0, 0, -2197, 0, 4989, 102, -59], [-8215, 549, -1095, 0, -366, 0, 0, 0], [7765, 154, -476, 0, 276, 0, 0, 0], [0, 0, 0, -1944, 0, -526, -1624, -468], [-6991, 1244, 580, 0, 427, 0, 0, 0], [0, 0, 0, 7683, 0, 2182, 1288, -75], [0, 0, 0, 5867, 0, -322, 127, 673], [-2637, 1715, 575, 0, 850, 0, 0, 0], [0, 0, 0, -9123, 0, 1422, 386, 579], [0, 0, 0, -9626, 0, -1558, -368, -396], [0, 0, 0, 118, 0, 252, 778, -645], [0, 0, 0, -1918, 0, 2353, 2008, -606], [11799, 547, 274, 0, 1204, 0, 0, 0], [-6636, -646, 654, 0, -894, 0, 0, 0], [119, 34, -619, 0, 1323, 0, 0, 0], [0, 0, 0, 255, 0, -1887, -1794, 417], [-6674, 394, 572, 0, 1048, 0, 0, 0], [0, 0, 0, -10254, 0, -3724, 801, -436], [0, 0, 0, 700, 0, -2962, 182, -1389], [44122, 577, -435, 0, 1162, 0, 0, 0], [38040, -195, -18, 0, -531, 0, 0, 0], [0, 0, 0, 656, 0, 733, -1005, 689], [0, 0, 0, -1818, 0, 5426, 124, -659], [0, 0, 0, 2226, 0, -2211, -1315, 268], [-14431, 698, -401, 0, 383, 0, 0, 0], [47696, 1656, -63, 0, -618, 0, 0, 0], [0, 0, 0, -929, 0, 1670, -737, -1065], [0, 0, 0, 1555, 0, -3852, 1857, 709], [0, 0, 0, 5345, 0, -8733, -566, -461], [0, 0, 0, 3064, 0, -3204, -421, 132], [34211, -125, -449, 0, -426, 0, 0, 0], [0, 0, 0, -4955, 0, 5803, -53, 637], [29178, 652, 637, 0, -1049, 0, 0, 0], [30518, 1555, 544, 0, 753, 0, 0, 0], [0, 0, 0, 1628, 0, 986, -696, -198], [-16174, 965, 239, 0, -1075, 0, 0, 0], [0, 0, 0, -6282, 0, 3004, -1703, -496], [30193, -225, -199, 0, -58, 0, 0, 0], [0, 0, 0, -5596, 0, 6763, -486, 473], [0, 0, 0, -5902, 0, 9874, -702, 362], [-15308, -132, 225, 0, 1526, 0, 0, 0], [-7390, -1904, -284, 0, 294, 0, 0, 0], [30362, -147, 808, 0, 263, 0, 0, 0], [0, 0, 0, -7802, 0, -245, 95, 171], [0, 0, 0, 5821, 0, -6254, 931, 264], [-35062, 1138, 574, 0, 1342, 0, 0, 0], [0, 0, 0, -5771, 0, 650, -41, -19], [0, 0, 0, 8134, 0, 1866, 1484, 770], [0, 0, 0, 979, 0, -1032, 768, -692], [-58467, 225, 487, 0, -662, 0, 0, 0], [-55710, -979, -54, 0, 1269, 0, 0, 0], [62721, 747, -691, 0, 958, 0, 0, 0], [0, 0, 0, 7000, 0, -7224, -1164, 314], [0, 0, 0, -680, 0, 2423, -32, 150], [5907, -955, -161, 0, -372, 0, 0, 0], [0, 0, 0, 1781, 0, -6609, 991, -334], [5849, -1390, 326, 0, -260, 0, 0, 0], [0, 0, 0, 5025, 0, 1564, -604, 272], [19399, 375, 887, 0, 1080, 0, 0, 0], [0, 0, 0, -416, 0, 1794, -96, -670], [0, 0, 0, 1027, 0, 7872, 657, -84], [0, 0, 0, 6797, 0, 1594, -1581, -613], [0, 0, 0, 3927, 0, -9355, 71, -317], [0, 0, 0, 10824, 0, -2767, 391, 440], [0, 0, 0, 3159, 0, 6352, -494, 290], [46508, 1736, -174, 0, -1080, 0, 0, 0], [63443, 127, 91, 0, -1084, 0, 0, 0], [11670, 638, 71, 0, 1330, 0, 0, 0], [13790, 1246, -405, 0, 1534, 0, 0, 0], [-9185, -1857, 1168, 0, -1546, 0, 0, 0], [-35426, 131, 294, 0, 1945, 0, 0, 0], [0, 0, 0, 6537, 0, 1126, -2369, -573], [30579, 577, 749, 0, 572, 0, 0, 0], [102496, 492, 406, 0, -60, 0, 0, 0], [0, 0, 0, 3927, 0, 3182, -103, -1308], [52611, 2024, -385, 0, -565, 0, 0, 0], [-55600, -3162, 259, 0, -646, 0, 0, 0], [-10478, -854, -108, 0, -2276, 0, 0, 0], [5879, 251, -477, 0, 1388, 0, 0, 0], [0, 0, 0, -4320, 0, -10051, -338, -25], [0, 0, 0, 5974, 0, 11626, 377, 603], [-16853, 1024, -935, 0, 907, 0, 0, 0], [0, 0, 0, 3409, 0, -9083, -1928, 385], [2665, -1268, 1146, 0, 1373, 0, 0, 0], [0, 0, 0, 8940, 0, -4421, -1328, 77], [-58568, 487, 235, 0, -65, 0, 0, 0], [0, 0, 0, -7200, 0, 9084, -730, 549], [60650, 325, -212, 0, -1403, 0, 0, 0], [7713, 4689, -97, 0, -54, 0, 0, 0], [0, 0, 0, -12249, 0, 7167, -1113, -240], [-23863, -2098, 372, 0, -311, 0, 0, 0], [0, 0, 0, -7762, 0, 11071, 260, 1008], [40695, -1825, -87, 0, 750, 0, 0, 0], [104207, 677, 473, 0, -2118, 0, 0, 0], [57907, 918, -327, 0, 1763, 0, 0, 0], [50028, -1187, 536, 0, -895, 0, 0, 0], [0, 0, 0, 13442, 0, 3604, 2100, 1131], [0, 0, 0, 4152, 0, 3056, -841, 676], [23050, -1353, -141, 0, 358, 0, 0, 0], [0, 0, 0, -13554, 0, -2081, 2656, 394], [51012, 577, -200, 0, -177, 0, 0, 0], [0, 0, 0, -3393, 0, 7067, 211, 1386], [0, 0, 0, -10685, 0, 3054, -2622, -349], [0, 0, 0, -14423, 0, -850, -2057, -440], [18998, 818, -1562, 0, -854, 0, 0, 0], [142536, -30, 307, 0, -35, 0, 0, 0], [0, 0, 0, -12463, 0, 1852, 729, -526], [117953, -293, 1067, 0, -1006, 0, 0, 0], [-21191, -2547, 897, 0, -1984, 0, 0, 0], [46753, -1797, -1275, 0, 228, 0, 0, 0], [0, 0, 0, 16153, 0, -5100, 1617, -1012], [41805, 972, 884, 0, 1495, 0, 0, 0], [0, 0, 0, -11818, 0, -7846, 146, -915], [0, 0, 0, -2541, 0, -2256, 2161, 194], [0, 0, 0, -12959, 0, 6345, -668, 175], [71086, -3097, -706, 0, 575, 0, 0, 0], [-51480, 1584, 1158, 0, 650, 0, 0, 0], [0, 0, 0, 9390, 0, -1546, 1990, -2131], [75573, 773, -1153, 0, 2110, 0, 0, 0], [0, 0, 0, 4252, 0, 4758, -805, 961], [0, 0, 0, 4145, 0, -10994, 409, 483], [0, 0, 0, 10031, 0, 2735, -824, -1561], [15240, -3576, 150, 0, -766, 0, 0, 0], [-65768, -30, 342, 0, 1112, 0, 0, 0], [-29546, 1147, -1484, 0, -745, 0, 0, 0], [0, 0, 0, -11153, 0, -7494, 3012, 803], [25478, -408, -436, 0, 448, 0, 0, 0], [61752, -2695, 2146, 0, -491, 0, 0, 0], [0, 0, 0, 11452, 0, 5918, 995, -159], [42744, -53, 2221, 0, 1702, 0, 0, 0], [0, 0, 0, 648, 0, 1790, -1890, -1389], [-21648, -11, -1030, 0, -849, 0, 0, 0], [77027, -438, -902, 0, -2267, 0, 0, 0], [-108671, -1371, 223, 0, -1978, 0, 0, 0], [0, 0, 0, 2307, 0, 13634, 1014, 3], [39397, 2733, 581, 0, 2432, 0, 0, 0], [-25883, 2984, -1205, 0, 319, 0, 0, 0], [0, 0, 0, -23255, 0, -852, 3897, 667], [-21636, 541, -90, 0, 1881, 0, 0, 0], [0, 0, 0, 10334, 0, 3777, -4551, -1353], [-70150, -3493, 650, 0, 1013, 0, 0, 0], [0, 0, 0, -8636, 0, -4128, -2641, -24], [0, 0, 0, -6670, 0, 3130, 4229, 9], [0, 0, 0, 257, 0, 13619, 639, -1597], [0, 0, 0, 19213, 0, 3448, -771, 1592], [6505, 2016, 132, 0, 1921, 0, 0, 0], [-27985, 4981, -459, 0, -216, 0, 0, 0], [165301, 2210, 318, 0, 428, 0, 0, 0], [0, 0, 0, 7465, 0, 509, -1491, 2017], [0, 0, 0, -12188, 0, -4068, -2810, 1116], [-30832, 353, -202, 0, 173, 0, 0, 0], [0, 0, 0, -5703, 0, 11208, -1089, -41], [34120, -1563, -1162, 0, -203, 0, 0, 0], [0, 0, 0, 4481, 0, -13132, 2667, 1444], [92305, 1364, 520, 0, 272, 0, 0, 0], [0, 0, 0, -9615, 0, -1894, -2405, -2401], [95803, -2252, -388, 0, 922, 0, 0, 0], [0, 0, 0, -11760, 0, -6853, -1115, 1024], [-30609, -3923, 191, 0, 310, 0, 0, 0], [148496, 1754, 709, 0, 2098, 0, 0, 0], [0, 0, 0, 2572, 0, -15974, 112, -2460], [0, 0, 0, -6217, 0, -2690, -2452, -2161], [-33497, 145, -1800, 0, -175, 0, 0, 0], [-66541, -483, -1635, 0, 1794, 0, 0, 0], [0, 0, 0, -13403, 0, 5698, 2261, -907], [17722, -4296, 403, 0, -5, 0, 0, 0], [-22613, 2463, 975, 0, 3150, 0, 0, 0], [0, 0, 0, -21899, 0, 3534, -226, -547], [0, 0, 0, 21874, 0, 2822, 336, 2877], [0, 0, 0, -4803, 0, 10066, -899, -1469], [94395, -285, 1425, 0, -2712, 0, 0, 0], [-69284, 714, -2408, 0, -2002, 0, 0, 0], [0, 0, 0, -7043, 0, 16721, 1969, 397], [0, 0, 0, 4649, 0, -3461, 1606, -272], [0, 0, 0, 1459, 0, 3726, 3398, -845], [21944, 1587, -854, 0, -1851, 0, 0, 0], [-35810, 1449, -237, 0, -1967, 0, 0, 0], [71238, -2967, 1272, 0, -317, 0, 0, 0], [-37157, -82, 2702, 0, 2733, 0, 0, 0], [0, 0, 0, -1958, 0, -4526, -362, -1111], [11780, 1788, -106, 0, -604, 0, 0, 0], [0, 0, 0, -14845, 0, 3754, 3097, 1546], [0, 0, 0, -5040, 0, -3644, 849, 1844], [0, 0, 0, -3375, 0, -5170, -1699, 1695], [-109127, 292, 2073, 0, 1223, 0, 0, 0], [0, 0, 0, -5705, 0, -7584, -831, 2622], [-23098, 1770, 946, 0, 296, 0, 0, 0], [0, 0, 0, -1936, 0, -8641, 945, -1179], [0, 0, 0, -18905, 0, 1487, -3444, -3566], [0, 0, 0, 2869, 0, -11852, 1549, -684], [-74488, 4725, -656, 0, -623, 0, 0, 0], [-67415, -1579, 184, 0, -958, 0, 0, 0], [0, 0, 0, -5986, 0, -2568, -2055, 1060], [0, 0, 0, 3522, 0, 14816, -2508, -3239]];
    aps := ConvertToHeckeField(raw_aps);
    chi := MakeCharacter_2450_a_Hecke( : Kf := Universe(aps));
    return ExtendMultiplicatively(weight, aps, chi);
end function;


// To make the newform (type ModFrm), type "MakeNewformModFrm_2450_4_a_da();".
// 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_2450_4_a_da(:prec:=8)
    chi := MakeCharacter_2450_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_2450_4_a_da();".
// 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_2450_4_a_da( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_2450_a();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,4,sign)));
    Vf := Kernel([<3,R![4900, 0, -18662, 0, 5573, 0, -146, 0, 1]>,<11,R![-636127, 118654, -4150, -18, 1]>,<19,R![76252888644100, 0, -999855668868, 0, 420361613, 0, -39264, 0, 1]>,<23,R![-47065480, 2970884, -36231, -82, 1]>],Snew);
    return Vf;
end function;