
// Make newform 945.2.cs.b in Magma, downloaded from the LMFDB on 18 April 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_945_cs();"
// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_945_2_cs_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_945_cs();"
function MakeCharacter_945_cs()
    N := 945;
    order := 18;
    char_gens := [596, 757, 136];
    v := [11, 9, 9];
    // 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_945_cs_Hecke(Kf)
    return MakeCharacter_945_cs();
end function;


// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_945_2_cs_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_945_2_cs_b( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_945_cs();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign)));
    Vf := Kernel([<2,R![332106350521479431849556622431836798601, 0, -1029684579170539944706086547820275230322278, 0, 1386583826344714253900526748258332574457776800, 0, -218836580838690757620669739212339870751468353375, 0, 26182229302097692133699947083248666363193149211666, 0, -1591716926786019862310265278829189545869132767832857, 0, 64134490971070439034984806625180083566750227894025839, 0, 2378536444027249060224471592947809533322838417440620353, 0, -8618639712450467602057531466063367248395624819763219133, 0, 117829298371027586651234881379063807631408718208836859574, 0, 19393305796571397215166652059208078537584712461859542502395, 0, 144373953871007338916170811615841113527731995045440320916485, 0, 3373270456976839068803514474549723750165768786934211028880527, 0, 89691490008489533512656976862550445692541211001929168133999015, 0, 802944495711930071249624248138190624051736676827564648634073106, 0, 8553533390777328159284534502018412780899106809982140048066044133, 0, 188751175510820251977182528424243671187948344388571608679966182909, 0, 2615783250533427400124866567416201257536010192641615314135924927201, 0, 27926553268368480041694123355479889962876848396258599228327550803587, 0, 278628674377993168593192841943940165645206520914754813345898999367112, 0, 2241516671420268870514209584671635485207319447444607961188359351681123, 0, 13706341671563599665529709805271053875763376248233236747665647518124496, 0, 72171529262432967052273033563528539384834365722680716935217432890151512, 0, 347088605405854883194766067652178565151807728301622766958903807960901775, 0, 1381753309102461054129883213512494045715360049197580968276064627514819511, 0, 4733211797605547758096245008998916575401381065993648821895133432218136939, 0, 16475179948784968544189499580094690059006347589806632247561092931438180324, 0, 49643530944177238416086037571402947161403133446315811822627746751585651578, 0, 122641006499257281897317520198498005007372487228011714775615197721338333087, 0, 405087609090968832467652369225627046726312139072582158854415083172127113887, 0, 1159167128009782844645109271985356022170812338705254007927760998992976144076, 0, 1940617427561443475276152915421948694895928397078979576580176689271215496566, 0, 7390857798074532245614748384036031012331317246405020739686590574967661774248, 0, 20029396979992421593921631545329267915808885617809300160131624634737645600025, 0, 8269391750652471602179771110565677122059807276395822899568561076538768159844, 0, 89003624945369109050564522772643627135566850985673792313198177644951292412871, 0, 296815795417549782806646848042778914188241115743848032136015629587751110508882, 0, -149834137624083893936483458815312141612339099301011803832370875427765350750777, 0, 901532940896330035236602928867298644164870397282995161208657778789509276994966, 0, 2681048405113844605672769406067163936046244391095688541966371296853017455652986, 0, -2477407631712566483314715557592393171816156320536618612596405978099548797108864, 0, 6740847072785719247090729874402791137063145296664167969063236297835092865699023, 0, 17548413739898867509544977211009709181899595312551683126290920136253512592100693, 0, -20428800194182511599739959777417190692777211650291956861232637459224053212537703, 0, 39745937075060101150100872100570318858051410033598841596243257719167067875513694, 0, 77539015961585992080065753174708287647083324371566889678565768510860170418350525, 0, -104085775202310003497824587326085867970453271352296139755513380155983383465684389, 0, 172923431845512989496426755487416038958903132217729605865472205084329136562995601, 0, 252987844097706459781545893369390156241237913843678385328370405847430882437283768, 0, -375605969393113536809888014645904953757208518094152519809126823427091207518981336, 0, 580967667171314661785287888567860804961158686676375976054050246908326447702443129, 0, 577505872215170949326837368641306059035600208310789084500921993174633786609361753, 0, -944027318777495939725631500852809187650139865146568979358669989982113553892204268, 0, 1438859839958547780551010212469037763254239689312392529822807723286733862864211960, 0, 994799557082813888742895884244915764713932655324497264285316300253189947971098393, 0, -1761333861117917996491095873430202235972567080846883523772930963020884417393645831, 0, 2708712485894524342792644954469514938273814187035387587402061244080611147287842700, 0, 1262114873177571552060805248873246805431679621776845953109803466530275288417453429, 0, -2416247311935983295785957503512801871613974494437367098004684834934937243206914276, 0, 3819670801666599870362103060521723687809683101467179746048440143073060391891029935, 0, 1307386795016204595207343820144404442620766573318482750056465904062655124977277457, 0, -2559010975542209990340244242927900898306529755520924079946957145534283393641473662, 0, 4131724639128187836390740794187542665760565872222132578263616440494956153309472053, 0, 1137129789295579191305786148974846560855064321993294370773033945132239665348017064, 0, -2128706048271435837814323521784651149222923605762066474441113358559965494005078308, 0, 3470887015423496296873924424023883238897834756870947929029274355736746492473161396, 0, 866515897707845388267740597583371249155528889371403317350128167168672554712442565, 0, -1420817775390911320488270193577294005033864770478401848932780949630087586289286079, 0, 2280417388753246457710209005891902128719304951816131553119335656843357262109483097, 0, 554024127310990719054737011163499763486127139153723896717752197168118204476744057, 0, -761504001490981346211540691357341342588647676438369501029906284699637881251430113, 0, 1178171344481220671533133776076453863952365939587502346105471578145994851148330774, 0, 290860250170176759887646111112110053080120813561642198699816837748273600714048091, 0, -328189668992670520896360260566639264022646280870725910758243937091046294420337650, 0, 478016743883758287423361843490452337221729088854202881547021493931471274689072038, 0, 118108207873441481036487586438775940274687760827099188719301622712090156368915266, 0, -112255607770310621299404074688388240084181449334425699372497177673067812157119716, 0, 154608432515219534645846738709178861982503425601432523974310795116843445552606790, 0, 37424111173869586553533350495732614690096403508464016121751334928300111607026130, 0, -30526322850923598699267239026206948085998212499494494755922208841875877700654251, 0, 40316082424433308062687137022022458825601023902135675650853143494859625182060539, 0, 9332304375033699827555043107754776086113781677932214767326896279718870696122696, 0, -6573966198098698799001586310957318532802117941179762331731092748030388499955478, 0, 8558046707475321708802961338089995874209480524505715390501712128915454604609196, 0, 1890492623484383642364798736568808204858418298061261310375342210767593424736908, 0, -1137642309818122979882358295903836766153560269513493893244574768649380518806604, 0, 1495204276202647396968078086782257507739563235399771257109909426725812357828445, 0, 317778830299801045219548978107719551811887854699753764354122566547563717364171, 0, -160102457127411098848749401144040981879831185799043199785455674210229829970706, 0, 217395763072704641547335381543740857890510178044135777043309713162767642342956, 0, 45086936332275216349202149375384357731687761262355626327592819571840829677718, 0, -18588019208185470588901284790086667895000679123888363620711467942801093345770, 0, 26558636366559034278753919667667382736888628832623003721214133980754781300305, 0, 5448740969085711716483077417297196519937399315471080880563398198281433972209, 0, -1799829827435288061661043734123479601802891918128928390068857923979530818251, 0, 2748617074605822008604572049946401241828640539931900661775085953543864854129, 0, 563765075604685354878802789764834847860528940446421132479744010234889047296, 0, -147022656842964261072108898436045345894794761877888415894888899098564554124, 0, 242451126804856317005065891301570508644338234502868553161270330752910727158, 0, 50033565818014341193797718909417921998514703713640819081181818512250500590, 0, -10237825924426601112849276032278473373402409182806266680994116737965384037, 0, 18314695868505902527156373079630009678152850541340136815348975704473044667, 0, 3812262999415865875055556755842233565149590139526611058327707435302117628, 0, -615432949159491777097425532818947003011524667300723282431935700393121224, 0, 1188736389043270566724153843517475280972555360023765011228637512903868483, 0, 249484478884262245356191368255249733815569540240048490805451157917904920, 0, -32350483745122662007519005415036323589438345356573761109712535613290781, 0, 66487877924787600772080857075294033859422661248236731339077801835309321, 0, 14040078497554898822900539407625739873741382676924961441323708959678234, 0, -1506596126750082248598649048423429922346061035436305617311131629903325, 0, 3212874045338487601609729044358170152684190822901452988243310317000407, 0, 680752563165400357565502871512736310425679722030799057546297691923595, 0, -62683157325053919599852303639246294137723146293658102973773655746246, 0, 134556530782126573179455938901060916275054756898262409590900979301900, 0, 28531839372290007763887078061914221898594992291894150300681646344694, 0, -2334554817574057723454788333743355762976687889795583796108313053697, 0, 4900867176947323674659225109442734801762016279023499464418575076206, 0, 1037569308671406717437282194174874279325444496118012790762848757003, 0, -77545806266350379638660838339460975071653293000641627284401332814, 0, 155823562548487144430724269277773460993622855164504418909204452864, 0, 32873934660764375983428182219495161673249701303943897992848585987, 0, -2283685119928975810684599608783217497389571230699463588689810683, 0, 4340960604996102530014945538170183958084992178623219317691849233, 0, 911120212255987664679788337188439294061328275109747001978239730, 0, -59277372223868504274553264072480455713232267423660021087609093, 0, 106327718725647761036062413108239788447353823551189755309014809, 0, 22175052154653870225713462141286183060741779702052905847937464, 0, -1350395727780116435922287865534104769726647460152439773531490, 0, 2297012035566644268462941290624026175071912127685149714205652, 0, 475587213171061239658307059147271920660525431141685231449816, 0, -26925174277071833567173038107460989246288477083396644523317, 0, 43884939827666393024017318957849438882940121436453767070128, 0, 9016406156194782269305362636826685402958437356776676278435, 0, -469225610137959548618513985029215779022635027916049273847, 0, 743191759828071063118112051465582004904581889083876872637, 0, 151510282203902161559134384245854663435145065604718957317, 0, -7142262255931776731065249948198136248878513810446550603, 0, 11177919842231624145156382817435044235563332805283476893, 0, 2261747731523718421964475753931530928436254679547571410, 0, -94930818261528564453374259346142420992324624355536080, 0, 149550515104029808645386912829855432163544723188841750, 0, 30048668423472380174641880608203743610666873467090286, 0, -1101325028348645373644902458367847885295036467703432, 0, 1782150622031338830739374957961077101975022067905006, 0, 355782149968377080836912298932245288193105111759872, 0, -11142907727372782483002656288045383832430282782112, 0, 18934733455018238265681626124762097143970879546179, 0, 3757769311238741734532810712721869465214852294077, 0, -98142064331689067006730438887419254317442474636, 0, 179487183888042954067616344688539724735809093347, 0, 35424599743684840262562468555152296341612162069, 0, -749946997177309344703823578051261725276642384, 0, 1518538392113845261950446756597558155580205645, 0, 298117453225193870700942460859039353587561660, 0, -4941706087955314423393372415659527362635902, 0, 11467036818858315782134249051978757701191510, 0, 2239281088137816859635149618885166793622298, 0, -27776255425625739409496328644417634141753, 0, 77260608147076781252744722339563402382047, 0, 15005272014067129787511643956295693913370, 0, -130400697640380825154754632373006404086, 0, 464107429312654264719111720790833807216, 0, 89620531015829319706446449519272433442, 0, -488216427612361859246403709592629830, 0, 2482502610035136850055228650090356189, 0, 476451713125488549527354407356408465, 0, -1270519859034446985604495106495748, 0, 11802855604618945693836283813570503, 0, 2250453570102028842376879275841593, 0, -733136249952156305721025996155, 0, 49752749633562602786006613984501, 0, 9420147791157920268983182165602, 0, 15133953242030279758212090798, 0, 185318430681559676283070137792, 0, 34826967124885575912155229558, 0, 110168301832928389751468481, 0, 607211868010345797986137440, 0, 113211616976630186807215323, 0, 495758899738446339992706, 0, 1739871604277674905658941, 0, 321669838517867054820045, 0, 1699005521657487876426, 0, 4325311794358821785625, 0, 792552552934954831731, 0, 4673665814775923115, 0, 9231084055921328019, 0, 1675413682391286927, 0, 10447558500050379, 0, 16666393283724168, 0, 2994096168697149, 0, 18878764964751, 0, 24933041456841, 0, 4429562816520, 0, 26942682897, 0, 29940535152, 0, 5254279974, 0, 29120040, 0, 27429381, 0, 4746888, 0, 21645, 0, 17352, 0, 2955, 0, 9, 0, 6, 0, 1]>],Snew);
    return Vf;
end function;