
// Make newform 1849.4.a.m in Magma, downloaded from the LMFDB on 24 April 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_1849_a();"
// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_1849_4_a_m();".
// 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_1849_a();"
function MakeCharacter_1849_a()
    N := 1849;
    order := 1;
    char_gens := [3];
    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_1849_a_Hecke(Kf)
    return MakeCharacter_1849_a();
end function;


// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_1849_4_a_m();".
// 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_1849_4_a_m( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_1849_a();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,4,sign)));
    Vf := Kernel([<2,R![-26888088132283393349277474439274896031744, 0, 4075879060925381553374309254458792308899840, 0, -238003336880398598002221322059796963802480640, 0, 6916176398344512168079054721061425504143278080, 0, -110130970374099366833193576271367457069942702080, 0, 1043884100448209848192459955332649935522347614208, 0, -6409734583509881375150053980960846664034148155392, 0, 27211549742193284799873283713379097512803678814208, 0, -83773398649988188766701296486185445117106392662016, 0, 193841633586287419296916696210363164039672848449536, 0, -346729632278281681178555571398073117374074074431488, 0, 490646108249286632702634779592304778685431184359424, 0, -560110938661649864076919172298343485335791858286592, 0, 524582174676907007244291561555129431090210627436544, 0, -408981494442632180076063663585783796715669853700096, 0, 268789802908674001329338242318363906727590037441536, 0, -150548008612832141772264101892767507861106507889152, 0, 72542023582256896712360806382529672480280089831424, 0, -30318567382573667211120024624429297533206580720064, 0, 11069103579289725180661888651196046681101859631040, 0, -3552015365588158542932922457158561124332672536203, 0, 1007205507047641502588060424200297604348951079868, 0, -253547320764955495214465575395988364783148467016, 0, 56891506826458559307617831589214588607001410948, 0, -11418209183277460541476541628001111607897635342, 0, 2055968910367449607158568116241749493095037369, 0, -332982687728480670955456530691548071030118960, 0, 48614089093769861057520167452256609539040782, 0, -6409603273076027906906482013121126343971637, 0, 764323209130411013984376579497455763417639, 0, -82529999193021670734739038395598209220406, 0, 8076383933633589351061864501805722881452, 0, -716715476799389160667225603641375533452, 0, 57693908410410441791608068529077894829, 0, -4212776361773825886743908615278016408, 0, 278954871330815608506028834899310551, 0, -16740267491991554341200218472668761, 0, 909587705196734735193046055626257, 0, -44690375919750870922730068341882, 0, 1982121038699127819035797668473, 0, -79187497436590974487202447374, 0, 2842052813413494747524246691, 0, -91334101923058531740820416, 0, 2617716714931962253404172, 0, -66586329158592961958675, 0, 1494283876518893192265, 0, -29368484979009916986, 0, 500916666884448470, 0, -7329461958020504, 0, 90641608206599, 0, -928810903256, 0, 7673126351, 0, -49097108, 0, 228275, 0, -686, 0, 1]>],Snew);
    return Vf;
end function;