// Make newform 8018.2.a.f in Magma, downloaded from the LMFDB on 28 March 2024. // To make the character of type GrpDrchElt, type "MakeCharacter_8018_a();" // To make the Hecke irreducible modular symbols subspace (type ModSym) // containing the newform, type "MakeNewformModSym_8018_2_a_f();". // 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_8018_a();" function MakeCharacter_8018_a() N := 8018; order := 1; char_gens := [2111, 1901]; 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_8018_a_Hecke(Kf) return MakeCharacter_8018_a(); end function; // To make the Hecke irreducible modular symbols subspace (type ModSym) // containing the newform, type "MakeNewformModSym_8018_2_a_f();". // 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_8018_2_a_f( : sign := -1) R := PolynomialRing(Rationals()); chi := MakeCharacter_8018_a(); // SetVerbose("ModularSymbols", true); Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign))); Vf := Kernel([<3,R![-757728, 2300896, 45871232, 90151124, -221451754, -688883809, 335987603, 2118650320, 156582224, -3658309598, -1275367938, 3984783339, 2112845450, -2880022073, -1982239717, 1399894930, 1221830654, -444973511, -521450240, 80692624, 157077936, -1931334, -33382877, -3132080, 4909129, 894640, -475946, -129011, 27049, 10833, -570, -503, -20, 10, 1]>],Snew); return Vf; end function;