
// Make newform 8043.2.a.u in Magma, downloaded from the LMFDB on 19 April 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_8043_a();"
// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_8043_2_a_u();".
// 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".
// To make the character of type GrpDrchElt, type "MakeCharacter_8043_a();"
function MakeCharacter_8043_a()
    N := 8043;
    order := 1;
    char_gens := [5363, 2299, 6133];
    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_8043_a_Hecke(Kf)
    return MakeCharacter_8043_a();
end function;


// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_8043_2_a_u();".
// 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_8043_2_a_u( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_8043_a();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign)));
    Vf := Kernel([<2,R![-172032, -6247680, -51777664, 23028128, 1647980544, 3067084304, -18745158696, -45863715597, 126768151022, 310728891691, -597821726054, -1262973418579, 2074984976260, 3421744540169, -5402993218503, -6506153483794, 10675543531702, 8891684661331, -16181934832510, -8734134101709, 19019927532454, 5923147576942, -17500069250391, -2307587198110, 12697674594978, -165075762628, -7299074527143, 983217809767, 3327974409998, -809200636988, -1199452356120, 417733073084, 338220876630, -156623634669, -72931644895, 44595797371, 11415333642, -9782851581, -1109961173, 1652090769, 13537973, -212003543, 16130675, 20098274, -3033531, -1332519, 306335, 54676, -18989, -878, 683, -24, -11, 1]>,<5,R![28597059876864, -385004193404928, 1795745074554368, -1644848370145536, -13975373781458880, 45617886278150784, -3519786644774272, -204274002798368416, 271451444638687460, 329158477926505892, -987904703627049692, 92198119473608746, 1714258659622765202, -1211405631023429170, -1598758989686015540, 2194313989013026464, 604223974192490593, -2171683586415064335, 353273330612385988, 1354054016489550654, -643033560902963461, -536440468776550095, 452715806274753098, 115021691922444819, -200414074740259366, 4353295466955862, 61233197390018067, -13032084578755111, -13095682866723709, 5222985403420860, 1857577937338577, -1263495314478307, -129485514389596, 211968416322645, -10313714725329, -25321518934367, 4275032021281, 2092879639559, -632111561865, -104796191042, 58122321797, 1051711783, -3545973057, 283537513, 137432557, -23788076, -2721436, 941340, -9119, -18843, 1622, 120, -24, 1]>,<11,R![-113078775118968819264, 3349309537031273201088, -19380585760857922632320, 26565656237395998376064, 81846134069036192480448, -259895671499303128156504, 14639035277927035287512, 705975235019604998587360, -597315490941910834559776, -829719462575080374505242, 1355666417438064590943674, 270670107925896356276304, -1494187733743662348383011, 422189763933889375257209, 925362230017980613291559, -611777389666131654394337, -296264463252081139890586, 389530436637780045435284, 6143422726876842701299, -146126643213038367739716, 37441208382723371480298, 32912970169803475560737, -17625756875839889049399, -3554932750796498830417, 4404970669362868710054, -252486255093129786200, -680396570278408593249, 164750370708093921106, 61871469584495924544, -30413987142917179805, -1803691903223378218, 3268904603256677240, -325178840397825621, -215516651753577679, 52858189986373343, 7136953512241185, -4000068770610186, 105078369863365, 177840205915285, -24325772966217, -4162056003047, 1257755317637, -83147062, -33541080797, 3125575358, 404561498, -90444216, 1499498, 1028345, -96835, -1278, 725, -46, 1]>],Snew);
    return Vf;
end function;