
// Make newform 8035.2.a.b in Magma, downloaded from the LMFDB on 24 April 2024.
// To make the character of type GrpDrchElt, type "MakeCharacter_8035_a();"
// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_8035_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_8035_a();"
function MakeCharacter_8035_a()
    N := 8035;
    order := 1;
    char_gens := [4822, 4826];
    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_8035_a_Hecke(Kf)
    return MakeCharacter_8035_a();
end function;


// To make the Hecke irreducible modular symbols subspace (type ModSym)
// containing the newform, type "MakeNewformModSym_8035_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_8035_2_a_b( : sign := -1)
    R<x> := PolynomialRing(Rationals());
    chi := MakeCharacter_8035_a();
    // SetVerbose("ModularSymbols", true);
    Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign)));
    Vf := Kernel([<2,R![-8540707, -110861755, 1895077611, 28694933363, -153504132508, -3056681729486, 5031724582450, 179175861410607, 14786663117285, -6539198862724860, -6968853040994695, 159389758421438225, 274278598720044748, -2716719344056496209, -6072154119527030034, 33458556157801371926, 90869790991150235174, -304775789732598920119, -990619098350958501619, 2081241636150718405356, 8220679054829130635753, -10640753751786316986001, -53539281431796979711057, 39395650368961305605632, 279985663912039288909160, -91105647805333903292183, -1196823660264789332339862, 8790217733137983949842, 4241036890770799156520287, 1069716225081402028897049, -12597999392045713908576688, -5994491486676069212829490, 31643129648266448346353840, 21519464169637009761909871, -67635607310866200010036829, -59461561419825229014723200, 123522441490555454848530304, 134361546308151661743795182, -192998681536894782599025246, -255662757331365640966085750, 257337533218534778979234601, 416757605105326206525836979, -290208234577854160496143969, -588621640018460856699462255, 270742117351885147586536936, 726070001962869553791429410, -197255743315920196688422338, -786716623621796516459374480, 91063927263481311357209324, 751936347365202915374904932, 13722448358497968560215927, -635833656397502641929517503, -87648407761066192842660295, 476529392178388733867008793, 118674720115921646805109073, -316741680633779900696637324, -113163232297809977300136705, 186596707559118190910490936, 87394974976697242617177103, -97197483618422965169571051, -57317984879119549604357130, 44547725445043867710074766, 32629497511969401354777071, -17800220274090506928749848, -16312310248056256474260013, 6093080096815696233027640, 7209234870621655933970817, -1721288810897976563928198, -2827072245246330272649318, 362742306938361582961998, 985359752515545233804605, -33482325880433384966689, -305285777410513407803010, -15256821466790943838201, 83958498163324139776612, 10757107862795630797091, -20433330750759072597860, -4183855406617360035403, 4377885623545402132364, 1246922948998879372739, -818795679582327994601, -307406096423841776099, 131823713501774630906, 64489684720138391686, -17812678029591255909, -11647243084354915526, 1913702883270326605, 1817641549268181171, -138848512365105179, -244782957121570145, 735515863224979, 28293326344314701, 1758481930772362, -2779010693060731, -345604528111146, 228194743235934, 43301217220494, -15239876345876, -4095089197703, 785442323353, 303924916596, -27352188250, -17729389668, 291570034, 796460098, 34010047, -26320944, -2547628, 581468, 92419, -6557, -1871, -16, 17, 1]>],Snew);
    return Vf;
end function;