
// Make newform 315.2.bs.e in Magma, downloaded from the LMFDB on 25 April 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_315_bs();"
// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_315_2_bs_e();".
// 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_315_bs();"
function MakeCharacter_315_bs()
    N := 315;
    order := 12;
    char_gens := [281, 127, 136];
    v := [8, 3, 2];
    // 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_315_bs_Hecke(Kf)
    return MakeCharacter_315_bs();
end function;


// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_315_2_bs_e();".
// 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_315_2_bs_e( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_315_bs();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign)));
    Vf := Kernel([<2,R![17161, -751940, 16473800, 941291406, 17566022757, 178256947772, 1141954460858, 4666764220596, 12341261791118, 22271425092290, 52588334150742, 175957384265364, 460284762848045, 648126003786130, 626887205456094, 1069044322789432, 3228198466887060, 4353974673635494, 3021218760724342, 1655974320833548, 7915178330549184, 10763000889933302, 6758465734916940, -224911630640204, 10232585449905438, 13660532802222518, 8327326931531528, -3139927916856564, 8437197378783168, 10200198230399814, 6184073210489934, -3726758453090602, 4870751535128426, 4784483336443604, 2899374458201352, -2183769313814110, 1992036397123872, 1464599794399410, 884604299572932, -754033569862464, 566299251586822, 300269946629116, 179834491029896, -164840568651948, 110606219757066, 42020358047188, 24830271519164, -23769618474512, 14854207933961, 4071201799214, 2364126967678, -2322173804496, 1381481892684, 275520440070, 156787447572, -156293630038, 89584083588, 13040515074, 7259992348, -7293299052, 4055683497, 427632196, 232753558, -234568118, 127095096, 9477514, 5043622, -5084168, 2691995, 134926, 70250, -70698, 36662, 1110, 566, -568, 289, 4, 2, -2, 1]>,<11,R![17674645043159295835145616, -8879595263516154857762016, 1500951136273710540035845464, 15117828764783944371095560896, 129837898269123836066536116888, 626522172447370304501691872868, 2462268194425770008168257732494, 6941107341945685259414055879822, 17204223855627714962302368384825, 33859034680456415951859295079280, 63509365638708505785744591082950, 99116351761761722662573983209298, 156221660550832689060775746985779, 204006325272188698638035385574374, 281574591384792241376752050159498, 314465321642273702746405214773842, 392207658323677582721514244407486, 380320595055809187725953565490996, 436107608509531365031368957818967, 370128187244793130437196963413162, 395202142991220878407360151453796, 296075746587466262934650795382396, 296060311018523543862215346748452, 197257467632631805756307436282144, 185256941794170987130130879166429, 110721905106354414729467118132840, 97617448326961722731109925864287, 52760709611801077030633749351876, 43601425519895406314464460709445, 21483907558305480593668477207306, 16600268440512352689129214373760, 7509205728988780071137195990944, 5412845254146064808016743500102, 2261818009661757027048552362804, 1517892292698157912237281318683, 588775825389155809730727980156, 367402074187434801680287164832, 132807039709343368706509738144, 77015013779400918667224862509, 26014474946199162521592015980, 14023290752184882721482537793, 4434794165527249876802024390, 2224289429862001931987559798, 659266302867966122097756490, 308101934817165778414487058, 85628890814087216988916644, 37354424414928028794615443, 9734002144945430740524164, 3971318073647051238584242, 969809932559246887006338, 370754225601251423809467, 84765837941342140257464, 30419778620829405725035, 6502348953707799436052, 2194011817372625780372, 437639458346323251842, 139024965119273231431, 25815895409996952878, 7728764397492399244, 1331950805691058026, 376022602185661208, 59908791882800778, 15950809019431199, 2337793261783356, 586760878030482, 78603537361916, 18576893707766, 2255363117602, 500849111776, 54465715396, 11329167441, 1085208182, 210360690, 17294694, 3102184, 209702, 34377, 1752, 258, 8, 1]>,<13,R![5842202363377250573099356432735938625239206705426845654626481, -51382624035889745491826563385483130064716739977507982359648366, 225957086779801923513534240925550132864738174573723928701532738, -662436715705720666711993565811598252143695579030487327368991156, -24776679198466399531862080896742580241078016011277174440631015118, -18038623445191160340490429854300177403629661970670273653586468720, 1154487441552936301924979545579460618078629706561312888242424835012, 10058329788973467549737252073164520798382481839975723692080689262904, 49421235438196928791871334596831644549184760196257022088855946613431, 166565358239193391040235692541311738284672489664677217811452037055110, 407108532468751121312702258998933411562863362263253051448375475186934, 711051840011854119923170075759512842356095768976249411656323813769876, 733917080220137664378017966732883790429444474950171766383972861007454, -200924311583436410578557422842901027032437197801920121997426235907400, -2660888404239614809437259940650885341810284929210045117317637289109060, -6024881102755131750611301806854389125827241047246957424593051075652808, -6987348814528147604881659381823892392150763801226601076583383513953951, 647757978817551383425292922491919334809014287640662450840337211818412, 22522641527437484326272606924615162021227669744780441784803729489698686, 57252012397654182413234794442512929119186781990379589223216856999903860, 90262245342873125062831582652875894972297894160452371833368323752095530, 97819720334606901731260147618697564854571401062288385707226041779896644, 66070397130579800948902256653557051694116088714656842456387813476654116, 4783214563631357152030197542688879024729424243612774810973844322711662, -55579370943708512099921314808824618475997904605694172823673169452316920, -82268898880807028222763696540033910182086135433954088663974766535112420, -65378092768310302180938162423311249169248306378956723524634024571707464, -20593686848431959942700244000062664093834192416868445052783673376062424, 25028329537011682121240949066225663656900870180550645217859388374403359, 47663988417190539443593938344147174678605024662697224683657527654379652, 42328332039843635632877139658463677858157489885953017280044649951759578, 20591285069651909776066999167801691502900253456004490199995428734653682, -2036230469766202799913590255621166371253145205757413463913811363137764, -14036642121320934398940137586658537850892866161052377537548140040068604, -14065596267251462209008345931982650538737474985362010207218121829557766, -7736392876017861322708135239056828801475413265569432105003420106486504, -850135959800083998016656646477687368949049776961449845134409467442895, 2923873323979800166419028363078611127486060251000490840307756794104768, 3314004211122542740989232613677371616431782406646682400482256457829130, 2022130852337563465709329286857211114675021969091950261308440456226158, 551737233971263945510884127031800368099123472522826837392522029215183, -274884035599993411713174424856945364363463765251960211409885056184400, -433434811959537331199014679154315604532185347195927069373827335762940, -284380626588704988406844831807851597621911232887021321264026372457654, -93552022232038202969215123065363255920705746615461178368804030718134, 15162823338796257282658875000735986630354904833433502671292524372384, 39621077038471994250408556149976077734794826622599202286029414966942, 27577581653198310755451318384521300183441766307349334494374198342290, 10023435173174937409763681979058581311105509109858341449838812257155, -93691788740068752176176809764902233898826533998611920589706453414, -2565347323070427275663505997553675199025451108328071514355902620934, -1901807818894558600391823742934557784262976603502673706271129150652, -729754334104445765334854408144032836482005415167228717828445599031, -46580193265273254100881776251801904698561633146391690171457731152, 125534574376224090270785508308633439239086699361200125979298566788, 99254036028483768050727240577503275030438249303428171464409285104, 39586389773603360731758129823870827701914755012195551672658987711, 4343783862430992117689955084713166420321698329701983694126093918, -4624969253578392363443939477217823329868193674034218425652358562, -3952159482982321287701735414063659018497339781795405367179615866, -1620529674099216590351432360586384656562736093989394549399802851, -220270666999033931485376807156110304219178207376159772198916204, 131806590282739191209152069422881921317366244184243737403758454, 122939450591961217047402734933404660355855953810215200171243682, 51634094065671667300739701622517212799717352878331178456455103, 7841375353463164410307853434940007037158539755522615013952390, -2869652438475876373844817543801483832427046946313001124968618, -2990409137805680074415697378997484463675696266263017166007298, -1285175329111295997931496833232588676984923884660347427703037, -202919470792651367553437492703452293920600606632277126612714, 48796690529967482601504940565807831375722302420310015902048, 57750656623303637325732723244610274339516093337815131792628, 25512823795777865622976613323324627259542407319552665282602, 4008571801849434223178317183948428967150108922639227837008, -643399685777630205309595176363980478266720362843968550662, -891329780698463868803756570806775700776478562074024423366, -409012281947996436249312038412581169589619082842612520175, -61198784543601615298379844376482912419422219096597663428, 6642748638858006598415247576660724818293885520522669948, 11083965010722358147203132267702527309041229368651919700, 5382916660593049999630791559530472896273783916363803195, 735262684654880321237140294139085166304351906465897418, -52511860916188691715154983423071571270793094384707446, -111234174620832250204783369836099490764673519659525480, -58856307867828321672072943105916334526406328611219499, -6957554041122857300378103732238616249947404075663894, 313026714275232207929022552366106798085931005174232, 898693314793555979081701952533600408705432729731066, 540534734421155598396771553647109029761007100654995, 51956153309264986118381893666236831355857457743510, -1286743559722485521865206406548426581997810983986, -5793742444747020177398645745333633652865094686994, -4195729920091660269270554993046088246825187064306, -302353060376121219754724095629810409731768103188, 2981512212093919911405106794972643828660894086, 29205970491471086767435559800678790594445165732, 27564215157974837860430169926593525613194562224, 1346667598057779247047122797729818288176220912, 2946022842281284644312034179749510111180736, -111365633423823435028428399554984305060529790, -152692035386038295271344052885601401608982539, -4342221809098845556705178420756612485392984, -51948071975075910764315202238192636690764, 291805807361542591965939065610651781248156, 710233597591202737087722190223254801043277, 8588602522010699336046180001742304576588, 218665829124279337594427350658441836722, -353793836355619912033064647788647672004, -2757164495860626120332258898264901865689, 82153493089193671348699747116073764, -451241821883972973868840032361646418, -1012128337978971675415253538525702792, 8916190336602422049755643877527826484, -74413879999899569052548406827537304, 241793765723167158833976575300652, 7352068432218687502193844535203360, -23943098764633039991521373372344302, 323473571679879212793328683258390, 1842601350616573362442904023902, -24410448977086513306543323303450, 53421837442558119866442743177633, -868646180922235429883164865496, -7067628579439692373209007320, 55669970461357916009653753602, -98816655956094151772473410745, 1695462894787290448452516630, 15151774439259680623171722, -95733227975491310719447998, 151492777889427530001220647, -2534582116894669859139948, -21986354286678233343420, 127143286583414470960536, -191570937936004349116232, 2930548272924410645184, 23623755068432113524, -131966655773359076352, 199103040153923970733, -2632202881623398124, -18364988086822908, 105947354770445970, -168167597585719332, 1790914464655470, 10479952552032, -64756874888640, 114055371593005, -901443182184, -3865400352, 28727665974, -60321489872, 301781448, 863298, -8505522, 23984127, -58698, 0, 1314, -6473, 0, 0, 0, 1]>],Snew);
    return Vf;
end function;