
// Make newform 966.2.y.d in Magma, downloaded from the LMFDB on 19 April 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_966_y();"
// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_966_2_y_d();".
// 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_966_y();"
function MakeCharacter_966_y()
    N := 966;
    order := 33;
    char_gens := [323, 829, 925];
    v := [33, 22, 3];
    // 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_966_y_Hecke(Kf)
    return MakeCharacter_966_y();
end function;


// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_966_2_y_d();".
// 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_966_2_y_d( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_966_y();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign)));
    Vf := Kernel([<5,R![1059068265242386862526132444001, -769542108520588444726213142097, -80227656990146534627075349332839, -1073425561020029958881439224894496, 3271953182806573693151060726503070, 55995479447735168414461835364728943, 85469353113926561907557541978188047, -285683543375227852604400760390067303, 534560878294418721492562896466146145, 5982921896429540873392108795906231539, 8008481334068358109750217518180414824, 12501733343375975263494980122484331040, 95621259035978123202713590836471052511, 133372399586107940852385512077055060285, -839999977109694883632739103116972030133, -3338415244819798297022895121569375060940, -3457354197298980456633311106195302284469, 689858676861938072697169858182460216801, 338591533160397672671355127056229212422, -4817399605774175310367449376993998799335, 25714461902163960442501724074070313103285, 155372201085843876476457612274765466900146, 372142477575782655177305719125639384636123, 795254445135996469418755722963337698342820, 1813959282642063325375811677264226604254461, 2444593294968784655120323072734142689017371, -1974289218221762261870088896662016677958719, -11899528731279154892003279784164254766922243, -11941362347002228422736879378522594333038096, 984450187876216266973297522978972409140820, -22630115294351309511727703393978931913257228, -109267187096848119624808215725115706197502389, -47205668349731031857435700464239302287367529, 519295282770644797243460849558318981977945630, 1275430119842359155941868768904916197239219536, 869710493016818426665582013468774508699178549, -958581175493942644364192652175559423804903322, -1326137243420839619247454483781294613294399940, 1863634735018073677795210659216214655935131516, 4847161089250339623125221968012593046542758542, 3109512738807752278067181362289282744134738466, 3154599769115872974151040342671137155118627451, 21001150168398367905318595288553834423692074752, 58360937616140564083577706041221242517111149757, 87808354346906837523078240780310194006427940900, 87604769915994401886345229371863112397069592898, 83282054314112484831063597629488084350003444865, 111372346805565110908072486978504452566585737427, 165231651802683809288991617608548641120476088207, 210164566579207029799872633802754964532779511739, 207367952203678489892728284059770547587625797692, 139340873719156940015101919773304140741667261457, 54340471467052212096757888164501060484383897539, 13447296409342690257548987448628486418361654124, 15814090239401342427953941942391912992757053590, 27663960963369669127078551310509472213456077801, 29521022631574742903374391646540207365524459864, 17889189450625681042181538081865627207899305136, 4421240600623823486498803735058583702138794727, -1310353698519406177163669478759393782792714566, -666751371750736397091211285352305998775385515, 1305533594857711508323257969197015165830006481, 2130670721169977304875863697091138518794866123, 1434176516041954524298491352175809715908501531, 394043725978420428591437953175066466107811889, -114328931121952906984422820397225562014455214, -138619899320744099327232601215594793346053748, -21492221557223363003993293945445764222524578, 64613916343095244377319304994069850092854677, 62503778254384588541703045847235504009857789, 24538135891212049331807436839271357938732352, 951867161252065624619434576454797639094865, -4561503302043590968127659869094366128295864, -2200927254904678734166007327721805566326232, 1081902862139696422644573399204232102865182, 1665401858394921205516559631217273292534875, 809166144966006170153351345910941133579059, 164536697603272929589927291181474702531948, -80068252017199845480057304809933766817447, -63393517911349100874745757581668124728787, 19741606183062556481967537601938344554688, 40950724539971458083725414335756702734345, 25872290838259289018582950944277104507335, 10238769845483184293292570808496425458910, 446129985557808968598982727384195632373, -1742248769448007123730640403795618947815, -566397876628036403680402082868868601756, 169053029457352071057600737155706712712, 359911218614212046441781251520101636613, 260294089615878066719880897185605759656, 88058461230588620210059149705310654198, 5759899920221707016977079283655486293, -11626139321691269819143623185848760951, -8908392876035837895940376551316455594, -3395169547232816758546197444972960986, -611164501469300106230510653896289349, 116105408303857979548043985445046699, 171632026009076184973300988408672954, 85293001268571182534871885525793988, 25179858549989648174887687338110156, 4689408271488333983833478900185027, -230905166379713523042733263028231, -693849983994409503165441861437573, -292645752098399383725048616621436, -69187480210665664184127491172169, -5802228219722424508152082277257, 6232170260760266389038348345423, 4096158035565316411644967276883, 1195915682901010343949422519162, 129618538748890070617409316555, -68125783607576209689609038873, -48029967695985973592699184816, -13181192024975700465985933234, -584114571391583620436423612, 932878358006195778828192731, 421395957693956526228139003, 71440886258817483937029454, -17284174836389879118077184, -13039298646410467979466621, -2871726136403815239224054, 182037881665867006793089, 340849990237876526105528, 104093179221539764758501, 1807496679557196232756, -8699501184729061203789, -2504908248023452722601, 42444431549457917883, 218140479952487902518, 55324965965307143879, -3152106764592839003, -4843083893542144747, -810235929402349215, 159337067414181584, 79768362553517444, 6828334759338908, -3835531969259483, -1247500045831303, 11786235567008, 78694187496854, 12397811324621, -1842397697756, -975776191174, -109290232171, 37736811451, 15890619331, 691730376, -619591806, -178132526, -9716987, 12314925, 2659035, -181654, -178941, -31174, 4012, 2045, 193, -78, -25, 2, 1]>],Snew);
    return Vf;
end function;