
// Make newform 6026.2.a.m 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_m();".
// 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_m();".
// 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_m( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_6026_a();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign)));
    Vf := Kernel([<3,R![13312, 3600384, 9813760, -227929088, -593188448, 4204666064, 12323624400, -25458673816, -88876082450, 61879265573, 291144491543, -79242685802, -553090792969, 63730936452, 688246279321, -42226188623, -599221576414, 32124625454, 379245880214, -25414829122, -178531154021, 15923017409, 63374807998, -7212263934, -17088120721, 2353553007, 3506706793, -559612776, -545818828, 97645702, 63806945, -12484971, -5498736, 1155274, 338215, -75242, -14026, 3269, 351, -85, -4, 1]>,<5,R![1803859328, -37827895808, -255355907456, 2567892692256, 4013419193572, -30611123927082, -31046891562604, 132594948995615, 91043191316542, -301782208582150, -123551152384032, 412272230808945, 84776465948003, -367464335806141, -21725934464274, 225914401553871, -11052067485352, -99399442429311, 13142968797642, 32047511104062, -6419516351502, -7673889189012, 1997993112879, 1370769515335, -437165178161, -181649474496, 69766803370, 17504382400, -8229378886, -1168020845, 716796351, 46978940, -45479997, -441525, 2041057, -66126, -61305, 3981, 1104, -100, -9, 1]>],Snew);
    return Vf;
end function;