
// Make newform 6019.2.a.b 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_b();".
// 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_b();".
// 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_b( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_6019_a();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign)));
    Vf := Kernel([<2,R![-25589025, -1667966165, -37331703901, -291725641304, 643142009388, 18824060915550, 36755059140036, -488179388624900, -1759458259865983, 7285754669066927, 37076428887675809, -69297636401251951, -497433885568544322, 416467331285967984, 4777605332750066710, -1191192046169785642, -34871302136265659269, -4526752755085145026, 200719735099330849825, 79276826060851110744, -934672534950529046408, -553228671865460925288, 3587783861774974739101, 2675089575066486246591, -11516995095006106123862, -10032442711484383864472, 31269611910817328068513, 30584905562835115722629, -72464252303469177058793, -77788061223021450943069, 144389197915441200381790, 167841992196573399950191, -248847798550298484964129, -310908150508291179440355, 372715926926268557607925, 498881289708001433119064, -486915376273347382320591, -698305699484796203802187, 556277399146776350829304, 857493945627902953815677, -556598369172996005227595, -928026939648935753519809, 487857020183402741399412, 888566679966318680218231, -374018116866538606440472, -755071989900094664788848, 249803328346170513415462, 570928484849721356562406, -144152896115186730275803, -384931820649328238941883, 70694746392640835068732, 231801805069518979108981, -28418857091566709237988, -124831653232289295896063, 8481760061771837222253, 60170125929131003093262, -1117673836903809180785, -25971106592657666350702, -686681366378165659444, 10038928899847673194900, 681588416168296994169, -3473977011588298429666, -369939770744615389743, 1075404726160651109824, 153640761559376732417, -297421223320477122056, -52838335701796257542, 73355593024086641977, 15513975646768636309, -16094431984735622909, -3944389395356742822, 3130911333461436640, 874325016913259755, -537713052392231632, -169433612348384633, 81071547952178633, 28708401099459678, -10650657290170788, -4244884964685153, 1206823062504577, 545682473984049, -116236501875650, -60643550661281, 9305475667287, 5781234599100, -595493285214, -467853722266, 27978568867, 31693620646, -711051077, -1763318491, -17915741, 78445571, 3044183, -2682375, -172069, 66172, 5737, -1048, -112, 8, 1]>],Snew);
    return Vf;
end function;