
// Make newform 8014.2.a.e in Magma, downloaded from the LMFDB on 25 April 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_8014_a();"
// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_8014_2_a_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_8014_a();"
function MakeCharacter_8014_a()
    N := 8014;
    order := 1;
    char_gens := [5];
    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_8014_a_Hecke(Kf)
    return MakeCharacter_8014_a();
end function;


// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_8014_2_a_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_8014_2_a_e( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_8014_a();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign)));
    Vf := Kernel([<3,R![115514277888, 5892294311936, -823844515086336, 14054421252374528, 122625723364163584, -2391503820150865920, -3506858764902518784, 94110457180082930688, 31720399161579850752, -1815189990050053200192, 186270240023785985664, 21297904119447382530320, -7140164033782636286352, -168898279906958145385156, 80823550333091973563300, 964823402143403006681824, -553572832445354998886752, -4147200245373072411332034, 2649347531680698562717241, 13854864388120900757251730, -9460512422153656629043978, -36892686790644186438860104, 26228881223135760067806087, 79901812446975011835022329, -58045087654857781914471272, -143096341024279130333618256, 104685943826107680535702741, 214822440981058514522189088, -156385706987543586921271702, -273418976817711681743123908, 196040838214540534579778915, 297832639625887621552167198, -208425483561132829936946384, -279850303534677261289584511, 189590476181904878490768223, 228314595482306651532596955, -148629976429593557338236876, -162614411162382987771071287, 101031702669038783986735768, 101567774827451902633846352, -59850738356717890183974493, -55837833244280550872556960, 31029074640925247280149244, 27100595314445420431100500, -14127312562871051588380313, -11639769320587001066695042, 5664473338565242775769085, 4432285110270164343360764, -2004598360488727271085296, -1498365022242330153018049, 627163933052740264604859, 450094603814907780212810, -173663952170094669863376, -120194496409237396023229, 42587133610905627431933, 28534409766029228748021, -9249701067306353048344, -6019662130099215724276, 1778549119371430038003, 1127471826861710550921, -302450871782587397695, -187223332266790841410, 45413789618869050032, 27509263301076268224, -6006982705021133321, -3567182461226726970, 697759409387403307, 406848220574355808, -70887649325308701, -40638618061514268, 6265962084553649, 3535891050250683, -478709101460235, -266167876853740, 31342619306838, 17185465791736, -1739497978541, -941259065420, 80668550082, 43104382688, -3066167501, -1618750164, 92984301, 48524713, -2162395, -1115920, 36194, 18477, -388, -196, 2, 1]>],Snew);
    return Vf;
end function;