
// Make newform 912.6.k.d in Magma, downloaded from the LMFDB on 28 April 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_912_k();"
// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_912_6_k_d();".
// 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_912_k();"
function MakeCharacter_912_k()
    N := 912;
    order := 2;
    char_gens := [799, 229, 305, 97];
    v := [1, 2, 2, 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_912_k_Hecke(Kf)
    return MakeCharacter_912_k();
end function;


// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_912_6_k_d();".
// 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_912_6_k_d( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_912_k();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,6,sign)));
    Vf := Kernel([<5,R![13755772162870187587989258240, 1196834887534903842280992768, -103838381971250007216738816, -8224488177332232199260672, 283849235534919387451392, 18669585546426263431680, -310475607198933170256, -18854689824141698576, 163720838085103160, 9765302942053440, -44895804542675, -2747590673713, 6388075161, 420187667, -436217, -32595, 11, 1]>,<31,R![1967244697213392701325464644010974817703341540507061552414720, -7302032870161053809703993232003797598532241754448726065152, 8913873315622307655050441429566554273736469517343653888, -2250898374342361455016144806292293490974426255851520, -3024485706653669536762380111819365510274808872960, 1579218570536038948730073718816438324149338112, 408386573759073935141990245062631845900288, -281103346226037986903590169207126823936, -34130033531730560450829216168419328, 22889988563732665655859176519424, 1929448398585186443845590016, -943973369668661116729600, -61209804853087680000, 20536809564262080, 942057892560, -226121244, -5440, 1]>],Snew);
    return Vf;
end function;