
// Make newform 287.2.r.c in Magma, downloaded from the LMFDB on 25 April 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_287_r();"
// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_287_2_r_c();".
// 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_287_r();"
function MakeCharacter_287_r()
    N := 287;
    order := 12;
    char_gens := [206, 211];
    v := [4, 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_287_r_Hecke(Kf)
    return MakeCharacter_287_r();
end function;


// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_287_2_r_c();".
// 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_287_2_r_c( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_287_r();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign)));
    Vf := Kernel([<2,R![136048896, 0, -10012190976, 0, 459214712640, 0, -12711131900352, 0, 251188561694848, 0, -3436279782206496, 0, 35003244392904132, 0, -272997006841415216, 0, 1682957183100653009, 0, -8320112242487505920, 0, 33478226257463496156, 0, -110521984658476147724, 0, 302410232201636142490, 0, -691626393478825311654, 0, 1334385838086973870218, 0, -2190562157997876533810, 0, 3087116970198568254959, 0, -3767093641930001122716, 0, 4012747167247138830267, 0, -3758792075380740950834, 0, 3116411455823356850971, 0, -2299964471131862881740, 0, 1518331844140453556645, 0, -900323804364577153404, 0, 481224207363882624277, 0, -232538236674626935660, 0, 101835269991248001741, 0, -40496129265150955672, 0, 14645527851486092216, 0, -4822316806081568236, 0, 1446674313813489937, 0, -395526394710779844, 0, 98539229292396583, 0, -22356943086885644, 0, 4614328419676323, 0, -864919253103616, 0, 146895663163362, 0, -22535520639454, 0, 3110286167935, 0, -384184532470, 0, 42184329427, 0, -4081316616, 0, 343875758, 0, -24832746, 0, 1502727, 0, -73672, 0, 2770, 0, -72, 0, 1]>,<3,R![2347937515381441, 11282647592229450, 27108501792851250, 129404616279725392, 141492612006278174, -876590797830023808, -2279933085286413148, -8908871273826342014, -3955643600153891043, 53700077670019906062, 113742786630900005706, 407566006436371998318, 716005181046177407820, -308747507081313462674, -1130252103763082079850, -3783658827048702417574, -5990996148733429720438, 1845188588352660788848, 7426126575315027168292, 23396305150693412534096, 36472318626983392419331, -4459708137000020565456, -28380212870487458462834, -75469650582469568389480, -85986574389203511272212, 17618892340668337998648, 60040577454990838104854, 125950632779517350999540, 156478580946324929652620, 27570092746313627467772, -34470723155200011997922, -96216814578797862457558, -130427858250848896528871, -36553397448814137173572, 11083306068083471443554, 45279431091924570365726, 78673953358714762907679, 41966123165943942225872, 14078029389670019898688, 699174725149360733152, -15023836872695823964586, -10750506137134563114570, -4170869738149323254502, -1406799646443941144832, 1915980980975651399163, 1718755987504045294270, 707512213920011397240, 312041577410696634558, -159233192690043614588, -186527211332902939962, -76550246999047677538, -35940368412213934786, 10098645969137347293, 14893690856176361340, 5979522305622047732, 2882556474853313050, -445196457886485965, -888154452706643876, -343538490474495846, -165278878490264150, 14578483754608587, 40541800303842984, 15031276717372600, 7210585325619464, -249912422282832, -1417943529070756, -504224414043568, -240255997111046, -1167778111828, 38503573645748, 13152878141064, 6258618064916, 277498033960, -803079731734, -264906815176, -125952883720, -9737974665, 12938130510, 4130997840, 1972559296, 220528841, -155938868, -48429984, -23225860, -3275808, 1386536, 418880, 202868, 35410, -8104, -2392, -1168, -236, 28, 8, 4, 1]>],Snew);
    return Vf;
end function;