// Make newform 3150.2.bp.g in Magma, downloaded from the LMFDB on 29 March 2024. // To make the character of type GrpDrchElt, type "MakeCharacter_3150_bp();" // To make the Hecke irreducible modular symbols subspace (type ModSym) // containing the newform, type "MakeNewformModSym_3150_2_bp_g();". // 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_3150_bp();" function MakeCharacter_3150_bp() N := 3150; order := 6; char_gens := [2801, 127, 451]; v := [3, 3, 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_3150_bp_Hecke(Kf) return MakeCharacter_3150_bp(); end function; // To make the Hecke irreducible modular symbols subspace (type ModSym) // containing the newform, type "MakeNewformModSym_3150_2_bp_g();". // 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_3150_2_bp_g( : sign := -1) R := PolynomialRing(Rationals()); chi := MakeCharacter_3150_bp(); // SetVerbose("ModularSymbols", true); Snew := NewSubspace(CuspidalSubspace(ModularSymbols(chi,2,sign))); Vf := Kernel([<11,R![1679616, 0, -11757312, 0, 59590080, 0, -136499904, 0, 226614160, 0, -126799808, 0, 50195872, 0, -9697232, 0, 1330444, 0, -77312, 0, 3232, 0, -68, 0, 1]>,<13,R![1806336, 0, -3581952, 0, 969088, 0, -100896, 0, 4937, 0, -114, 0, 1]>,<17,R![142884, -598752, 841266, -20592, -139511, 8124, 18092, -2832, -861, 192, 32, -12, 1]>],Snew); return Vf; end function;