
// Make newform 1.44.a.a in Magma, downloaded from the LMFDB on 25 April 2024.
// 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_44_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_44_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 := [-264759545317170, -11258260111, 0, 1];
        Kf := NumberField(Polynomial([elt : elt in poly]));
        AssignNames(~Kf, ["nu"]);
    end if;
    Rf_num := [[1, 0, 0], [45033040444, 343074, -6], [-111366709018012, 1176206478, 14838]];
    Rf_basisdens := [1, 8369, 8369];
    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)
    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+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 := 44;
    raw_aps := [[-736648, -1, 0], [8133812604, 2135, -1], [178401793591390, -23658932, -29844], [100657141888492952, -411863382714, -60797226], [8888351095274274866132, -4605494939944195, 137241701685], [891720227714448224531894, -6729074743426932, 22807920190380], [-136218074310814147932280398, -4605229780369521720, -15383154249178488], [525777119325173233725488300, 852997440388095126819, -107308048565285397], [-405113211976187047494937016, 54894412476821188492786, 1876113512966847906], [19039663006045529198730336568550, 1781026925570599934635676, -1016300812410979669188], [-85188657447465944270711760987808, 11474206001945574447263640, 3360661742279899025880], [-773548525388659809431190752280898, -434857804136669259055143972, 46635808804107705450108], [8580792201579667347338859171353722, 8727103848736817209908873040, 2309500396926961126825680], [80238113229709394170802100041139764, -12394336165699222812862862283, 1794175922844152107513773], [102904517782466562654060932144455952, 31721205809549077057385729732, -25101621103232472817777884], [5000165852928223044296486231704265454, 477820952404342007127176169180, -90015744299685457036629636], [75665420394244646512760687083278835300, -6250788939818504900750412090143, 3734944341114394738418022009], [-3131143122826011240342976629704530618, -68860163641731769497055721596500, -3057136689409304720808040500], [-244338538962383761242028886720729118148, -234193706216983459504065460827225, 46874225355776516026601618127], [-6174626022052966664448611271523299429288, -470050092581237595844722424898250, 97012733030030807099653479750], [-6750368675302932686312338911456408009766, 1835688773062068321941404321752936, -130071991145013055936072585944], [5077856006199921579853275604335666431600, 2617625833332384416810593003631196, 1199049088892923392226564761852], [-29735536732239890017695177318568939811476, -22767853976831702597490069732466381, 6634293269352968616473992145787], [67897140777018372408415462681502749888650, -4595110877075057116758605903094552, 31069665219168590210362927031976], [-1293687340594925024208456053559846639199198, -1146398833735520748601124873014687128, 21123147000811938604131721926696], [-1404000911348076490453945096739101249440898, 2626757694579722745243454366089560060, 43056964358346864724603568197020], [-5271611271300653506588890662847214266701896, 4734668309025368792314765951707546510, -887962898438862058443934266939426], [30848331262455552592416829409251358919377652, -11981375211576187951969311961019305659, 1690898597689912064968975852994109], [13528121732563967613846542102972554943412950, 8677022011793888275271023407424739772, 1480024595014763021944460931772764], [119428740988152939638838138130441278797027794, -13104335434889036368664402424815058752, -6731535665667584772858903331671360], [-1483234821467787926405791397341084948243704448, -425012815522010418022364078761349946336, -20921964571932956076191392694020320], [3263201002442834172604788161268722044633469692, 423432620587048088706078032595521906455, -19111535346435580112521237068947265], [-1758615502142249009168232132204219574167536998, -1946702550663447911964833215462684275952, 153404993974711469363892802465864848], [3113494729000473590007196124345345567650217300, 803962474526379138443785291901509377213, -104205110483072702967300940116567819], [-37244385605515960650208837772182194329237169650, 3164696238055726995413492730759174287500, -1949715195229963345781141327052450900], [-21831575182357674297452861012578810450855304248, 15418482262847332639723967752825153968210, 3711196370591405131496186270678925570], [14376545979064516571577910906260067337528768102, -46238738931677251966963138448984842479924, -2109091236297228768195896310806450196], [43140351309273989309129609029826242505753310044, -75164231069137956967578679439238229804977, -9316801249475896689072673841860752585], [46270479992835763711969226993914703556074808952, -149491520043916876474609394101213277234690, 8636463515918858996191717260799676622], [-263101821797612268533537859541820870367446799466, -127531528567719841928781027126148890992404, -22103002999530371820702118687215649524], [975459214672737521193142036933372196566415004300, -259103749949240017201042820803615036036869, 37916913417281739379117122636409926147], [-1052725221724535092879053140137498342348497159058, 513256857045968796896206787826791246928300, 26681892775972875688736287672621361100], [7056099563130605486985494191856238506629287006272, 1424566942942450465072266669924684524023760, 27637432646115252984755342537312899920], [-6672416489409929242293510748587717485888821092286, -426811661594766778440766582863825224622168, -536580406247971475852330114931226424472], [8658787324866254847977509743537224878347648300702, 2373252143831606465733364644767669898264492, 351440381838357536198357322187876146636], [21152886269521779048747988170061165831812574179800, 2693762785617178094968977081608973713716950, 401141858292258516098753152298664766950], [114155761659597595919048253620783947884728993681132, 8643998282729234565425876131010880440417235, -1548033545820050708590198301433902476005], [147435974999022237950435548258149541958064598407584, -51098499688529914741015931665013700654064344, 5795930581050278315807335364497587621096], [137810115586818955708023266011053580258677929012252, 12113706101358930023748698221174297530745919, 12254437442604001101322704890367880277415], [205353829456291024151040427440544968092490957905150, 104220877375538034713431381526068891314443436, -15741851248277393056692781435259022300468], [-545775611873570228338121501864242000769152944371526, -42481501759758967261999071381740547313238616, 6597402898907909218141885109587774175592], [1112398990619277571421828922349903850848266542578000, 80077394997290250982710690766834882753939348, 14477864793543915065358770669506017621876], [142495252266062934110937483787788697101875764023122, 457183230427684309748320985538970706710000200, 49788543119626735637394651982938111323400], [-1170243485950107378636117192265218115805853355430748, -245037049273851833712533820164008131362876175, 88838711863293149487328057776081406550025], [619192819934675423440305098335002258838360440646402, -1674971626748850180472158368400959501795354624, 195314063641748654709405197143636485986304], [-2511820539260738057267020751050196818551034717790056, 226012334477964742148826707252592664919559878, 450876671594491307625764195955043911384150], [14802637301220702530830127736008230640612631743469750, -1733922167737008364584768183445992543195449316, -951683371337611522854623980670519397754692], [-5971098802872802516408964233430517455232399009329488, 15729656711437672575049156777815849078215340, 925356565253787013484686268206546732824780], [24971455620051382364270915464442290497526733719049102, -141480974094140275811769758406715769719889316, -783219244648542148236749668014340007749380], [-15842659105486646341373271596300458009189212143989558, -1273686612769815374350747693064985146699314360, 719283101022731396986703942734786141199880], [-4739992914964944306825025824949350561966429503694076, 10769177216834337146317580231250550746311142249, -2560123984669010537040809125380032680727103], [69965309986869010347511277405119013541037794070458814, -20107236140938615963438180852487801422576816148, -5061057085180463381415478817202147016018932], [-163565969996521627491650838537374356744796884179880948, -82360925629487320256482523860928625839716702149, -4340115632086261117959818205781572663263421], [329160293912389845831979389961762432461086186921457832, -13040163198958642277183270445844839792828304310, 10781945728606751612636679210895496687900730], [78038187670459531653501303356102107369741531805745194, 30277976769327496984357336537433104797525778128, 9274023766983527537920715657930836223634000], [-224122868416712022819875922212882633619846557786298298, 143514522845324597896942183818900266455413870620, -16235518783962708801399924529476849844637508], [561988211094877978319767471454840121059947973613593492, 83546290572550945239710540634085380157999958445, 27194130541084024051823639685490166550590565], [-3025549998704659259406792428103624452784270129473120398, 228917207222056418153827617852849880035020022048, 20433737071158993414925830262805363556207648], [346692274492802068951953224489109976543602859499302852, -410071810441981087772806069196843833685448761543, -211893408963473703480200104774610357446597359], [1547051847807308166461188107170487000468532851462160550, -2027154862010119573218723599318954487396165492420, 181614039947075626048139264541448330551127260], [-2184659056643764541871880790635590662975369331286657246, -411798585488309150397441975976648451753278084960, -15697337171847860610772334350144739404216416], [-455507853306566506552388900975147925315420089511222600, -719434092502100128347004285817581036966170921138, 197509691013622089234586124411195733692667294], [-3875749012577995368576488648449251340254045412030316848, 3037285544662035836273306663815902184690024819380, -248801287646232153670066311286893500222753388], [-5790832524817333642942069785023483600743750661461450066, 1880837820860960397500361836649803140137421770876, 519648114828019780979038455066780764516100636], [1146666399613621638570570334331354649659566855595185700, 6042887154447542479699967969510630823321577917201, -1132149511380789366084743115532005296317531863], [19706346002131597689828280126428462021534199825251025024, -4211841574378980493000839763579267596072220876256, 216181053261566348591453513028469714050868512], [61747216157741933483800435453796803528254695322870883550, 7724310685471749520771658649051202323516226783388, 933087342521119852435141034468777162234148156], [-12646444000468050425834167773493170950727491788550129098, -895478384085168974915540783844052901183587515588, 2415927754926796046510501095543270557381050076], [2663455001408685038678510195380598119847052051009239602, -27740700724119132103066785855722104869072733817720, 1376019469824608890503109915805098140407186760], [14659463379899644419826965211933030845931246925817739850, 18800617662175895284216323105736819459958086205712, -1701714037721514401568425071217187716911603056], [-162972151979794862696371459198678188325829671414875515300, 53228022134706289546658510812849654325547702410479, 5012969203494557256688780327731491726512926423], [-19732094861379761095957165454626068385678054911418041538, 14480236417456612959918134388926031613135101462540, 4797103141978975591761907173619008808069947180], [228260361900728685986116686389292197536953458174396936592, 65591402788408698418248400804137028195904822252580, 12328526475181595631628082605862288400413161860], [-407188589933403507821273145370216030321242654246925961326, -32828350871653815890719939210307459599579868633976, 22675981438556743151061608228090567338543084872], [-266397405110892465331504331546466496806750217548302359000, -178617349438818325393433867944236612052863597419862, -32230655850428387505521943749826232898370465894], [589877947693765430213989902814239363815804366141138049764, -11154789828410944263313140329066946043134896305183, -10923194878398216269617735696865771204154542727], [-2805626459912450970874513174359318074085370962823132350, -70721973112964511560027971533345614564961367755480, -1455599931622245671085639623205279860788206360], [-1012149306363436512614381943679851694568357498207293170598, -102457529986446091165908492542409403518577500060144, -19017859441979945526906408078149319009608474736], [490524285482680013799471589133879355039790452865722907382, 363368793465418680922178471290303091378473194586460, -6779182888895067629644473260938734844180914180], [-586285675670523419397756927725557936939492539127534045456, 105246222526653726439984952661267599291995675034748, 7154109757342893528701797787529091041151565340], [3146230867687391075450129241506326432267101115238270915052, -316464243836519107124599493344777051288534901294925, 17594209341859522258310656383808778749526488827], [996390935732780331201755185679197297401729480956671575200, 1525352746309652936391345735942360373700860893605096, -50470849728938036430808063944902501001369340248], [1090344944265157831746451395286900264680692758891047223352, 866913516865855236741739471623665217801725606923758, -364718442639256055462044194155936502581908415682], [1641787027081805632314418887583803125370740349184319065972, -289208570574432500103991044721415147425018855274555, -270227469139999481764005263663416731493644570435], [-7037504193309837078041213839907473753087016482191201061300, 1250741399029700720521912430140719313045522708067115, 264289347982762273266752445768000101432585291955], [-6355900209473603852455997828437278181304097581475309564696, -5365915317098780471582705134466213028061335115890150, -417285557487704642186259193928154021735303177846], [16072667134279266294123469253991182067332876178686242505350, -1694530874228862355685005931437082427688470516433268, 304198603107133596908418977773003901551485792684], [20228073678757379268660784461021894452962720750397885268762, -4585479181533376090503598230143609877456523804250160, -119850852871303568334458422102937417123594988720], [-1901414889197630916323231185496752258853880645027637417516, 1401105260562685757645761209735010228023749850464061, 458458207277282371123866383346448009353164830581], [-35106171920642715834900420430216139322038645212221869495578, 2962304058270371870672636996298807036039237862404780, 1557865799709797312100692030915553898627565869260], [-20260818263184321072690858537342069136507485935869628864548, 7570791211727756524417762731801539533749235004496207, -1738912039075576962364390041263837953368763300809], [-99665782825851191414520724880889102101371387350752961925098, -17303660616715588611428160886929150627213323700575604, -1468393551255506066302828071268804063930661571156], [14832305681771716749242886288695025998090364340833429567244, 3006714359715758357385934300330821272143623021754363, 2872167804867091288651932491845153800127425652995], [-90716795171518070977210290926852552965576093323121993614550, 18719347628180894465409073634779810368538856476120784, -5919890210002806642930265941500346981154225167792], [70919284547314838444475768314170331533291990883027843187812, -18724982551940102764757163865368202953622173951317055, -10681911347172891769865126873311293963128752192935], [-131105325773532171494042484838833737502919879845870780935998, -8243684718448869303453440597608831580205156034610016, 15358567373211482793985761182114597795685315541920], [138561383730184996413475302303855939632068751261755755042452, 123841182667913807093059169892664966958080938626152493, 15517454753128140736314537491840016084420101226213], [-55032897953606802017511518614282444074147034034011312627086, -46860938425133583782527609211665545909144514272865728, 15335811579078236006858602100908684184930509727808], [-571299776666622710528469633792081910618225973650536586878200, -11999648161617012309913548604479628514957156661635870, -10824799368623523412265837031055509813718349745390], [-104284829057932563439901710484269650409872644108645858638198, 34244084142225268399182854737944639540280768127764200, 10892961688960554471978161154295691539973279711400], [735239387079341224032527975807335492586351040506627125393952, -5660728679007344259223924736760353597948899446549624, 709409930066351130492218707060334137535227333704], [113574120141334139819141641094927982873623780295765580429694, 302403770665807842161673708136923789804586116444633228, 16546107346850080854136328533981424444351019408300], [703253624670705033933169537295267481906885034043569483379002, -273321358166773163228786785037991706392660917633646200, 40876467609550072520472494075613274986495853447752], [-764067969953304524665916549908171026131603457313790090860300, 134706403053401229907335429143978883767478990625771269, -22877588852051029558057662103691781015380210809347], [1107990241062191959900757045062037236355089524262405723519592, 355652309437474555353391674978006988495141004082738810, 8794558949170141456793963311891329916679414785770], [-2564478654772819030974292806995613654832958361799856071754878, 58563911923427901222447241310576614343228627457171560, 46598989373934375599186668581062770429641492692520], [118634273492199696681574412271913268398763171108879477184764, -16871926567616152823034467147703601107142696793646633, -51647787768513115415228872138631694442084583950977], [-2717760648662056901036473374591166523365444142232134248572648, 166746192655005838323556107079013330118950645469456102, -31345554789577260781774795567956094445530681645194], [-3224879876958232135064197077880096158133798311872429285753546, 877554772623301171975822068886066918952748466060930780, -77030700347655672761961524164924667847244273135236], [1424906173277596616203462726742638199836836748926528789267500, -586341734731249869296564312022930417707593791900437533, -206881034690851736912746761159724560517763743099221], [-1581520528119723046522629787291230252474729697302178534981618, -607752710809187083527884250848228926691438222848440660, 199245460948534108646736823261395683620890008472780], [1850632528086846008237573950939243497456315872963402160913634, 1601197593562820370588829869338265074685277404434024616, 31596449975478110396952188288492302188487066995816], [-2422083741237015173841939022958284023623994183490567041077698, -1358563895764837093657963049487760015205648368127538916, 357280770802920429001313390779785832418362199065020], [2900831980842917059793489802744415671110551245545739725555124, 1187741298276290450309534342222490416727603384488107989, 23792760626089106838321242808239161154187291251277], [3822566659628243693025906537755960457081776996462462192965772, -2539201331945385607640576598698299682381287013027397765, 357860088714521016650040882817084838491374255268995], [828945423713469195850426956795530790896406640624020580015302, 4717734474560266641559117001036118682522550337559400940, 416370720511578692334837149640683099917834648339980], [-5122575262698819453322057395567983522796588250688452871390050, -5559108331552187829836374128430139690689596579891214308, 30849743978778214656026980474769359039725789423804], [27279020166371566240730814569552464912102013734936712816329200, -67333164796885727243928942605897161533837071154650436, 339488295477956656773276669320054988034722396607068], [5067764597466066632316333070866914481336218189270860646281352, -746822226647770906431953654192073463833521692925636286, -867317137888092880370814630044561716397589710813070], [29286964316232133280465353439132897999236435080310084398740774, 2201984445238066684052592117266213790845258659380046044, 575518996832312816862113541362956122436097772370812], [-17606565512655731810644241599405005409873097221870716537916900, 8410478688589748443018112822448563960287835001054948543, 488255473486748270074550700133061203211281697137191], [28666172363103870066534372712760990142422157847743647067454264, 7459014379252833552759170902988029378071772979437562542, 98988995982552292820866055363361346249443116403198], [-24222520921178788979516666256037789312039881603697586537296048, 2846737257923889090765777668483573010370693834967758740, -472159783233208572502682205082609744140158192097420], [16706639586069774237772520208390825590141086101274188822720302, -9513729445168605694472595193929819823058352399047125044, -4408180303448651401799917526654785662871429264258836], [30856802659993567305969331062795509117551337758199981403154282, 16427482228625321426111925110453614457042799637302558160, 2249663687221257473287525860753217739826483742224720], [-39230960921522715564855086024374923764985025322077826227498750, 5244073526304188159585389790991084241426706931947932584, 421132186832710942351804054340049996992112353269608], [74405526943409054349870549979906405847222297907677075577463134, 22132073032382234083154878572788393359517335113664781916, 2452152790632999272960700997783757513491516513957116], [-55762489478800692121464170492907085636680651635260662265444948, 31362592236518347555289932108190895032096987482172461443, 8015535504169515166543687375041998807200319466425163], [67706639649662654108847674521550403230739850348598506474556902, -22243709335165062489998578775337332266497711098181674228, 10935939393210110173779812856799059636088643226122796], [-123115259913168751541799866184791400476164217447516855938095750, 66165123555819449781867747891311520140566145403713253072, -12515149649061187993450705236743694461589408453756336], [-170908391913304230161897418984234401889193012472710498420056268, -9738151287420378759850885239468241779824679002212891755, -14924807766080610364867401600035524637319321989582835], [55824199441106480325783797539129970745653563697544561573985262, 156671048089323224189487975497110106819303471928110216060, -11538073139313145258172717827564120149871272407050980], [303491607949379627562366481277186319513685788805562852047433384, -152245268851503060796451553877014494235496060614622145334, 15894356097866295395959705730479181674262320334177466], [-507169908346598013193424507017631375730034977286147263179630748, 10413282172718410260781945408036282636217338761603939009, 16183275012500876149032997608186752721382828075776345], [10543996272640787514533762691592134127420228292690097762618950, -140208934290396244081366518847991710867676386291094666484, 19826257436120609517950245268639873485254034237301292], [159250589841883817558343417992911409945111008366012134479226200, 152489882926467096927674878537251363675410147052551707958, 10923279106006760669147513905572583876534166495288646], [779183100368595460035604338387455685693956294049443857839167054, -99987170742125296803327853769244910226229090250888212900, -14260625264266463108263232863409425092671974399515396], [277386491652436643882043100629498938631618946851516303671185802, -107126041861016943323338851733831255356993976750098211504, 10354768167430417535369733934485015659393418842817744], [-1246477033215923858865200268063224697474663030225202198682544700, 120459509785834993748425321950378123904809736324178300217, -17599984488325743089129068475023987843333321899154671], [810768430654115904836088124529801974128896474215064543525446944, -212870576585343020665861101355615585357217585072597214072, -3092254550346960187274040217329111073004244688687800], [39667477672801597023751338133182893939180485068190312572191702, 202618899929758743723077370001434179651853261466071934044, -84735964061905100993401383679858284310190101854745860], [463614163503151161690420953765275208237123282341681996203244242, -614559421502240432630687311805880381539043231964237755360, -72710260446785966373459866113680533706852700953297120], [-1217845266477209629209035263274364509476821750770574483531834676, 133095554173869998883529853324417394431025454088188574379, -37125391957062992697196019001669465018498574972959693], [-1527409495938770425830627626782159426748699610594369852300765848, 192802087492440085952367873876751374398637812104248189178, 88141380509931991103541627330167890063735323703070058], [597541804784628057283537816862942378252766536120249839614023252, 550063558273163060449311388497209169233566826395111032381, 125780015506268110887746187981282215348234787686671989], [1575581874330835862603343100875520086629824259973802004166838832, -886719952540282225480854437526147754632454556482682712820, -107927342193450792849017646769465829863106590414889940], [7071185618920730572734480782253072981046385667999172424459597000, 802509348318123403371230680654263145301648529740751338514, 39504042508580079882566312228553368161939538805006018], [-8025876606901677978500524199416625068212309613782483579351685150, 354016843482715438745238237150883901140505403654814744616, 53667170478987798483952687229692479727082557298620392], [-2460052813357559743281717223243894131999395674294207859251240198, 105717603920650852667308683832398919160743073765033554728, 245662679668828609831419533780865645759462253034533608], [-5174148043841273505830720381110875631545261779449961943803030378, 140721240071193236345200220456001603046666048912276045180, 410145447478247839515288529642105663748788776643596060], [6214740431680055878692163367406647799397194996147041461013306252, -941185875741274649784269429560839256120956949555603196773, -328611715358141808784076092423554016578848579409451869], [-2659160843034095757997412732659193063903903698188118194703446, 1285212047851853492108158117260559839112538978362070144400, -53622077982214112991345814461543374023862169899130096], [-1831383199207500954341775204702332915578676506142918816279371048, -3754495146214676635323637795100314191851774319104431748970, 191908747307105720945282876823476972682908845228657062], [14037808679112133188016629369068003458819708470098108080235905812, 4020184740680214945475306231792897790207875010975834314605, 299585174248274417085472884779235981303953498528181285], [23918883906536020311224767078565855835459165209118670585995215602, 1247410325739827488012228489150838190161896503697108350664, -329083245053479055560237198102211133873722693172748920], [-1892508452259138743066777382924322038895683846240813956240045176, -3431276520190142612032865439089048594564504265477643928446, 432985030923573748055413380213662074293311098146562482], [-8474793361001673187293964973444301141239002265780196337791231328, 7346630569766512306591189034406390511356148178965678449960, -542280091259322033020473046412680989883904236295334680], [967352977432568259600241033934022822081228143210171296033928702, -71589054616486061389838649143455757400782700702313887588, 1935472450681547513241971698233547553407208247310300476]];
    aps := ConvertToHeckeField(raw_aps);
    chi := MakeCharacter_1_a_Hecke(Universe(aps));
    return ExtendMultiplicatively(weight, aps, chi);
end function;


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