// Make newform 1512.2.c.f in Magma, downloaded from the LMFDB on 29 March 2024. // To make the character of type GrpDrchElt, type "MakeCharacter_1512_c();" // To make the Hecke irreducible modular symbols subspace (type ModSym) // containing the newform, type "MakeNewformModSym_1512_2_c_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_1512_c();" function MakeCharacter_1512_c() N := 1512; order := 2; char_gens := [1135, 757, 785, 1081]; v := [2, 1, 2, 2]; // 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_1512_c_Hecke(Kf) return MakeCharacter_1512_c(); end function; // To make the Hecke irreducible modular symbols subspace (type ModSym) // containing the newform, type "MakeNewformModSym_1512_2_c_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_1512_2_c_f( : sign := -1) R := PolynomialRing(Rationals()); chi := MakeCharacter_1512_c(); // SetVerbose("ModularSymbols", true); Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign))); Vf := Kernel([<5,R![7921, 0, 14084, 0, 9491, 0, 3048, 0, 483, 0, 36, 0, 1]>,<17,R![8156736, 0, -6700992, 0, 1407472, 0, -128800, 0, 5788, 0, -124, 0, 1]>],Snew); return Vf; end function;