
// Make newform 97.4.a.b in Magma, downloaded from the LMFDB on 12 September 2025.
// To make the character of type GrpDrchElt, type "MakeCharacter_97_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_97_4_a_b();".
// 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_97_4_a_b();".
// 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 := [-163840, 593920, 526848, -527808, -276120, 172887, 55923, -26087, -5334, 1958, 239, -71, -4, 1];
        Kf := NumberField(Polynomial([elt : elt in poly]));
        AssignNames(~Kf, ["nu"]);
    end if;
    Rf_num := [[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [-12, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [-7809331200, 1602484224, 20118793152, 14091384280, -8818271469, -5334729473, 1647631757, 668025298, -149967570, -34136405, 6525453, 613980, -108619], [-27375296512, 105219010048, 96941380992, -85818768224, -39825206663, 24229929421, 4792079535, -2804653802, -164522766, 139431665, -3129217, -2493540, 185559], [5616975872, 230252032, -14919783872, -17407592448, 7509188041, 7862623837, -1991818881, -1117628746, 233502386, 62830017, -11803185, -1212356, 215015], [15790596096, -74207747072, -30383106560, 63894457088, 8231457173, -18232252071, 99075731, 2139792062, -152699318, -108366483, 11591651, 1966924, -253221], [-5773678592, 21141427648, 14708399144, -16944984677, -5463211731, 4989995907, 504279852, -599627838, 4467439, 30686843, -2054858, -559979, 58026], [549824000, -13790185472, 459488024, 15388286589, -1757798712, -5106093610, 789084463, 653690732, -108732877, -35003118, 5854021, 657615, -109607], [-38214287360, 109822751744, 43585191488, -138791896832, -5133492597, 48462160519, -3705425203, -6282127678, 745178998, 336024179, -46108867, -6292108, 929925], [63928991744, -308127101952, -137003384448, 291658187528, 31065473267, -90993878593, 3501075645, 11283459346, -1108249794, -591367509, 74413213, 10962220, -1548219], [-15170928640, 53083968000, 29721004312, -52040189365, -7764740603, 16657915867, -340024796, -2089228942, 186071039, 110117587, -13300962, -2048187, 283378], [174041387008, -706250725888, -374827186880, 674408668032, 101177806049, -210367039019, 2722574503, 25954307014, -2127157022, -1352237671, 156082295, 24946140, -3358641]];
    Rf_basisdens := [1, 1, 1, 840994816, 840994816, 840994816, 840994816, 105124352, 105124352, 840994816, 840994816, 105124352, 840994816];
    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_97_a();"
function MakeCharacter_97_a()
    N := 97;
    order := 1;
    char_gens := [5];
    v := [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_97_a_Hecke( : Kf := Kf)
    return MakeCharacter_97_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 := [[1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 1, -1, 1, 0, -1, 0, 0, 0, 0], [4, 0, -1, -1, 1, -1, 1, 0, 0, 0, 0, 0, 1], [11, -1, 0, -1, 0, 0, 2, 1, 0, -1, 1, -1, -1], [2, 0, 0, 0, 1, -1, 1, 1, -1, -2, 0, 0, 1], [8, 11, -2, 0, 4, 0, 0, 1, 1, 3, -2, 0, 1], [8, 6, 0, 4, 7, -4, 1, -2, -1, 2, -1, 2, -1], [43, 14, -2, -2, -2, 9, -2, 0, 2, 0, 1, 4, 1], [16, 5, 5, -5, -1, -12, -9, -4, 11, 3, -7, 0, 6], [-17, -5, -10, -1, 6, 2, -5, 0, 8, 5, -7, 6, -4], [9, -15, 1, 6, -6, 15, -3, 0, -1, -1, 8, -6, -10], [-6, -5, 2, 0, 1, -1, -11, 0, 6, -7, -6, 12, 18], [0, -16, 2, -9, 5, -25, 39, -10, -2, 10, -15, 0, 8], [101, -6, 20, 7, -2, -4, 13, 1, 9, 10, -1, -2, -13], [102, -20, 14, 0, 15, -25, 9, -19, 21, 2, -16, 6, 5], [20, 14, 4, -2, -18, 15, 22, 27, -32, -20, 17, -16, 6], [-34, -39, 4, 8, -6, 28, -34, 11, 7, -11, 2, -18, -23], [33, -21, 36, 9, 20, -49, -1, -1, 10, 3, -22, -10, 2], [191, 27, -24, 7, -20, 7, -3, -7, -2, -9, 8, -20, 6], [108, -56, 28, 9, -48, -10, -12, -5, -11, -6, 5, -10, -27], [158, -36, -4, 38, 9, -1, 9, 13, -13, 22, 24, -2, -7], [227, -86, -4, 27, -23, 36, 28, 25, -22, -46, 22, -6, -12], [173, -54, -22, 1, 29, 3, -7, -37, 10, 2, -33, 3, 23], [-97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [77, 10, -102, 1, -13, 5, -136, -22, 36, 62, -27, 22, -22], [86, -79, -2, 48, -53, 35, -91, -26, 54, 45, -48, 2, 24], [390, -9, -12, -74, 32, 7, 94, 28, -19, -49, 9, 12, 15], [-127, -80, 74, 15, 7, 33, -18, 14, -54, -40, 55, -48, -4], [-231, -132, -44, 34, 8, -4, -51, 66, 10, -4, 30, -2, -28], [-232, 173, 36, -5, 72, -39, -35, -50, 16, -11, -22, 0, 69], [73, 117, 20, 23, -51, 22, -122, -38, -25, -9, -18, -4, -23], [139, 151, 16, 19, 4, 60, 105, 4, -10, 53, 69, -50, -26], [-493, 109, -2, -47, 29, 34, 142, 62, -71, 23, 2, -8, -57], [159, -79, 110, 20, 32, -80, 74, -52, -11, -1, 18, 36, 74], [-49, 207, -20, -1, 53, 105, -14, -19, 3, -45, -9, 62, 1], [-1140, 247, -10, -25, -28, 66, 107, 65, -144, -101, 53, -32, -39], [495, 303, -22, -46, 5, -31, 60, -78, 0, 67, 14, 56, -20], [974, 108, 50, 120, -117, -5, -57, -109, 55, -6, 82, -44, -53], [312, -42, 23, 183, 100, -41, -2, -124, -25, 110, -37, 18, -72], [168, -408, 92, 110, 80, -153, 8, -79, 40, 82, -169, -56, -10], [-660, 22, -40, -39, -93, 87, -22, 93, -30, -164, 85, 40, 15], [604, -319, 34, 78, -150, 108, -178, 55, -5, -5, -92, -108, -47], [-556, -150, -76, 58, -71, 19, -12, -10, 177, 84, -100, -33, 28], [944, 188, 66, -36, -27, 37, 81, -51, -7, 82, -16, 18, 39], [178, -88, 124, 60, 24, 37, -22, 121, -112, -38, 115, -8, -22], [648, -37, 196, -32, -188, 105, 54, 58, -53, -165, 17, -88, 23], [-268, 429, -138, -83, -7, 38, 216, 89, -169, -189, 22, 64, 116], [146, 163, -160, 40, 29, 9, 2, 75, -96, -43, 112, 81, -73], [-1084, 139, 88, 66, -229, -13, -73, 22, -32, 45, 188, -70, -74], [-61, 51, -124, -189, 41, -21, 120, -49, -13, -173, -71, 52, 87], [-159, -254, -149, -100, -51, 199, 152, 159, -167, -118, 47, 160, -112], [-245, 25, 228, 142, -125, 171, -52, -54, 132, 7, 96, -44, -70], [238, -228, -164, 74, 249, -98, 137, 36, -59, -64, 125, -36, -75], [-225, 227, 10, -83, 161, -59, 456, -69, 33, -129, 35, 228, 79], [1912, 99, 105, 97, 270, -100, -260, -150, 64, 155, -30, -52, 141], [-1490, 150, -198, -76, 78, -84, -134, 72, -346, -30, 188, -32, 98], [380, 196, -9, 103, 2, -44, -228, -27, -11, 290, -40, -78, 92], [-879, -308, -126, 84, -93, -9, -113, -60, 325, 240, -144, 32, -240], [559, -566, 312, 61, 11, -129, -100, -66, -24, 98, 17, -72, 98], [1029, -395, -32, -5, -89, -41, -371, 94, -235, 3, 21, -41, -10], [902, -238, -162, -182, -237, 327, 79, 157, 35, -68, 18, 146, -173], [434, 453, -70, -62, -12, -106, 185, -150, -349, -11, 178, -81, 80], [254, -187, -6, -315, -48, -235, 191, 160, 30, -79, -314, 124, 201], [-622, -7, 24, 138, -237, 307, 116, 317, -308, -417, 418, -93, -285], [136, 22, 67, -167, 107, -148, 479, 179, -132, -68, -7, 172, 49], [2047, 326, 40, -95, 171, -260, 254, -165, 194, -78, -222, 202, 288], [-1936, 666, -366, 114, 444, -54, 782, -6, -168, -202, -102, 20, 342], [-620, 443, 26, 192, -158, 99, -168, 32, -135, -149, 467, -234, -321], [-295, 528, 105, -170, -349, 36, -428, 16, 325, -192, -102, 14, -16], [646, -743, 280, 210, 53, -47, -498, -99, 264, 219, -110, -255, -111], [1446, 684, 22, 137, 119, 110, 116, 224, -138, -252, 318, 38, -249], [1486, 483, 114, -210, 290, -301, 656, 0, -171, 43, -263, 86, 361], [2761, -351, -168, 92, -64, -78, -410, 108, -47, 75, -74, -400, 42], [301, -687, 74, -212, -152, -242, -461, -165, 239, 171, -110, -46, 65], [884, 1351, -104, -9, -199, 574, -1158, -133, 103, -59, 106, 4, -200], [-339, 126, -194, -145, 88, -96, 399, -1, -329, 136, 71, 74, 133], [-8, 194, 534, 16, 270, -116, -202, -20, 8, 130, -300, -56, 172], [776, 1231, -68, -264, -326, 472, -58, 329, 167, -213, -154, -56, -219], [311, 314, 18, 193, -35, -193, -394, -406, 42, 622, -171, 118, -46], [333, 668, 518, 111, -39, 119, 782, -78, 174, -262, 65, 118, 56], [216, 443, -808, -296, -382, 524, -726, -131, 219, -149, 34, 182, -87], [430, 448, 372, 550, -401, 199, -563, -209, 249, 502, 6, -342, -491], [-1924, -855, 136, 406, -79, -95, -369, 2, 102, 179, -12, -134, -44], [-767, -100, 665, -140, -358, -224, 279, 38, 0, -10, 29, 280, 87], [-1874, -1790, -124, -162, 258, -531, -622, -293, 396, -144, -597, 236, 664], [632, -1187, 312, -605, 175, -235, -51, -327, 613, -39, -443, 88, 677], [1267, 1186, 124, -339, -392, 398, -811, 219, 89, 84, -211, -42, -51], [1050, 26, -122, -164, 84, 218, -358, 420, -272, 30, 148, -40, -522], [2715, -705, -224, 273, 5, 225, -1182, 87, 253, 123, 69, 106, -449], [422, 778, 434, -371, -7, 157, 317, 76, 218, -352, -55, -162, 296], [2940, -83, 398, -392, -746, 502, -296, -19, -455, -437, 196, -172, 29], [-764, -993, 174, -368, 479, -595, 179, -466, 884, -33, -602, 276, 474], [-2123, 250, -76, -691, 281, 197, 709, 141, 76, 178, -467, 187, 699], [548, 427, -642, 364, -13, -94, -303, -311, 186, 377, -35, 94, -44], [3139, -1460, -406, 39, -643, 947, -372, 518, -358, 194, 601, -310, -504], [-1612, 483, -70, 112, -263, -233, -801, -168, 10, 249, -78, -116, -318], [3948, -1267, -506, 53, -60, 10, 676, -44, 312, -73, 463, 6, -54], [-6073, 230, -360, -371, 191, -282, -600, -309, 134, 34, -224, 446, 50], [-2522, 155, -100, -416, 230, -412, 376, 193, -75, 159, -178, -16, -57], [-1434, -1851, -338, 36, -600, 856, -1006, 317, -13, 47, 472, 62, -511], [2633, 825, 552, 113, -871, 791, 304, 225, -341, -1019, 395, -166, -623], [-5539, 1060, 378, -39, 311, -476, 228, 405, -228, 140, -116, -124, -60], [2880, -1202, -796, -394, 937, 231, 767, 537, 53, -568, -430, 70, 515], [-3423, -1140, 68, 261, 133, -33, 825, -123, -246, -192, 731, -293, -131], [-1327, 1226, 10, -511, 266, -6, -673, -483, 751, 188, -115, 866, 179], [4511, -757, -486, 193, -295, 46, -1238, -344, 459, 549, -798, -324, 437], [2681, -425, 490, -314, -439, 691, 336, 198, -50, -63, 260, 76, -396], [536, 2854, -519, 265, 545, -871, -927, -582, 720, 302, -406, 164, 347], [2431, 330, 216, 135, -539, 881, 184, 92, -356, -198, 559, 266, -552], [3909, -2751, -598, -525, 585, -183, 494, 209, -555, -431, -43, 482, 319], [-118, 2423, -222, -44, 399, -335, 1485, 496, -304, 61, 374, 62, -582], [-750, -456, 548, 798, 694, -110, -85, 309, -624, -12, 120, -219, 9], [-763, 1687, 284, 33, 263, 968, 936, 356, -1251, -727, 1240, -178, 91], [-2731, 505, -330, -209, 305, -535, -100, 319, -651, -139, 505, -624, 169], [-5744, 1971, 6, -722, -20, -460, 802, -79, -113, 439, 32, -320, 1], [-2402, 400, -380, -408, 62, 356, 393, 419, 144, 366, 116, 735, -447], [2935, 184, -284, 651, 1254, -930, -197, -635, 455, 836, -679, 384, -51], [2775, 1909, 1, -416, -300, 85, 1965, 560, -273, -369, -558, 274, 210], [-2521, -3157, -118, 675, -387, 78, -1040, 220, -1007, -639, 812, -268, -947], [1507, 245, -238, 1015, -118, 68, 701, -86, 528, 639, -15, -216, -842], [3262, -1156, 72, 101, -575, 325, -1299, 364, 1104, -64, -611, -498, -38], [2358, 1835, -1020, 1082, 217, 785, -1279, -172, 340, 265, -156, 26, -542], [2443, 1293, -1088, -1265, -446, 796, -296, 35, 408, 613, -253, 599, 415], [-1719, -646, -576, 1051, 200, -38, -1398, -728, 289, 932, -319, -353, -650], [197, 1505, 966, 1399, -37, -689, -1322, -1243, 901, 969, -1187, -130, -677], [462, -151, 228, -1559, 637, 187, 2074, 40, 9, -153, -725, 452, 730], [5003, 551, 530, 74, -479, -286, 311, 414, -500, -171, -55, -938, -775], [2852, 402, -478, -634, -986, 302, 134, 682, -354, -130, -356, -170, -252], [3086, 2005, 240, 300, 511, 435, 115, 336, 20, -893, 1062, -200, 96], [-7641, -113, 1144, 101, 795, -664, 80, 38, 337, -307, -664, 674, 785], [7530, -824, 1160, 944, -806, -58, -2918, -876, 418, 872, -572, -440, 152], [922, 3183, -90, -606, 351, -35, -791, -300, 402, 319, -752, 292, 456], [-3980, -843, 949, 177, -1091, -154, -123, 4, 243, -121, 555, -1278, -642], [4250, -2319, -642, -364, -651, -225, -1029, 788, -712, -229, 270, -380, 118], [5849, 289, -1390, -29, 1846, -948, -139, -646, 42, -41, -791, 126, 804], [-1632, -2951, 440, 544, -611, 425, 631, -12, 36, 743, 110, 316, -10], [-5982, 182, -1262, 132, -192, 1518, -1053, -589, -192, 376, -210, 891, 47], [126, -117, 677, 129, 286, 209, 910, 757, -1598, -1901, 883, 576, -339], [9351, 2263, 64, -1210, -866, 592, 69, 1159, -169, -577, 48, 244, 487], [-8727, -1648, 116, -678, 561, -1393, 138, -1179, -9, 482, -816, 406, 325], [4048, 487, 916, 1702, -882, 928, -1894, -1081, 767, 1203, 136, -120, -1111], [-6024, -399, 76, 376, -2431, 1911, -671, 1150, -104, -435, 892, -292, -1280], [3096, 1921, -944, -370, 259, 276, -1329, 25, 134, 631, -305, -718, 188], [4509, 693, 378, -385, -14, -1308, 2667, -300, -770, -325, 613, -24, 886], [13019, -277, -681, 1182, 759, 419, 220, -798, -120, 317, 25, 230, 147], [4909, -3063, -531, 24, 979, -938, 1636, -779, -1090, 809, -546, 12, 453], [7593, 3154, -996, -567, 1160, -1430, 1383, -531, -641, 572, -259, 806, 229], [2276, -1069, -28, 1134, 459, -872, 875, -181, -868, 1333, 723, 42, -574], [-998, 1384, -72, -538, 995, -1320, 1459, 542, -859, -352, 829, -128, 393], [7747, -1663, 920, 2025, -198, -1898, -891, -108, -328, -13, 87, -1594, -126], [-424, 2788, 258, -1420, 531, -117, 1791, -201, -69, -270, 308, 592, 921], [-8207, -1292, -604, 133, -638, -469, -259, -1544, 1063, 810, -850, -52, 743], [15016, 239, 406, 668, 202, 85, 602, 708, -117, -469, -111, -418, 443], [-2195, 939, 1714, 1045, 63, -240, -790, -970, 1029, 781, -194, -376, -333], [6849, -1456, 1732, 932, 1697, -2298, 1203, -1793, -211, 916, -297, -276, 1146], [-1567, -2264, 686, -553, -202, 1859, 373, 322, 547, -850, 906, -858, 221], [-4040, 74, 898, 154, -320, -462, 2724, 168, -2084, 530, 458, -548, 304], [-8107, -4584, -1422, -1125, 414, 686, -188, 1120, -823, -110, -491, 713, 520], [-9896, 1197, 1308, -9, 1562, -1738, 2437, 859, -1300, -235, 305, -240, -505], [-381, 1775, -230, -1273, 462, -2441, 1883, -623, 386, -109, -216, 642, 2100], [-4838, 110, 1554, 504, 407, -1869, -2793, -1309, 1209, 1564, -1276, -570, -43], [-552, -1801, -434, 30, 668, -938, 30, -1675, 783, 841, -1020, 1002, 1175], [-10968, 773, 614, 742, -674, 390, -2006, -211, 279, 891, 1446, -362, -1415], [5273, 2293, -756, -373, 905, 591, -922, -199, -675, -511, -443, -90, 741], [14200, -4048, -1096, 925, 6, 639, 1131, 721, 33, 262, 938, 210, -1454], [-13144, -3325, 568, -1133, -1411, 612, 1418, 941, -169, -75, 764, -792, 480], [10775, -913, -100, -525, -584, 2396, 2461, 388, 146, -427, 637, -202, 174]];
    aps := ConvertToHeckeField(raw_aps);
    chi := MakeCharacter_97_a_Hecke( : Kf := Universe(aps));
    return ExtendMultiplicatively(weight, aps, chi);
end function;


// To make the newform (type ModFrm), type "MakeNewformModFrm_97_4_a_b();".
// 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_97_4_a_b(:prec:=13)
    chi := MakeCharacter_97_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(997) - 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_97_4_a_b();".
// 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_97_4_a_b( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_97_a();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,4,sign)));
    Vf := Kernel([<2,R![-352512, -46400, 765608, 184136, -412938, -65853, 96158, 5527, -10635, 278, 520, -41, -9, 1]>],Snew);
    return Vf;
end function;