
// Make newform 8043.2.a.s in Magma, downloaded from the LMFDB on 17 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_s();".
// 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_s();".
// 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_s( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_8043_a();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign)));
    Vf := Kernel([<2,R![1024, -33280, -1408, 5456000, -33999408, -52817688, 741276228, -128030350, -7084282797, 4193737754, 39531322245, -27312293622, -144836012176, 97583080786, 371697968070, -227763280075, -696634156652, 375756636020, 982322166319, -459182209829, -1065780901599, 428782999074, 905094713517, -312636937050, -609519381837, 180678743342, 328628346371, -83595677099, -142785459232, 31148766396, 50180809915, -9368607123, -14278153904, 2271763134, 3282590470, -441942214, -606519535, 68334834, 89213379, -8273291, -10290394, 766291, 909448, -52358, -59386, 2484, 2697, -73, -76, 1, 1]>,<5,R![-1449124352, 2914708480, 138900157952, -478392973312, -4257458455968, 21318121474688, 35597684860784, -329478829125752, 144180086369256, 1998666335162510, -2442210419599272, -6051122450892000, 10587933374185037, 10388991788429298, -24048593508154953, -10881478621160666, 33991818619306175, 7034183196153528, -32571287138991303, -2399286307271447, 22306375347490351, -187788834389914, -11310954278798121, 736912257523222, 4350004828581366, -472624707166853, -1289196412377999, 187061417606108, 297249088690819, -52914884413405, -53528966333998, 11230568009822, 7516104820206, -1824091692354, -816155536636, 228198331097, 67359377623, -21936866162, -4087145328, 1603704458, 170028338, -87398501, -3961952, 3432168, -5055, -91590, 3497, 1484, -100, -11, 1]>,<11,R![-3028129775009091968, -30096435088262951872, 65304245799423227776, 991714103198483003504, -756302192051557571000, -9368583783975549401054, 11400939584319811036100, 23841087966811096225932, -36224734190705283871517, -28439842335958273508066, 54576541230005636310216, 19316848208750822825978, -49550630275541795837045, -8304961802307505117304, 30515845948868956436485, 2512627525844670765301, -13658788745855860158298, -668443437872718398641, 4636293200504685509474, 211965500770255698496, -1224664849767526558129, -74898592560639220954, 255341519162733073431, 22593587556845325027, -42247570633732856586, -5234347006223544183, 5533537697685093737, 919500604278517836, -567481874479821373, -123248517226338892, 44492346587809622, 12660083659897582, -2533672806639979, -994100935303561, 90996380000376, 58987372914008, -736962065254, -2581376774286, -131339216451, 79462401483, 8789540405, -1549028252, -293103302, 13061732, 5653207, 139834, -57153, -4399, 169, 31, 1]>],Snew);
    return Vf;
end function;