
// Make newform 153.4.l.a in Magma, downloaded from the LMFDB on 23 April 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_153_l();"
// To make the character of type GrpDrchElt with Codomain the HeckeField, type "MakeCharacter_153_l_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_153_4_l_a();".
// 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_153_4_l_a();".
// 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 := [16384, 0, 49664, 0, 38276, 0, 9836, 0, 1085, 0, 54, 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, 0, 0, 0], [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [-2889728, -1741056, -4623456, -729732, -1728288, -73516, -268600, -1725, -17680, 10, -408, -1], [2889728, -1741056, 4623456, -729732, 1728288, -73516, 268600, -1725, 17680, 10, 408, -1], [2432, 0, 5498, 0, 3051, 0, 569, 0, 41, 0, 1, 0], [12462080, 17121536, 23023520, 20629572, 5701600, 5292396, 387400, 502765, 2800, 19350, -280, 241], [12462080, -17121536, 23023520, -20629572, 5701600, -5292396, 387400, -502765, 2800, -19350, -280, -241], [-5347328, -1301760, 1717664, -10989460, 2176992, -3460060, 459720, -386545, 34800, -18510, 872, -325], [5347328, -1301760, -1717664, -10989460, -2176992, -3460060, -459720, -386545, -34800, -18510, -872, -325], [0, 239872, 0, 336716, 0, 114052, 0, 15367, 0, 898, 0, 19], [2048, -361216, -211424, -577932, -86432, -216036, -7960, -33575, -80, -2210, 8, -51], [-2048, -361216, 211424, -577932, 86432, -216036, 7960, -33575, 80, -2210, -8, -51]];
    Rf_basisdens := [1, 1, 1392640, 1392640, 544, 1392640, 1392640, 1392640, 1392640, 69632, 174080, 174080];
    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_153_l();"
function MakeCharacter_153_l()
    N := 153;
    order := 8;
    char_gens := [137, 37];
    v := [8, 7];
    // 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_153_l_Hecke();"
function MakeCharacter_153_l_Hecke(Kf)
    N := 153;
    order := 8;
    char_gens := [137, 37];
    char_values := [[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 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<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+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, -1, 0, 0, 0, 0, 0, 0, 0, 0, -1], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [2, 0, -1, -2, 1, -1, 1, 0, -1, 1, -1, 0], [-2, -1, -2, 0, -2, 2, 0, 2, 0, 0, 1, -2], [-2, -7, 2, -8, -1, 1, 0, -1, -5, -8, -7, 1], [0, -6, 11, 11, 0, -3, 3, -4, -4, -2, 6, 6], [-12, -4, -10, -6, -1, -4, 8, 1, -2, -31, 8, -15], [-14, -19, 16, 0, -19, -3, 3, 3, -3, -14, 0, -14], [20, 9, -20, 24, -24, 0, 0, 0, 0, 24, 9, 24], [-51, 10, -88, 51, 3, 9, -14, 0, 14, 88, -3, -10], [6, -3, -74, 6, -4, 0, -6, 14, -6, -74, -4, -3], [98, 26, -73, 98, 15, 0, 12, -9, 12, -73, 15, 26], [1, 21, 1, 44, 7, 23, 12, 23, 0, -44, -21, 7], [-136, -6, 0, -116, 6, -1, -28, 28, 1, 136, 18, 0], [0, -30, 0, 0, 0, 6, -6, -22, -22, -112, 52, 52], [-29, -39, -236, 0, -39, -40, -13, -13, -40, -29, 0, -58], [94, -54, 0, -356, 54, -15, -14, 14, 15, -94, -110, 0], [-54, -68, -54, 51, 85, -29, -1, -29, 0, -51, 68, 85], [144, 0, 128, -128, 50, 25, 25, -66, 66, 0, 35, -35], [16, -43, 50, 16, 44, 0, 42, -14, 42, 50, 44, -43], [139, 5, 42, -139, 73, 70, -41, 0, 41, -42, -73, -5], [-42, -27, 42, -6, 6, -64, 0, 64, 24, -6, -27, -6], [118, -16, 272, 0, -16, 12, 19, 19, 12, 118, 0, 94], [0, 96, -249, -249, 0, 21, -21, -53, -53, 194, 7, 7], [22, -104, -331, -22, 108, -28, 75, 0, -75, 331, -108, 104], [-58, 0, -91, 91, -112, 68, 68, -149, 149, 0, 32, -32], [88, 0, -14, 14, 104, 70, 70, -58, 58, 0, -278, 278], [-628, -59, 228, 628, 119, 101, -52, 0, 52, -228, -119, 59], [-204, -100, -204, 611, -173, -5, -49, -5, 0, -611, 100, -173], [526, -243, -526, 101, -9, -54, 0, 54, 8, 101, -243, 9], [124, 131, 0, -356, -131, 152, -72, 72, -152, -124, -124, 0], [164, 164, 864, -164, 194, -261, 75, 0, -75, -864, -194, -164], [-18, 0, 519, -519, 18, 189, 189, -104, 104, 0, -128, 128], [284, 46, 62, 284, 306, 0, 132, -219, 132, 62, 306, 46], [0, -130, 700, 700, 0, -59, 59, 117, 117, -1100, -52, -52], [-438, -111, -552, 0, -111, -220, 8, 8, -220, -438, 0, 172], [0, 270, 796, 796, 0, 17, -17, -51, -51, 624, 0, 0], [36, -271, 36, 6, 37, 70, 159, 70, 0, -6, 271, 37], [-728, -91, -486, -728, -54, 0, 96, -268, 96, -486, -54, -91], [505, 52, 664, 505, 301, 0, 21, -217, 21, 664, 301, 52], [844, -145, 0, 748, 145, -155, 109, -109, 155, -844, 114, 0], [-98, -552, 98, -347, 105, 82, 0, -82, -83, -347, -552, -105], [0, 186, 470, 470, 0, 424, -424, 24, 24, 1600, 110, 110], [-321, 245, 321, -664, -667, -83, 0, 83, -128, -664, 245, 667], [89, -26, 89, -432, 25, 282, 119, 282, 0, 432, 26, 25], [1360, 207, 184, -1360, 560, 80, -232, 0, 232, -184, -560, -207], [114, 324, 114, -634, 178, 201, -209, 201, 0, 634, -324, 178], [-918, 477, 752, 0, 477, -64, -64, -64, -64, -918, 0, -432], [2082, 92, -2082, 128, 154, 94, 0, -94, -111, 128, 92, -154], [-1104, 337, 0, 286, -337, -240, 6, -6, 240, 1104, 234, 0], [-552, -208, -465, 552, 216, -58, -103, 0, 103, 465, -216, 208], [1944, 0, 470, -470, -176, -152, -152, -20, 20, 0, -530, 530], [1349, 144, -1564, 1349, 216, 0, 192, -312, 192, -1564, 216, 144], [0, 528, -46, -46, 0, 6, -6, -245, -245, -2228, -47, -47], [-2138, -46, -1542, 0, -46, 62, 153, 153, 62, -2138, 0, 232], [-490, 697, 0, -3416, -697, -168, -70, 70, 168, 490, 756, 0], [-964, -988, 957, -964, -447, 0, -598, 377, -598, 957, -447, -988], [1276, 0, 702, -702, -276, -236, -236, -28, 28, 0, 10, -10], [-1629, 390, 1244, 1629, -683, 467, 238, 0, -238, -1244, 683, -390], [1293, 365, 0, 404, -365, 416, 271, -271, -416, -1293, -256, 0], [614, 91, -614, 1164, 567, -3, 0, 3, -85, 1164, 91, -567], [0, -462, 1058, 1058, 0, -696, 696, -186, -186, 1302, -216, -216], [480, 0, 438, -438, 680, 106, 106, 380, -380, 0, -92, 92], [-232, -99, 378, 232, 578, 28, 480, 0, -480, -378, -578, 99], [-1787, 468, -1787, 560, -704, 92, -160, 92, 0, -560, -468, -704], [1013, -152, -1013, 1970, -305, 275, 0, -275, -163, 1970, -152, 305], [2204, -8, 0, -1376, 8, -477, 358, -358, 477, -2204, -106, 0], [1167, -507, -492, 1167, -55, 0, -159, -474, -159, -492, -55, -507], [-2730, -482, -2730, 944, -268, 573, -1089, 573, 0, -944, 482, -268], [541, 899, 0, 2396, -899, 443, 556, -556, -443, -541, -558, 0], [0, 552, 4656, 4656, 0, -492, 492, -225, -225, 1270, -123, -123], [-798, 1013, -1420, 0, 1013, 192, 334, 334, 192, -798, 0, -312], [558, -497, 558, -788, -36, -106, -838, -106, 0, 788, 497, -36], [-3746, 0, -1663, 1663, 444, -228, -228, 229, -229, 0, 1078, -1078], [-46, -876, -2202, 46, 1074, 321, -109, 0, 109, 2202, -1074, 876], [-2290, 91, 0, -2172, -91, -262, -302, 302, 262, 2290, -1052, 0], [2914, 921, -512, 0, 921, 279, -279, -279, 279, 2914, 0, 1926], [1760, 598, -1760, 2029, -877, 534, 0, -534, 495, 2029, 598, 877], [-3833, 608, -3833, -182, -990, 186, -652, 186, 0, 182, -608, -990], [1016, 0, 124, -124, -1990, -28, -28, -645, 645, 0, 643, -643], [-1968, 312, 1968, 2416, 568, 748, 0, -748, 1257, 2416, 312, -568], [0, -322, -3079, -3079, 0, 593, -593, 252, 252, -3158, -1500, -1500], [1326, -1197, -1326, -6414, 554, -296, 0, 296, 516, -6414, -1197, -554], [-1470, 91, 0, -6348, -91, -188, -474, 474, 188, 1470, 876, 0], [-3134, 447, 3252, -3134, 972, 0, 832, -350, 832, 3252, 972, 447], [5864, 0, 952, -952, 1330, 493, 493, -674, 674, 0, 467, -467], [-134, 1620, -134, -2655, -110, 785, 378, 785, 0, 2655, -1620, -110], [1352, 1105, 1458, 0, 1105, 107, 1009, 1009, 107, 1352, 0, -1772], [-6699, -509, 2032, 0, -509, -342, 181, 181, -342, -6699, 0, 174], [0, -1654, -5162, -5162, 0, 128, -128, -606, -606, 4148, -1460, -1460], [-124, -1201, 0, -2796, 1201, 411, 39, -39, -411, 124, 1262, 0], [-98, 83, -4894, -98, -1818, 0, -88, -832, -88, -4894, -1818, 83], [5872, 1877, -5872, 4126, 366, 560, 0, -560, -226, 4126, 1877, -366], [4706, -289, 1016, 0, -289, 711, -507, -507, 711, 4706, 0, -1162], [-1346, -1543, 1346, -2966, 1127, 823, 0, -823, 1507, -2966, -1543, -1127], [-5128, 333, -5128, -4090, -320, 664, -662, 664, 0, 4090, -333, -320], [-3316, 0, 458, -458, -316, 641, 641, 5, -5, 0, 2204, -2204], [-469, -848, 469, 2704, -944, -1300, 0, 1300, 24, 2704, -848, 944], [0, -2672, 3470, 3470, 0, -250, 250, -911, -911, -7436, -1509, -1509], [568, 288, -6201, 568, -1811, 0, -460, 565, -460, -6201, -1811, 288], [518, -1012, 2194, 518, -212, 0, 1030, 1291, 1030, 2194, -212, -1012], [0, -10, 4639, 4639, 0, 1251, -1251, 978, 978, 1422, -1466, -1466], [1236, 512, -2260, 0, 512, 120, -351, -351, 120, 1236, 0, 2338], [7403, -502, 0, -1580, 502, 52, 238, -238, -52, -7403, -288, 0], [-6358, 356, -6358, 6458, -902, -315, -301, -315, 0, -6458, -356, -902], [4422, 0, 921, -921, 536, 2072, 2072, -1041, 1041, 0, -1044, 1044], [196, 2469, 0, 6384, -2469, -1642, -270, 270, 1642, -196, -168, 0], [-8211, 32, -6080, 0, 32, 102, -320, -320, 102, -8211, 0, -3324], [0, -514, 4726, 4726, 0, -1094, 1094, -1144, -1144, 7696, -1572, -1572], [499, 959, -499, 5582, 341, -1415, 0, 1415, 1096, 5582, 959, -341], [1700, -1249, 2820, -1700, -1750, -198, 796, 0, -796, -2820, 1750, 1249], [6906, 0, -2656, 2656, -1996, 784, 784, 982, -982, 0, 1034, -1034], [-502, -339, -7615, 502, -1357, 2358, -280, 0, 280, 7615, 1357, 339], [1284, -667, 1284, -6658, 2087, 150, -119, 150, 0, 6658, 667, 2087], [3364, 2771, 2568, 0, 2771, -716, 1760, 1760, -716, 3364, 0, 948], [6508, -1345, -3639, -6508, 699, -1006, 426, 0, -426, 3639, -699, 1345], [-7806, -507, -2006, -7806, -1373, 0, 1035, 597, 1035, -2006, -1373, -507], [12988, 0, -2802, 2802, 676, 480, 480, 1012, -1012, 0, 202, -202], [313, -1444, 313, -3798, -2167, 330, 363, 330, 0, 3798, 1444, -2167], [0, -2514, -4200, -4200, 0, -2946, 2946, -530, -530, -3736, 156, 156], [-1023, 1673, 3888, 0, 1673, -1078, -51, -51, -1078, -1023, 0, -758], [1194, -123, 1194, -2351, -311, 44, -578, 44, 0, 2351, 123, -311], [-931, 3632, 6670, -931, -405, 0, -1641, -253, -1641, 6670, -405, 3632], [-2036, -2717, -7484, -2036, 1977, 0, -1225, -349, -1225, -7484, 1977, -2717], [6034, -505, -6034, -4916, -2257, -471, 0, 471, -341, -4916, -505, 2257], [0, -1834, -4729, -4729, 0, 763, -763, 2550, 2550, 2406, -698, -698], [-4145, 1844, -3318, 4145, 3299, -207, 982, 0, -982, 3318, -3299, -1844], [-2888, 3303, 2890, 2888, -4478, 402, -974, 0, 974, -2890, 4478, -3303], [0, 1662, 3368, 3368, 0, 80, -80, 12, 12, 6204, 340, 340], [4737, 4097, -1752, 0, 4097, 2254, -423, -423, 2254, 4737, 0, 1106], [5896, -1725, 0, 2744, 1725, -1254, 2126, -2126, 1254, -5896, 3488, 0], [-5204, -23, 700, 5204, 122, 2066, -1060, 0, 1060, -700, -122, 23], [-588, 31, 3522, -588, 708, 0, -1514, 3774, -1514, 3522, 708, 31], [-3420, 1795, 0, 6142, -1795, -250, -4254, 4254, 250, 3420, 166, 0], [0, 4708, 8205, 8205, 0, 254, -254, -1007, -1007, -890, 3912, 3912], [0, 76, 6865, 6865, 0, -762, 762, 1313, 1313, 3870, -528, -528], [8374, 3885, 0, 12912, -3885, -1579, -183, 183, 1579, -8374, 2866, 0], [4120, 1825, -14798, -4120, -5055, -1437, -370, 0, 370, 14798, 5055, -1825], [5357, 123, 1908, 0, 123, 2124, 1655, 1655, 2124, 5357, 0, -718], [-318, 1948, -318, 1517, 4622, 1137, -602, 1137, 0, -1517, -1948, 4622], [-1606, -1591, -10596, 1606, -2539, 471, -400, 0, 400, 10596, 2539, 1591], [-5411, -1842, -3160, 5411, 1885, -3689, 2114, 0, -2114, 3160, -1885, 1842], [14402, 4727, 14402, 2294, 588, -1142, 2592, -1142, 0, -2294, -4727, 588], [-10690, -2684, 10690, -5326, 144, -102, 0, 102, -3067, -5326, -2684, -144], [0, -98, -2948, -2948, 0, -2297, 2297, -2007, -2007, 9328, 3274, 3274], [-16764, 4475, 16764, 4990, -3496, 546, 0, -546, -932, 4990, 4475, 3496], [-4780, -3208, -10321, -4780, 2667, 0, -1266, 151, -1266, -10321, 2667, -3208], [15837, -953, 15837, -9828, 1427, -1875, 4074, -1875, 0, 9828, 953, 1427], [-2322, 2808, 0, 352, -2808, 1423, 3556, -3556, -1423, 2322, 650, 0], [0, 1766, -3410, -3410, 0, 1150, -1150, 1052, 1052, 2760, -2948, -2948], [-1690, -1794, -1690, 1043, -1215, 2473, -263, 2473, 0, -1043, 1794, -1215], [-12181, -3252, -6338, -12181, -1554, 0, -42, -644, -42, -6338, -1554, -3252], [-16920, 0, 122, -122, -1282, 1937, 1937, -500, 500, 0, -1085, 1085], [3588, 2461, -1832, 3588, 1032, 0, -804, 2748, -804, -1832, 1032, 2461], [-1862, -3569, 1862, 1000, -981, 721, 0, -721, -1377, 1000, -3569, 981], [8576, -5213, 8576, 2010, 92, 722, 4076, 722, 0, -2010, 5213, 92], [-12632, 0, -9324, 9324, 756, -448, -448, 2688, -2688, 0, -2048, 2048], [9641, 2297, -9641, -5270, 3551, 1103, 0, -1103, 3392, -5270, 2297, -3551], [4673, 957, -40, 0, 957, -656, 655, 655, -656, 4673, 0, -134], [-14519, -1316, 14519, 2134, 1575, -2881, 0, 2881, -1651, 2134, -1316, -1575], [-4500, -781, -2762, 4500, -1271, -2237, -86, 0, 86, 2762, 1271, 781], [-16754, 0, 1963, -1963, -4558, 1503, 1503, 3105, -3105, 0, 1439, -1439], [-8876, -2253, -7436, 0, -2253, -2954, 226, 226, -2954, -8876, 0, -12], [7320, -3204, 3368, 0, -3204, 442, 2479, 2479, 442, 7320, 0, 6218], [5077, 2092, 0, -328, -2092, 1086, -2688, 2688, -1086, -5077, -5792, 0], [13530, -453, -3100, 13530, 1154, 0, 854, -5658, 854, -3100, 1154, -453], [-5166, 1415, 9564, 5166, 2224, -770, 2874, 0, -2874, -9564, -2224, -1415], [-3781, -2974, 3781, -13280, 3027, 1319, 0, -1319, -967, -13280, -2974, -3027]];
    aps := ConvertToHeckeField(raw_aps);
    chi := MakeCharacter_153_l_Hecke(Universe(aps));
    return ExtendMultiplicatively(weight, aps, chi);
end function;


// To make the newform (type ModFrm), type "MakeNewformModFrm_153_4_l_a();".
// 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_153_4_l_a(:prec:=12)
    chi := MakeCharacter_153_l();
    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_153_4_l_a();".
// 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_153_4_l_a( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_153_l();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,4,sign)));
    Vf := Kernel([<2,R![3136, -21952, 76832, -54040, 18817, 468, 1320, -924, 322, 20, 8, -4, 1]>],Snew);
    return Vf;
end function;