
// Make newform 952.2.z.c in Magma, downloaded from the LMFDB on 02 September 2025.
// To make the character of type GrpDrchElt, type "MakeCharacter_952_z();"
// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_952_2_z_c();".
// 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_952_z();"
function MakeCharacter_952_z()
    N := 952;
    order := 6;
    char_gens := [239, 477, 409, 785];
    v := [6, 3, 2, 3];
    // 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_952_z_Hecke( : Kf := Kf)
    return MakeCharacter_952_z();
end function;


// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_952_2_z_c();".
// 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_952_2_z_c( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_952_z();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign)));
    Vf := Kernel([<3,R![67853950047427231744, 0, 4558710804660696907776, 0, 187275587002474396909568, 0, 4535609392751941697667072, 0, 76288907273175590335676416, 0, 962081067197543603113033728, 0, 9577899243051740110240677888, 0, 77716229013174270082186805248, 0, 525826638874287684523714879488, 0, 3015169182092721387985031490560, 0, 14835124291724162861901164907264, 0, 63227154626290422347502836014208, 0, 235207228875621055804183614781456, 0, 768442303793902271913444143414596, 0, 2216344594175898874668085719666749, 0, 5668369881185608726603444675922259, 0, 12905626146123422505723698129841834, 0, 26250346977766125596130485826028875, 0, 47856122636061063914888079771900875, 0, 78433242016788423188808715119593466, 0, 115893965044375873051201033617438691, 0, 154808138481848757159835009640319139, 0, 187421593836103872149427886392338677, 0, 206162507670253294632060110211536572, 0, 206532569853805796729392391086204221, 0, 188857354520023973464769083811920975, 0, 157970410186460920645993192273058046, 0, 121114206049138646685390775241303795, 0, 85275260502146650339851866187680667, 0, 55238318150426068800103142081143582, 0, 32974475795197970910757418851254259, 0, 18168391118987114850807131509023579, 0, 9253126961876305659482605404023838, 0, 4361929599673806688742606300655035, 0, 1905568376937391925943037470395698, 0, 772355942706487581388797954304455, 0, 290738604805977856113321485338619, 0, 101737023891403016553236377897010, 0, 33120616159676670670907692237009, 0, 10038406980835975540897315498441, 0, 2834214599052802131118383030154, 0, 745770855340921898376122824841, 0, 182949988171907058218335611373, 0, 41851090084938045420073237246, 0, 8928158479906353507071288371, 0, 1776099444486845736520915931, 0, 329400270993526007540805650, 0, 56932293242726459409151379, 0, 9164674727862468514497747, 0, 1372951150752179374920418, 0, 191218012779948050884554, 0, 24727568805624494548936, 0, 2964334967325474980700, 0, 328799785500808440260, 0, 33665432430826782416, 0, 3172974884859006324, 0, 274351541551124278, 0, 21673216475043698, 0, 1556464959632822, 0, 100989419992632, 0, 5874731109584, 0, 303406756228, 0, 13735978649, 0, 535889911, 0, 17591488, 0, 468981, 0, 9588, 0, 135, 0, 1]>],Snew);
    return Vf;
end function;