
// Make newform 289.10.a.g in Magma, downloaded from the LMFDB on 19 April 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_289_a();"
// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_289_10_a_g();".
// 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_289_a();"
function MakeCharacter_289_a()
    N := 289;
    order := 1;
    char_gens := [3];
    v := [1];
    // 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_289_a_Hecke(Kf)
    return MakeCharacter_289_a();
end function;


// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_289_10_a_g();".
// 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_289_10_a_g( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_289_a();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,10,sign)));
    Vf := Kernel([<2,R![-5352557117598412102988667657962164876807766016, -9715334292811797824168162255076703725277937664, 692147194636145262201147523404511475014828032, 1893427431713188731328782678017028286373167104, 78862162778135480433682697551609668229398528, -95895696295008619429650166976219310578466816, -7020330975448869402138162359875391176310784, 2032029125070175392409678894577099225432064, 176229271100447252343818922096660641218560, -23191126500949254756317720082152563933184, -2220960755410952268525618390531041132544, 161762756050497915969244713572348461056, 16851013610755502321274053755220525056, -742967840954784647832575353990152192, -84379679107658672315090812776726528, 2354175011725777936253537051643904, 294394350742294479720838487070720, -5299089617642647584340927100928, -740291324473985136301275192320, 8619796333910721361087957248, 1369975769939703522993355392, -10206644090072460119047936, -1886873886959107582523040, 8778003621169150370544, 1939906603551737265200, -5411392346276446152, -1480675941166061046, 2324147082341935, 826024942756191, -658718937117, -326760305018, 110460189, 86704128, -8279, -13824, 0, 1]>,<3,R![966644770874798512881438459274438608136234764084895944278395509168720549, 4085335431858211508988442005090027441893036735353528720838812950532342230, 98619933671802875564136930581902178617741856540056077740992078580450322, -17192692689731506777831991905489872992535146758071831481924102948993350, -498658523704366232292394868239924998730894927663926338115039763264470, 19195826315574220236578868985059420455537405190452734625380135532844, 679290106763095379137668831194761639997579551660457488191379378416, -8417434184043756893686858697075873504487715510734281868222151620, -423267056775029068270102269671619355578562938541914716305892883, 1153096066699754157418893419260945381643316541032713944421544, 146055237962326379371312704778068916115901111787335883254918, 288018785968485646712865463673409731718289699899116966394, -30881717698800450719489138516402157894908165832260419461, -144689692754286932823460374808171970707858075193240436, 4265527107602749824621980184749190434077549021496964, 27853907856105632184722487169307931303292669264284, -400336999446355361694319908863626399541576491893, -3215618131635480227758176547551237247975518594, 26046738466399466268086079427053257258435694, 248526103058671559543489225071593670844718, -1175770750946032716911711973178610333616, -13468078815565825538895266428785814584, 35817561806718712872966088963177440, 522512372835423094274551828209996, -665445902976256570328571777642, -14587380764823292709676653718, 4244228819198560975968372, 290524150440813219140560, 126645104844846482397, -4024235063784536724, -3989198830348708, 36805456828848, 52504130493, -199646140, -354294, 486, 1]>],Snew);
    return Vf;
end function;