
// Make newform 6046.2.a.e in Magma, downloaded from the LMFDB on 05 May 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_6046_a();"
// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_6046_2_a_e();".
// 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_6046_a();"
function MakeCharacter_6046_a()
    N := 6046;
    order := 1;
    char_gens := [5];
    v := [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_6046_a_Hecke(Kf)
    return MakeCharacter_6046_a();
end function;


// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_6046_2_a_e();".
// 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_6046_2_a_e( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_6046_a();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign)));
    Vf := Kernel([<3,R![1185404, 31769071, 221396156, -385460995, -8534432501, -11513038682, 118211637939, 283728466963, -840785207506, -2695226287907, 3420820248934, 14648981213690, -7837749954440, -51971480919994, 6500634747259, 128964227609567, 18524127161231, -233355301708058, -80286085020811, 315930405837120, 162175882333950, -324610010657592, -219764240973562, 253954068297625, 218907561595182, -149535154391577, -166594528791102, 63514419592195, 98728386226838, -16744537562087, -45957859303417, 410481760823, 16818891798067, 2081243832121, -4803878158550, -1180700638439, 1050331208175, 396023245520, -168151551089, -93666729361, 17436623304, 16255914003, -559818997, -2065261606, -163640063, 185552036, 33897576, -10742780, -3381976, 285595, 197391, 7239, -6192, -789, 61, 18, 1]>,<11,R![9751599112502151921, 238361461421835311009, 1149944606405874085987, -7985440697889065764701, -95182429341426757124600, -327218218159223313522115, -248146916490599692925750, 1256892087013309386007377, 3416732537428864237993700, 1574483252707449623582492, -5748769761284354268066549, -9053829562188749101197882, -137529917933181720650436, 10591816604753722838956730, 7715770716085155317453585, -3821710824847841914053390, -7563126794083143823849429, -1565863193119333132783673, 3204950718631187425795336, 2058299890533863851574962, -481014919522570474243935, -892974521337251297207178, -142868470588330079449202, 204222124048500083267580, 93253057275418108139544, -20756615013983548673864, -23808061338481646162375, -1806325691053084504397, 3484201862116374814966, 990447866860174768738, -270970731392772390945, -170840515720265404626, -533245164953060020, 17015866468781047148, 2806522377335477892, -972264493196987010, -355603497124293868, 15592960323361583, 24177952964889583, 2323466711084329, -932724667477493, -221676994118545, 12194568260665, 9653600821098, 672665419955, -213933774639, -40249466253, 859433184, 904636698, 72326295, -6873704, -1553959, -66251, 7444, 1068, 53, 1]>],Snew);
    return Vf;
end function;