
// Make newform 1.54.a.a in Magma, downloaded from the LMFDB on 19 September 2025.
// To make the character of type GrpDrchElt, type "MakeCharacter_1_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_1_54_a_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_1_54_a_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 := [612167648493870378955584, -421178019174503472, -2315873743412, -1, 1];
        Kf := NumberField(Polynomial([elt : elt in poly]));
        AssignNames(~Kf, ["nu"]);
    end if;
    Rf_num := [[1, 0, 0, 0], [-24, 96, 0, 0], [-392120600840009328, 1620402960440, 611437, -1], [-563273827738686130416, -452992885700072, 435432545, 187]];
    Rf_basisdens := [1, 1, 119308, 59654];
    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_1_a();"
function MakeCharacter_1_a()
    N := 1;
    order := 1;
    char_gens := [];
    v := [];
    // 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_1_a_Hecke( : Kf := Kf)
    return MakeCharacter_1_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 := 54;
    raw_aps := [[-17119080, 1, 0, 0], [-262102751820, 8136, -1, 0], [-1140973948323578250, 3784860800, -97500, -600], [-56210442687111357400, -54402495474672, 5099906366, -909920], [620556359099784349053207132, -20797035850880243240, -400485890554035, 180852555840], [9711696354278779604689364510, 2081812833128526945408, 51373303912919300, 26522640225640], [-217367697456920833155816967343790, 3165267822011698539892992, -40747405116440959752, 33675934369779120], [-6393357651620323434344284023647740, -60620349880883703875367960, 750993275534492772411, 243892004379685824], [173070850874985230356652889953829240, -6436441859651659057174240720, -37206073591051084452294, 31701177037073551200], [-350862016312386267973206841807140408210, -20435449597926067322614378880, 57269978673023118839529204, 6382807265660974959816], [-991043221283349205860302771865181971808, 7728972382023725038391354710080, 159187516052863526315748920, 368187897655664419659520], [-70934451880920047232726853133653128948970, -171835534599068144854801514551680, -13103405613498229674757815468, 42124596992704071701721480], [204067109838051454076890233170658221189322, 37701145544847069237343151311700480, -313467682536245610957653459280, -406812390564599741179234080], [11420004472191492571300704781255319216911100, 246612598252407149818595634462744, 1162777919866940114100582713573, -40782056126173439956380800], [-112582833116112422547515464041593719177055760, -1051135475696628223968618465968640416, -97560487726003592051034674316, -3960708202129272144741470400], [973657745158306142868250883680644777401872230, -35733007494410167815146403693657876864, -228476373349131129926166448439916, -190417139946284855629451360760], [40338110178405095091722270718222520467671016780, 34232957232614152990764966874351160, -12300511843168587501983674890852927, 8785254583518824945692367415552], [16411991107667499571724355112010094564616819982, 1264063667613061950708702778814537347200, 3579942360865683585651484810801700, -23037875266636794147015155552600], [-278551579255906713099322675351807638221248745740, -5989805361431191229060555513810423400888, -104497493494848801153853953695765617, 257132233175312275329301245661120], [892141284164285011634016905918808185738561943912, -66787417131034749560107278760355277932400, 1133187795227857215030598046434282350, -60194131428925778037798369400800], [-17674349153176460551663086662441886652776611676310, -19248926870565490944190163040178324519680, 548603980422555459209485913133036696, -581860305865984723012339728149520], [-39104255217501449314532501786169684278768879586160, -554105171485188242772794657754875906767200, -23397961158165750257261994508009898836, -16657484629759429692948642935098304], [-654019559161215654878812292532425934516129642222780, 627119640357515393008292304737635615958632, -71615938766587400314696671939029930613, -47611223195230479934305343492992000], [-94459611330549880783095229174791351396167469973830, 31162455827493663523415080156829213301269760, -317432179104429294509415278751103976808, -249661940405007132516223584537737232], [2590705586238110601419405440329225514746788323358690, -247281409830908754978279995942898634722675456, 5956454339463852743813573141143001528024, -2946943171391005901466454012274767760], [103305627568325793168797242339402958327022445074082902, -90615983919585269500406693997357205448938880, 14372430984633090240730164251614860556980, -8775867247016781547368150281050843320], [122279346000191645162018159382223079349494516131971080, 97168458199550043265971956297999279250449616, -10392320292684296665708317858200267045146, 3319862833758156040115868651815385760], [-200463717773929797472136809361392521448694742543682500, -1170317636612649436332763002855109554984379752, -157184876334030390315418593918646858072779, -45251498078260602170063134895657893440], [-62469868920953805356518321019175371731443585057210370, 8130496694813141655550363279952101865836790400, 111578531191575923808628632713745668115348, 4051845323571860355082820723023224072], [989394464638913878096294798017255113613924376083093810, -10801962894548891322269563666158180587812943872, 181344530365393650646218503192384199639360, 139315331701925223968737372110109530240], [-16028141028777696035684418987875827935241453717329280, 60657548952863499226687786452305581866926105856, 5808687770620596243380198551930782637452960, 1743101066233135708509311618263620170880], [-42296188331045028806235309893890211643088047493026396108, 148834475163934051111692207767592317890156393160, 17551584412317985574520768798012824791566015, -6930057069751903921814614012287920141760], [252229623400392338127638963504098706314119004515152834730, -196786860163908896181355199804866101604901434880, -31094188841832904270143194092213265332896528, -1729988117287689061849104792226181964960], [377830282711734520643022216425999585895758400247972173020, -5953811852245897601566817482949703806841950831400, -24638684038276570295672332221799433242935283, 9927412976021762051324725714004866281088], [-1001133384323254021428697191192474755701612638166612376250, 3024827685914836090211741944904196958933271288960, -554106461217493391278763693059599502162853340, -236384746251510833419402900852843431061080], [266222699262497089235656086839511353688199106094956354552, 49442416385483080404001922542301686012938236412720, 517631070539700234511397034862687000623592730, 392785128043779878565178989609132401776480], [-2128425072953629646759065300441541644662473945641071845650, -57817789845554458145393446917095343559407366548352, 3765526880074043245496907460031858175847040516, 827652977719846316332697715592009186401640], [24008383790112582262605572574356445435835671386658176130260, 10011216169458504595791708690433123652362903394568, -2992758439727098006582912995508812510327971625, -3744189415946340573459080949393119215543680], [-53223511917037635299668901090448474666914350427180242797240, 157670847665212604834914181890484000723569539424592, -6010285279627992520296274623651935512508558442, -523307619490346985805425849581623377846240], [-64081344345591206307095431980041853184252427084542369916610, 204739195975506489421511774977796694603893868234880, 40055890284795173326413200608324987337407996836, 1097496947165011179834565413358578585591720], [-278762830943933460184026880906347046390100824073960171671260, 387433477441434617588762122486310268086915661889320, -3247331116330975337061978184410791669815023501, 46828722968833474003617618880266723874855296], [-172804308495580401876646008925804274376864910260011939743258, 823202012226355077042512592070159318610463338217600, -19222151385423323865062863737823384179413615100, -78651524339368662849873755625863044484040600], [-1800216556409474583759229814276628939731910459669447568830528, 11649882534692254872688642200176413728829877239745920, 20358559673513270384656751000363510254016430480, -159244695409701115007290401856456164483553920], [776421796856733279414956328224640466739161225898580512883650, 18313265674549208336821719500140916955561296732208384, -338770592614824398666886673838554701435666130792, 131642490317220120314979450361010329648626160], [-2678608304742072739319617373857928574664962948794087951537610, -32127285364602795513785299284428109145786439352848256, 337135446499093474379958220506664629764185962564, 757145546148730408126865479497856447565831400], [-644805364459057864566234195676258702497184484647831797247000, 19390601723390162837766039301750716850611442100987280, -602045394549260969114180829137964527802320787570, -215369923458339111545621194518447738340806240], [-2570833813840100152400023303634643506601224913084546334417468, 150376966700471124451474307880983006753900311783887720, -1793978409763087124456643249084348444542705852245, 6616236561127246112029356815767586358048734080], [-85970035546938912149517241891775198425123102042704168763987360, -36712880808203777710298192088310571091554596642920000, 1896218769621584726923574080276080047262452665736, -6263624419572314232267231102749451520490443520], [27533349766959627399073591976450056329168099906056431536985620, -2887264544187459868752950350750782825303964279235285624, -10866199988891267985992687985177164576532918520185, -7166221292936881664118565761789238940474787840], [-255763209991856055396872892115379588698245214217680798040512810, 785376952805755057062486219686115688208638255195082880, -36069479790921763819985231086324823250434349991996, 782209194953953226372598507490031140107013096], [368087247537068638556556014542327982253256844391358906999237770, 1185812393561602146922446375536478583122011579628195072, -40709141682216617377670771242469511390803519362728, -25969902783823799405779491808123452951036650640], [612545485306144519070762673930285778320273344317095835317055920, -2336953944661524094211967884546044063032436536656565280, -96939889734388640842241947094021806613815410199548, -72217095950437215639189772046350523037664878912], [-401203477823292876663723328330656110258718514048154393258598478, 12127147749217073731885234268103427025699372803726598400, 117054062679628316969128782465465785794663942004600, -146511491653401340139848526267669392056587608400], [391426818313272012620358311590466546020324675462113307271850252, 30080556405953863253432722022162963814069471889142403000, -287275919980771948916291170170343595365633231784175, 384713994496617860792119692743534404681793644800], [-2629731337651200987070357021210064338742794913741890965272644350, -27715349901700679814696430021727326957175417240438075392, 161911373211613547102122840622217558628719919742976, 419656366877740527814809495599267232028998312960], [-15739421737110803653879137948994054439559542933836283777772916440, 3323347481486722856406063176810246067110950066057923088, 572827145417964214579000078552973551671931164120510, -640250789432762573283077470299109691812295078880], [1267494958134285513768866593535449252066837296285216134013838110, -142691866611266749934272832067474685734548799016870957440, -468993892336459813061609734987525701451625874919884, -1869480330098300708977735275279238761640299763896], [4854782492034726387394143263847068955950226400336957820012024912, 119427662593424391473197686773030881263527447182334184480, 1318019833211062848898506395312354438971324547449020, -1184131312778971923546972379992444201161903618880], [20698849403497084822827463228295500909696683181896354017463472070, 114248593079805202352892679571268653889669197903651358336, 3069205917775595037572587259398185125335901047013780, 626490812475108977023591865818918557215503841800], [23763313100917596671311892505581524254475376283856990717542776442, 192350252196288418825314786309782206133051113259468058880, -6841524486871840640146901431382870673920159415566280, 3500720860677137378345226465102224039601794691120], [13756309134143921920773876559192495310033058325230431156729045420, -12633227422918826288477776943138457467090908396367388168, -12911787375832708879902380160037855149301657617075223, 3346853884743529464011211630225821616439288845760], [55243161922274609066956423807852807709131918109796983782021296150, 202502316936493867617112304422609262229436863120729348224, -30490156294784862112931390783878852982736200562829692, 8038303220722154961426565617359637120381280888680], [-693382892137580934907527130962119831267521208829194678329133124700, 5688988563739157723835111536695232782543600520844677646888, 14728333031986708074472779197835771037012110663108531, -27155945174151263587558837831851337725435001615680], [100431468490268963108479639092729707399171124582875856302793700632, -8648028226172835959990857836918406001049722297107646047120, 5394051789164055213493165580689865779869441353614770, 165269200582554590485680840951467106143033642452320], [-34861915777765713814601856381670336338978522373604136869520181990, 14566483873723567068431777262654736391174932391885419811328, 6892828892253364307771009208217664781813963562430000, -20689411881417066092497843206814912900611695828000], [2041720573138002982266642826130002693297673985705156722999256080910, 5569420217553583646894335993505273378726757160015638593152, 46690475344142925427351064943356849166993602484979188, 47948555708433042474991253211296902418938546562760], [-4488660323892822928299355719708278970447134216423361501917840779108, -29224534226153195586279815540788860659719398501270997761960, 617157948250265133040972242659725236672700775920369085, -11342766645954715497569999471416130856752728370240], [3598437620198061770793412168723457844644660730445059563290016573330, 46858853550745606670195565543338104461721601285069931402240, -839551287282167653812112390932988966063033477758680608, -570289442605928925568360229069038221469443901286720], [-16840926664965837761867513473041318778367847804341689918671310531860, -151465124821627416631012457051556831856198783685224192147336, 1256975122406191172442074288065794398664925442366711289, 720199004014841046162444362629812725770059564178560], [5685314873186401061977409253759478838986323332019756648836018571950, -23844397617385546797953530142292558546267833262498801294720, 3572669220657179801028522961478799490532779208471398100, 338196470695912488396052664901712164649893340917640], [-4794363957390297829197402258901988417415321051487891722380168298270, -44640321410084135034073125446905273344108678920316318854144, -6853803474787919876362919572249200767788211915092442016, -22127738044475362600517300392712258099215267675200], [11111631474601212249750155878964235186299859141951642158543976969480, -335190715935269602476151480586303869614490838405232958540080, 814505811190412537476584851096667505213279384900359078, -2960951858804562587079976158085016185126235750622048], [-32955889923079544080370300056605659446252848896412462926802683020240, 568501861533861816774667863136315856506015550493359084413152, -2716507621091278533649824799290884717711808008476198492, -7060864188371353175602461547059591753178753355053760], [-99635449268764767016400712151401391892107187257740134599689757688410, -38575252623734748022061148520656879991442776818958099240320, 11133556737345022918650505786096360792255289976893372276, -15841597451112644249321235364957728820481089827742520], [50068882577200882264029196282410796450194902129185832038996155206540, -390804087160053552827922548251852616899749954576558271642440, -9191785302352282231119904325961402613192398529893450831, 25761767093222497234215848918253945445314467279220096], [96448110138668111404534065751948355111523705627505793607290834689920, 284875703015930230953555687565181682436581095561199649993472, 5497401294123780663164200907393606130773357737513256352, -30314055115423533522487868286995449388330677892497920], [-209342670761237002163812135906953331204910473218502595048671780958730, -1567683292788593230006990969668017663175782552205523179708800, -38547061315476623452732720490109228048363828320853264108, -5453212713981333469495777023108586100391042829809912], [74056935742877797475291110380499825891208365061524232707097813759390, 4455621870804298416118890909811179577620369157873269458776704, 153476343785659882732224616940756634298671812382647369364, 40279206273383854357605480321773571963466849969737480], [34979319272086015561998128878162427461891358998312881772538453410002, -1717755472320375194123001500241560193167294351278022559389440, -117791893663040727672054515862375120962253990269386466760, -40251565833047275082809209653919973923159108734750160], [-1228833001536632923986431028293188797698608472377813236914072354155270, 6960351661507463566118761434326802348396716629127457350883840, 30949683492501712409036741079073685144924391395739800048, -26334685965763790233192233371462966233212835639080608], [-323588192738009892962104507599719992272249183938600885921462904311340, -13745160237533993616001677823711039162445951826879834446531320, 854163024402731242230685670439900178711622726770245868791, -99084997618823741184842346126385238060841013310108736], [-687965561601698500844193106316170478823285718905470854781107844812138, -11736089285963408448591015415702097541896532349685728367387520, 265991716359595209861795150049981125767006760223092373220, -437557107295179887287659224061615027098059812041253080], [-2588481226345866741721655517875369219377134244457065854417932851736208, -39643485197861089267304712696859192740243794298152677899399840, -391714301058773789370482705830981592537887120961282770860, 471883995127822496175930260436194923349821370765634240], [-2388504314605628026283832707532817172297084474315185473222148597721230, -78068347492590996249129178787860755902265946710122091290466048, -1274769859755907068072501364085413991243980983333052707528, 291430385157787266198165745113982027402395166247934000], [-85827243118830903878443193835563207329483202169165121220373370597480, 5629047819239617259970535022608644436593160258486592051019120, 221706305177727061623852394235909128880575277169219618962, -114778043982770301083612689187512602851790718484327072], [1350072686489239420057949305449768249681377797137478250022665184746700, 42785190516310946695700246213133397758947316863431736678667064, 203185746083381318398909941863520928920620866556419520193, -1256035011270066090702045680303833318228435838636813760], [-1229008283461406570110089536488693460532027953166694326981566316037950, 64977558397926823884957111498997644712023310697095696001322240, -2516157209644012687008946039263442490246155305604302338280, 155191295246320422693373506972009816284385234304566000], [12740996659235078388999781456361693767734031789896000000320526040111850, 205561638813895069894934042088517828240603655372020014483429888, -2369664063927785722178294996897117213121830258383832775184, -1855544120252378487217285616855330308307297188946337440], [31057363846336451888523990558214691276242805478412268288265758190466782, -193980641788189161063907511214373885746236468076994847405214080, -184661436385143646840881515084650897240965053622114071820, -2326157408198147438015644726441061247852023367243768120], [-17040243236461479539083972744326150614313852874209877453370244305325040, -40654365180786854438322091682431002985964178226427073632503392, -317404080690600033906000931415539987344790115813695156660, 2811080255393173505551834290976190122014535301658856000], [22285728889890237346707611570682075557169043179877270492953006109643460, 63679325180617965490763682924029617637182236498417245857454952, 3279967395214260717507575518103438278110480182697823462923, -4715238524139163312164785807672171687377190098947940800], [-118217627127000867346636568003459527937882778675569429291200229212160160, -313719134441137784918844203792234594358868041924356008101938240, -2587650236662695135418804346589393419260055327739504219576, -4121714867215344454157852342583697318767181203875913984], [130759110353514157622766355957483378752403573658461903685432420207513480, -952182765556396628144850429339135655280195984723504029242289200, 17929576118887770990317808868983973897037234522847919002822, -16430408871844187163024983453260325394817833975992087520], [-64200365082121976883120760094711085481987654891554365904988293016745028, 1186252484786992826821970604962007647090143393972252911923359640, 20221558037274991250688053663955891295950250104109350581685, 29323824237888910204282630381106944530783235214773416960], [-145312367440625437371134234601647317614804809173642659744918447528607900, 1885986920571989219125972188662752972561121851749874776956804520, 27598065241185940375945743788961626686725997686895191385955, 45207415985998993181557197946664545974174265793064417280], [-214021244855630999001069930887560894268614370806709643704988237920142120, -2968270609243271372274196782690358904814223580391788316281558544, -72528467301868980070083615626137069802606329075398243965886, -6007547030153160625572829808022167204594372337988987680], [-247133479512218910645977379636600781085939213283970928521240029734801970, -2041441394685739349213169103058880796794863955454766410952536960, 48368321791424545062121555404773148772792958397237690079428, 27045663016821535850312480246756766605961070923919662312], [-511778743868626748127437719321705434893951308451357881701210187528826838, -5517609137811171356958499967500401775640861352130770888129093120, 197836959129037539543280632123468229231548503065622155087920, 81400563537708539953540214550433677884820586235419261920], [-515029963635385823425224814612750576652866398659827824284412468836324260, 2628795541768610495852185260976915555154512917993952455646712280, 65698437095045314811405762442780340025444892727257425264781, 54932951500604967699772279768521407010255260115960000], [-1838707306009890869825583253044926012395839904117398161692485688112613778, -5068399531643995656738497576512693080137051842584083158197997440, -596618888598772294032990341885004234856783503383691491431260, -108737210461311473170909660955790761011796151445969667160], [2114005668563261550240257882690050058503452190741828242880273653996102740, 25498473359193576556115473059892348543656455870407479787852658184, 507819404573562117129520287537859970878708739040382535238359, 69807736781460253467724735067834702204739370294364977600], [2677926992848585267435136217977973428934360959948688142829578986882805950, -15623609411097860973771841046315079275262986168184473399050265472, -815613393323901831351982195190773592174828041474610310487164, 383510180156037564320530312269796964552574297654867206760], [-2743001835769729489574565623055818200754533195051043695421191320888878940, -5061695518983935498504323592595524693358057929840029746446738392, -604841893857005837270122215434211269184005026955858135841165, -621419508043916056805186572325654818924880023144711974720], [-8066230492852144116571473642669714261381558750222496847024220535425660390, -31080575753947900894685969114742657359198078191402404431900433920, 1770908992074855115839485473812398151463828975114343767653936, 377489579187966424692132215095599522164928662543413323744], [-1869080917071806504883254847233042700420916903676668772543421454243422388, 35520087865994776901650940647874395774789883934296869455057501240, -1437335479801156757856371362614472580080212069836003667893215, 49751907983952075358253167784475031614131153103616164160], [3231286035755351370388359949966960461703361074766164511121630707143771970, -121977081449165349456066117597394414071761736330698476762331126784, 1449783875228977009242124776736958910011903517485335815588960, -1709421431784834651269760757198059053656529644950210431040], [-20615127995071550679649654693090626603594298352496065251999620379811218020, 125705200364622412486491649508570170392744995847473213191451899480, 1327677911323569338840539773444719908752718257393777526785597, 131546049966858566583659437183194052921872610514359149120], [-3034463715604655488549266626624867947553819908663719035083762274697245550, -27214353123780974593729815720123489797677980690742887653311666176, -4581771408414985230670317490444840337410332459156460409965632, 1405714150060243420886641741717953860314207873632457461120], [-7661466116074562083941270354431005994254336136206675219997348983580329800, 108465053460816820123742843984867097440260056254846739181587362480, 4949298964415863925733436861121427554918485491445886421350250, -2966542595230613781486842909907992015270231177998091216160], [26449131919100269747730896665347138756988804242727960137440976461850863802, 382605332158406916335092767523133881677442225276201317696911443200, -4061770408410729695240616900057399934614307895983056249802600, -1953978644621400203652829137625423475315315998227594486800], [-21624971274274243599650399144876402267657982711921664235290638019574240800, -369962089205365878063887922651694331252795237542902764592691021632, 6323750053443450636226572953286456480378764384852737465996136, -1759865618235877070486216509121831335519221734714535643520], [17768611573296132238935455281831049128930919202620687035856143012413402710, -85884096152951751142024015871757867046678392346191640572960527232, 19431132360888479898826288119018028252135579195700885175376740, -1553855615635975800252257050550600711852144566660057922520], [-31531703777710939830020371311593743874235941054638723852310329170177049590, -123007127323860199458685465607476427225288215582688752891957335808, 6532463636078279101772152007917269679354829366887939124084088, 8931631347867486837106589443068953085464256624462999522480], [-21319942249552813318660728246153831718244790443158892577905789277926924740, 469287310287360378001300271731981534488991709837495548530297277080, -4361421120833545736649335460239523344127294513321612603058699, 12549196114622945109326730189589183508270723367474801335104], [41692713948767494449395835164006084792294534016591131001248721881741711192, -1540839004902741539863732566273182044763197898746915806468854699280, -7158183148308747022832026133515284856625238363475682714792670, 13019293687538260920405485719862839774622164013894428358880], [8138568293579768727363378275432830518913726441781770331005045502509064322, 215522469334074597380571604803970466975810530936454981925515941120, -16674367970388557458163043286626451854464067801276843343124520, 16206883261450840980508392703963485780368105693707648045680], [-7954381407485146310634792863259899917651957138002910332830365736807255500, -103147022833602392742349199800280420237923223975487436564857867576, -29057564440226828090664312365413886563331948178947121764263297, -18743405094806331111883210395927584016866909857570499723840], [-127901854014278402929755918219140355931737974599005386552299224384141385560, -303791287643467838614963973029627428930989742259687713135271666416, 17344479236910065498052576201881784813247804552889677814439774, 25815603743203873342058822281674388950044441018660477475360], [52091621394312134165776404524606769884930541413121627751234403827000617630, 264170329935314873602548515511150185359985819177916251775794431616, -26562076886440850831539743179196361906891595639194987832586636, 3244100944328014749956902903861174476233923541668033696200], [48093840377306722868312194363829021628272875814641803988976600735379906180, 589017273745579932545755466378251975422836523347311484639495797480, 105806316269950049651414254174488457639563932108579850626732283, -32660365365226334602369916604090461710616569818732118472448], [92564277092400843413371899526668312744930938388916686816904233165750714182, 1273760703895786800602650541081481276961136110118862489665003978880, -4510173818073897557862208613652147515871244467860615823987580, 12262625807701768444399638890049816392626365426046548290920], [-189735542006353973609966291350250620505620420667035118888637607273775116510, 6056707391787213193412877754947285074642658060324492391849062800640, -79160380477760943261789956989428415606454061611767941204535144, 43929352392487253961663872680429183073345459346051036279280], [-1282614770285686874196204684243909683315395074025871158957241752459523354730, -1248049450395584380045368870155125041337524215431834524005016842624, 17938753738387404029643576668823669256779208445568706348499220, -28200259096050211104568801380267610886552557592584965532920], [307695430574821166385701385256039412218015364195640040503810237029552996220, -10577227266870973203196811113888584677752606676904944688286250026728, -205769783440300664482367802022430129714478568015372714223591163, 145204567701612474391824212730282104459461293252633837496320], [322975840931384772237854089411819023862619510578039448835596601602099591972, 14368681013010712283710030072086047324392893720763369814987056935720, -162813550006894896026425070676788315789467063547109919868735245, 64515628775888308127481483252841799743969150703772263006080], [-781553179546810222672623882267561971604537020298412732725476327470387920498, 4813875458230672592604173115264758932085635116801987933810986801280, 93249878772791773923671188766598614504423706086092007083848420, -74294217086404187743560634782359549901190694906442041489880], [855366546324848344975275077795912192291066629136944445090710680797304421430, 15831175954863843095672510005213290965439310030465476820069544668800, -632963806650036145021776372884733640315201270181535519304324972, 262764692837840679249993360704623048061158924279631196598792], [-2651129369304532651642351308334745142009144469416996827185158196835817715440, -43621526255177568996381262049644135502736334948176838831078339943520, 306674642053341157370267426126599419007650331040064463276585356, 231892780375653667878154473180601218845358161626325321557824], [-1248649942448840658651395140278272080795467188713709794123064829570098785480, -4331320141002218528538581953007632263108764856193013129986378107984, 295852588287273306488394392576749359792546047469428257483063370, -1018441018582923659303351654791659758470632318706920512602400], [298978272040746648301037499532000302730772391686803392962630708021727937070, 60099161085060232630307671544898396078355888770717596595439143745152, -669151863986122805011755882676256313506053396413609594483701068, 207035694759616186095360480927467549395209441761813558368840], [-2935831376411876041804184297999187694172923164019782072446790001531930828780, -24690845841092281624001297787805956817860836720394940015640752012920, 506652518867177342503589040044795081099581975771776023478421767, 451874446220064606515319742248618115114305153430014970096128], [-12629738261937304570352588115197702462277486094924974920721997049501204724600, 36592735763270300054515570716353289809440827571317658546993086551504, -514376088749456293303972475795234806076587480868068867905752442, 821075810326115349210238444572991027335799287242874793458720], [-2830566404371371465601991358755124268522162239808181248261119399470278304848, -56443191515299339211028424637187516941168294947120411688930006284320, 1129276130032714976869778529118701833353126009616190737190063620, -949922533133219801428684863001178100592021442130719156962880], [26272179614875955291162127443221226309827581062578662022643495323384345619750, -72145137283913526449845476586102227574390302607795359195084235381632, -33371922651140480036944933676229426380844392816611626267867804, 152215244917515808631632167108951586950396328301178170017320], [1994515217249556279240145707751420021470058789024177277198829849891674462682, -103752677497750758531728395368896809576406915357815250635774244769280, -98209800238665199004612933638502518174335730112059749834202320, 1757859623772058319781394944453373728082855155056168049485280], [11336663103983853419174619001245663038545297512752613016236304933525536676610, -96125114972087729094859966767573618046140800536122222852668307383040, -557770552382952274032583278562991019499430629700074202985985384, 604626986264501206128945594145164852643348387723533771384304], [-27501385440019848873158174299985920731631638378312265876634669199058649897610, -26012252231109765232091034585387760240455667181224100201602830698880, -3160391715107643365212860879265192074420127312406116045659982764, -4236612480369726886214541135011251266811113552551162802186360], [10516928940793826017951744841605767664774696103809976117197643895807744184580, 172818846793759751870719979268563239034540285012841251402498638362600, 3860718565879163665829084531329365627945290180033950263583312667, -3821057259635898439892168081191678479432133869173674721095040], [-12442051967577826175694841584811918375049219737968506351319692888444273112210, -360809649653464310906649322124928877358312569735631703216121510462336, -11944896301787075501189998551747338938447160926642092371132349756, 688292077225508720727544574872307999207243971936609514728680], [48199885472038727277733918333015072178089615647672075757245001184183893469130, -494013893034697418595810761240332300347549166986592694528619643768320, -13253189730484442149641466477309610629987868074433594408758053072, 13009468660380512915742510660646003512031791916303527946878432], [9136332454434554648378354981464979138046795466536190113924787706537803239932, 985202790097065747328564848752083606606063605330287732245404543446040, 24394414055632591645815203252760469913697442401393470884181970885, 872438119503409627718334305656511315146870529677892213520960], [71283053129039041198193564060031250265563338513830042784143061000522984476262, 1201034292578197272904837014157754938767708280518232345647587718728320, 36121045373196902950046333134607684725116879338727226788430392180, -2426498555280873533341068903117207003885096752431912438276920], [156056949099614052959154284114025093656403338521727407401551382752679752834840, 579801729721668560643000790500108198533102268713738534335777701736560, -23659262392181213982756890192493329590812388063181177990159130574, 6756331519606768674755510042304693882517779192169511198381920], [27706167099932649741035353836200370266970650524564378081317900449154012038220, -1155244709357955468958448703414451938086519709537482742715708896458184, -30808249034239864567610521975205726089828871834863685833838370015, 3609203074131286387901665081927377098081274436180287058119360], [-28374328601988871329485569704739239886985576346062777752353280579379463834610, 238725291059427850363258396230398674954919000382342683985791840607360, 14212107762297039970705778260778541978511739399347569308122836804, -24520761641853199688891640964310081816573237611503736511715864], [7149563172496456916767898630846183739452773164607983975685327833850139785320, 1360704247109802682561002597935716035949682066507382007234223169757840, 24842074415956370929668053962100722941996382504767522427903716462, -12038431094815144770777220655978230621840170653490259134825312], [-94634694733332756111210127772699786285741229241922034413052362393164684446970, 5446721468533791476613234689585779727092094587225866735211685209220736, 48708536453149225311410680632183146749251173829299326560322986644, -35578799986777599583607060724727560075510208582560145168227320], [-330023793870665602303083598310568003110576529403986103217278369708141617006150, 3544596910885042014604894830377605685430840270028253930199343326212608, -22561362325847388041804222193316103847560335387489289224457327184, 33812133654093831569608856812881687171703465551037983446442720], [-81674882289316472538163356174106842816531432984147465118535340444735420588820, -51019680727588524086642691454417595735332297288856123838081510466440, 54952454092196114095551332836486136883664845581280021166647198713, 44684836934987412255675501287860549263026437326414724335267712], [13354930014720224223463731611499100274807097032024075878136381134556615220960, -4017538471759477445493867223453921705352324146366563790239201124084032, 3874632817683301458807173724981294568045309996341610619067080040, 20310160428737110021107670020721456709558962817349188519201280], [403314604484384877696651174358065872472514908401912579133345858812619345379070, 1275282053586041028848625068281028213909178085098765799578796881868416, -173608334806268192686416175281322489362917725394755663501527745420, -50661726875832983933234305252654123367910682198550550627976760], [922864436472163601921705956213683461464831982767275686161511762688208156936242, -9297548064339294581402704041634321761239920923321852025324482582481920, 19170133993660646168668256176638297003357151410255951056466397920, -64816352534228660548201090270872661704227418148405928786460480], [-176247001715723497620187841689117929699333550931773196807069190612829115242780, -4899094189077168760576884988299116610190057007597959703941808908463448, 129944996003521782155086920728219277563132569123833611377363721187, -30294165469731939731148466552416768215960537745619057134114240], [-507091544541435057185394378371620155107152116343748402325301911370123533226920, 755563073366866867293546558157150911382903934248597651548423986647280, 163230404041643505608034640353449834223553708674938023631841569442, 169125110335174306670374655395019144267115025905164070358965600], [-356887511219890516235083802405805627660701426070651608886671458105241408011300, -3366563634379759993682051528539777711878890985572070860461787110506792, -82612284750765634897623020724695853030176103841121882878727553139, -242952636313369718124402731969300925334203349943571943920857600], [-75495634708249781303449468326659735572532783047974868291355703473583433701168, 25463762840059337449655114775604380532130251297334394200819619569846560, -181316588357545211458359730514600008002831167031046027640488693860, 41082454379728827089994789064942981835027717831218848091669440], [-1597820735846755381023822697514208065261682744303004608236815951333716006962440, -11850760061436183274857980158733266073109410128174419591909538027884240, 655048765214378539721398049609986800499873481558891849864724813786, -117076652760436832993755582066093756062368217068665711880512416], [-3215650719035767423172280689066240057269804903373501799115998785369796345478110, -21132418602653767860884092400601452426793037701117071886779238505337600, 11262427749077254161432727281826102295260526100990569878349579544, -246133346141254259700989875619484704636698837229464974613031184], [3048317811254791229406906163803982005019050802997306411953792873821605491078730, -30145138033464638526323325414756007579675053352820196675274339767632640, -107008037594687079164291391453605813523724637171899190897101541928, 198565621377011373507151717308491435650789820899021465920002160], [2643695439342366297278998790453457241654463989091179852419593503033560702607422, 42921072162965913652317528743072950613495741260992052323873206396140160, -1336590195597976493276175277520787824755494551889090327227232457260, 110783470448601983154280996908056669418958882133832836354933640], [9712315848954817354001008707270536398373332344309341990013046615382664596066340, -9682356121357248479094040364428763081808828923458694669528948865874136, 315672141574859359090995477033137792252604897234853535673705215379, 317969089833184091538299991187063209070864373401261690461865920], [-8242871141792067694510773226751999771515452359384240996935753160342152915220070, 88492847335082843487086957879891535065747837649653304604118393720879616, -171642697534194525540466434637522734162771067614691588926813330576, 1055790682138461730425589995883233534656226632272823996627487840], [3438574911780907404657535711233852515368391410942696836650832310659572453667560, -40349952260789989231555620938660178768563452271482699491087590602443888, 962672029884612983415625430905793247232494479054779959097270691918, -1450001858273736939211405982395461700415259308526113865933964640], [-5759578823760818258323447351705666918130678102912819829446549296571596926159588, 28150219700497067869796197713752711537360060354359051099606288155414360, 379293530650663928342090646722172099677201746151882842969807690365, 329851225941406387763931764605125156014475707318452404694698240], [2650274051789673617793021306089943277591968555621509926852315667790753529546770, 50551410418150886995894168382626830222055368426512187801029061781442816, -2623740927273797508930942772401014612540539434433730659209615772680, -1798132833533495496680146445765324441891911767205353739676677200], [3133251473873079391560315298665443002498687093129915235565614622131146079832120, -72919601671810069866800304729294915755164106173048148627119867533439568, 3098594932348151516545971071851573216609241537484511246190529736842, 1374113910072099529533774769613069716601936123276998092977725920], [-1754241593153513445291195246755091556905382773187128716501329623515799370004128, 35183318812081095715956986814646574546400791388550219819872868019958720, -1617454700793972822757016781822462090589144409530879122264856262520, -2765257531118573765321790015029119076420888332708046992498811520], [5267351241815810719324179985610609264778828289611879282731182126493751484063190, 281425390512416992035827154472066379435975932913663285713502218548584064, 2007230422107267788519518343200268633669162834450970456313505407124, -2123059857403883409332273281913335414885087445610706732678455800]];
    aps := ConvertToHeckeField(raw_aps);
    chi := MakeCharacter_1_a_Hecke( : Kf := Universe(aps));
    return ExtendMultiplicatively(weight, aps, chi);
end function;


// To make the newform (type ModFrm), type "MakeNewformModFrm_1_54_a_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_1_54_a_a(:prec:=4)
    chi := MakeCharacter_1_a();
    f_vec := qexpCoeffs();
    Kf := Universe(f_vec);
    // SetVerbose("ModularForms", true);
    // SetVerbose("ModularSymbols", true);
    S := CuspidalSubspace(ModularForms(chi, 54));
    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_1_54_a_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_1_54_a_a( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_1_a();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,54,sign)));
    Vf := Kernel([],Snew);
    return Vf;
end function;