
// Make newform 6026.2.a.k in Magma, downloaded from the LMFDB on 24 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_k();".
// 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_k();".
// 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_k( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_6026_a();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign)));
    Vf := Kernel([<3,R![336640, -8690176, 43246192, 204891544, -608467192, -1353029107, 3172173310, 4407263345, -8710903152, -8536338023, 14434827350, 10814446618, -15553148232, -9508623484, 11442064790, 6016276792, -5941777529, -2796989654, 2226928449, 966210715, -610545405, -249183725, 123119233, 47934000, -18207157, -6827279, 1948411, 708385, -146684, -51953, 7362, 2549, -221, -75, 3, 1]>,<5,R![-4543552, -1247639744, 12291956896, -4203213740, -180176576662, 196939568971, 926105618053, -1006058601141, -2141437091878, 2301519536049, 2504510119592, -2879924189906, -1577674357675, 2149698061467, 520699570607, -1012316029831, -59177567273, 314274784063, -19380785641, -66230912625, 9865551230, 9595300501, -2128727902, -948615359, 280652794, 61493531, -24321424, -2305664, 1394260, 24035, -50978, 1791, 1077, -78, -10, 1]>],Snew);
    return Vf;
end function;