
// Make newform 6026.2.a.l in Magma, downloaded from the LMFDB on 25 April 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_6026_a();"
// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_6026_2_a_l();".
// 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_6026_a();"
function MakeCharacter_6026_a()
    N := 6026;
    order := 1;
    char_gens := [787, 4325];
    v := [1, 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_6026_a_Hecke(Kf)
    return MakeCharacter_6026_a();
end function;


// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_6026_2_a_l();".
// 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_6026_2_a_l( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_6026_a();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign)));
    Vf := Kernel([<3,R![-364600, -591920, 14330206, 4270412, -195753429, 86157525, 1187287682, -1001936935, -3638574498, 4081222561, 6129262453, -8535122862, -6023900330, 10659604436, 3500252602, -8687431331, -1059843781, 4881398290, -8502184, -1956392903, 157742641, 570299137, -75900548, -121920228, 20612482, 19077095, -3707793, -2155888, 458230, 170981, -38630, -9012, 2127, 283, -69, -4, 1]>,<5,R![-67756950, 1707936310, -5365872077, -34132138822, 105317940562, 210073952972, -552300511219, -530179114223, 1300096874903, 735779597048, -1739021608755, -646930736400, 1489590027589, 389594433838, -874502359398, -168430921412, 366668897214, 53820568567, -112621485225, -12929872493, 25716828606, 2352873296, -4395007112, -323926974, 561838553, 33404381, -53288458, -2528395, 3684219, 135669, -179862, -4863, 5859, 104, -114, -1, 1]>],Snew);
    return Vf;
end function;