
// Make newform 880.2.bk.b in Magma, downloaded from the LMFDB on 15 September 2025.
// To make the character of type GrpDrchElt, type "MakeCharacter_880_bk();"
// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_880_2_bk_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".
// To make the character of type GrpDrchElt, type "MakeCharacter_880_bk();"
function MakeCharacter_880_bk()
    N := 880;
    order := 4;
    char_gens := [111, 661, 177, 321];
    v := [2, 3, 3, 4];
    // 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_880_bk_Hecke( : Kf := Kf)
    return MakeCharacter_880_bk();
end function;


// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_880_2_bk_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_880_2_bk_b( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_880_bk();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign)));
    Vf := Kernel([<3,R![441442156675072, 57325954021720064, -1690503135548669952, 3069500675892183040, 227862598946161950720, -1399061441026103181312, -8052588042334388092928, 75866059275595163369472, 116473964094448116760576, -2033347736760613314625536, -204710090092199417151488, 34507246306999327951421440, -20639812350504210927976448, -413847358752158005450768384, 412461354653944879288025088, 3734527957513270283784486912, -4633468550840838339506434048, -26410736303432868855898529792, 36769926482378451351580250112, 150621973707750006853843705856, -223229080615578640355193182208, -707511005722387673701559205888, 1080827862311765941952961656832, 2781892397820175563635570456576, -4284852415186444611069072060672, -9273223085282955625471854947840, 14169276302526275433435401415424, 26474821412027399716837009119232, -39635963262300203979388759520000, -65277672318474344660153956928512, 94842412221837232843108583777536, 139969199281006620222185719349248, -195914557048182185744339360260224, -262531013356311711921249036284672, 352076035576359742052178453888896, 432912022354060304713339801371392, -554105363475832731181858740121344, -630386275383924061415631618180224, 768139790048425997332713499945728, 813773293455216901827920421946624, -942713375766090401394145235407664, -934579438625607691134475064073952, 1028849420370089612630733695996048, 957909994072068508151731129970944, -1002478028541828449410707709531632, -878780795704679057923921082007552, 875125587572547877030925232019216, 723469712607702747668283151650528, -686568747120263619890582758682728, -535764857946775530658074154982016, 485402646285605246786028430915800, 357661189226256591082607250047200, -310002643716369811530091371681240, -215648546426972240616456794099280, 179217459261020651735443462211320, 117635560359867584136760176031680, -93956955926530166461809006931785, -58143003148835110167035501549826, 44738048701094654200025997390195, 26072530603382524469323943661460, -19372290519046688629238541106285, -10618613108265393415183425814470, 7636480593550939463680967853991, 3931294790830432519825324432808, -2742627676333797192862299894017, -1323985089429153065863732718666, 897962691448601875080108726859, 405805527836075902429012796348, -268120115221150243313832302165, -113228929415095318522588829806, 73020995851474474037982788815, 28762415404123133517815182544, -18137846249052873189878949261, -6650412368307788800582911290, 4107881565562191858515160831, 1399108362987135457155200180, -847846081460603523977233313, -267638485425194689452350798, 159348366056404235013910051, 46508970337696257544566552, -27243183012304971685548901, -7333015068753089031969026, 4231247217485367200227511, 1047390410467504152146812, -596016465284767319491209, -135261617301402426792470, 75988250252196752941547, 15756299432358053056032, -8747191547801964420443, -1650840428475007528230, 906456766676547026969, 155034985183983439388, -84265869495139173383, -12996446356796829298, 6997596922751573365, 967637238896441048, -516456585557047395, -63599043476437566, 33669602043064897, 3662707926003476, -1924428296278815, -183128479195690, 95541465989773, 7856976953168, -4072236494047, -284962483006, 146789057957, 8564684956, -4386482491, -207536378, 105719153, 3894920, -1974031, -53110, 26789, 468, -235, -2, 1]>],Snew);
    return Vf;
end function;