
// Make newform 6019.2.a.c in Magma, downloaded from the LMFDB on 25 April 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_6019_a();"
// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_6019_2_a_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_6019_a();"
function MakeCharacter_6019_a()
    N := 6019;
    order := 1;
    char_gens := [2316, 1392];
    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_6019_a_Hecke(Kf)
    return MakeCharacter_6019_a();
end function;


// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_6019_2_a_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_6019_2_a_c( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_6019_a();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign)));
    Vf := Kernel([<2,R![-103242, 19835083, 38474670, -8520668769, 20258909929, 1180188659563, -4872522201571, -72563467842175, 355899187380802, 2531809776417846, -13464156291654054, -57398117889987929, 315880231787671818, 920656022054247430, -5048500976148179190, -11071780002908244558, 58345519335532259779, 103909153833563044765, -508550096821174516392, -782306453022764232754, 3449765454898614546270, 4815798553402980852860, -18660043895109774100092, -24572330128747078544617, 82038399412583837940281, 105005399991035521820821, -297688541186515254019734, -379008587572512337342675, 902678466255460497770188, 1164033683612394901175253, -2310482911838509161888613, -3062364651372306798511476, 5032751390574575759146459, 6943516172689945404271934, -9389549354730832033324678, -13645091733335435028253558, 15077900339499714330018311, 23360730760105438220744959, -20908026014111021540174536, -35006295562844982306351751, 25070983481225900825648445, 46109846389964413969448245, -25969009297540312606104257, -53588576614506954863072649, 23123825261397634192378559, 55135983803435980754888240, -17494812676962657955284468, -50367553611247707739634625, 10950836633180921500818540, 40955041409209184138072010, -5291811861426198592037367, -29704007123142307279389412, 1498798807077093769097161, 19248963407739039477740705, 399075030921998589279718, -11159338258197183872788301, -959838825014145606677088, 5792639588014637906178542, 850784467210175959162190, -2693340755198109609640405, -551401265435901940550427, 1121588285960080947316267, 292731107706450121070672, -418024390488126747181211, -132608649130579008817984, 139248509097288059166297, 52252954071104164259317, -41362640817437359691639, -18093703504229270073235, 10917891601968912368344, 5537283813274228627602, -2547436267397353061732, -1502234262231990328077, 521210825481462554096, 361737146203993062822, -92309937332370211644, -77306559709955717504, 13831464630144144211, 14643864117698712859, -1671912059363956168, -2452885000322493846, 142491778586190245, 362026120412831392, -3084100627898584, -46851627337034909, -1699982273092503, 5282078882571060, 411205808773879, -514316854964031, -60536879357433, 42752993617919, 6739833385041, -2985697366950, -597859749503, 171125066030, 42774812232, -7755160259, -2454446742, 259199900, 110818893, -5327730, -3802567, 10109, 93368, 3198, -1463, -95, 11, 1]>],Snew);
    return Vf;
end function;