
// Make newform 2023.4.a.v in Magma, downloaded from the LMFDB on 17 September 2025.
// To make the character of type GrpDrchElt, type "MakeCharacter_2023_a();"
// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_2023_4_a_v();".
// 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_2023_a();"
function MakeCharacter_2023_a()
    N := 2023;
    order := 1;
    char_gens := [290, 1737];
    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_2023_a_Hecke( : Kf := Kf)
    return MakeCharacter_2023_a();
end function;


// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_2023_4_a_v();".
// 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_2023_4_a_v( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_2023_a();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,4,sign)));
    Vf := Kernel([<2,R![-1823813991466163765248, 2669328182932121059328, 75519525393996548407296, -102679134065778919211008, -998230685472588568657920, 1266757969062788369219584, 5169826628179174670204928, -6348243140737110632169472, -13526737122565434555965440, 16638571916502921856663552, 20712286461958300068114432, -26063070015652789143855104, -20604796454359531661959424, 26862517807121940346532864, 14270437202152652255339776, -19464531537311093446546432, -7200384802436138168952736, 10382192240778261151698496, 2725783919959002080872656, -4212486043249484045477312, -787791913405025646302479, 1331817797009779343408736, 174960198260480130164216, -334050154503752152404608, -29642098447570969959948, 67375210264829143480660, 3703699403194532453652, -11037489306116841893856, -303403742860218103034, 1479312825597982512808, 6827414537702219386, -162988205285463013960, 2406008534428737440, 14800872760240318712, -464852845671957792, -1108282864866102020, 50827278291341125, 68308365425076000, -3997323748839156, -3450661304065736, 240428705449233, 141834910729492, -11284724730324, -4691308806232, 414520592532, 122830472664, -11818006102, -2484546504, 256524474, 37403200, -4098016, -394148, 45424, 2592, -312, -8, 1]>,<3,R![-347424185091401531581963353088, -3193557268488205360431159848960, 580825101697669837873653397288448, 14727992987255313995163732349680640, 103437601477826970042131491483112480, 104575365167732368556842098827437824, -753318276227765791416841241586517312, -162612197348922926261433586036151296, 1628823455175126005035418187428309040, -449461722866907314438775021759781888, -1299306836499109776766585203089017408, 697058220143417667329536429287079552, 463087661417374835647064985061463656, -383112080660756015540612713641039296, -69395526019152759116511051062958288, 112661315214264055829947887595804256, -2174639878610002343211970108753292, -20733128771623277964274998186195968, 2830507737872267347532057296399488, 2586554178320425451470340461547440, -588766513432228608823088865678154, -227715215795902567136265940847568, 73122822256287779246630725459988, 14259526173379875738813249306280, -6396244192200168043689938401575, -608223667766094005494381273072, 420083628501396282583671121016, 13917179760772421399744482672, -21412691152943320421416953700, 209470800482811001269639488, 863332888009770903132533792, -36368454154659819855899072, -27826546265175482177921554, 1904363784182167338599776, 720173901253942377140992, -65972204005240552635712, -14948633620594149361238, 1703311773186340090576, 246990199046290934908, -34078319256211255480, -3194893716867005509, 535443641384538848, 31297867385182528, -6609347941829104, -215586761391716, 63493806727392, 817898392184, -465421140672, 1250070102, 2515624912, -38410520, -9450288, 242278, 22032, -756, -24, 1]>],Snew);
    return Vf;
end function;