// Make newform 4023.2.a.e in Magma, downloaded from the LMFDB on 28 March 2024. // To make the character of type GrpDrchElt, type "MakeCharacter_4023_a();" // To make the Hecke irreducible modular symbols subspace (type ModSym) // containing the newform, type "MakeNewformModSym_4023_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_4023_a();" function MakeCharacter_4023_a() N := 4023; order := 1; char_gens := [299, 3727]; 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_4023_a_Hecke(Kf) return MakeCharacter_4023_a(); end function; // To make the Hecke irreducible modular symbols subspace (type ModSym) // containing the newform, type "MakeNewformModSym_4023_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_4023_2_a_e( : sign := -1) R := PolynomialRing(Rationals()); chi := MakeCharacter_4023_a(); // SetVerbose("ModularSymbols", true); Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign))); Vf := Kernel([<2,R![-72, -1315, 1914, 23057, -21482, -135992, 84303, 397153, -128221, -655068, 45894, 636153, 73945, -373639, -95149, 133613, 49584, -28232, -14090, 3119, 2275, -87, -196, -14, 7, 1]>],Snew); return Vf; end function;