# SageMath code for working with modular form 42237.2.a.h # Compute space of new eigenforms: from sage.modular.dirichlet import DirichletCharacter H = DirichletGroup(42237, base_ring=CyclotomicField(2)) chi = DirichletCharacter(H, H._module([0, 0, 0])) B = ModularForms(chi, 1).cuspidal_submodule().basis() N = [B[i] for i in range(len(B))] # Compute space of new eigenforms: from sage.modular.dirichlet import DirichletCharacter H = DirichletGroup(42237, base_ring=CyclotomicField(2)) chi = DirichletCharacter(H, H._module([0, 0, 0])) N = Newforms(chi, 2, names="a") # select newform: traces = [2,-2,0,2,2,0,2,-6,0,2,0,0,2,6,0,6,4,0,0,-6,0,-8,2,0,-4,-2,0, -14,8,0,8,6,0,-20,10,0,-6,0,0,-2,4,0,-8,16,0,10,4,0,4,12,0,2,-2,0,-8,2, 0,-16,-14,0,-6,0,0,-14,2,0,-24,36,0,2,14,0,4,-2,0,0,-16,0,10,6,0,20,8, 0,-12,0,0,-8,-24,0,2,-22,0,-4,0,0,-18,12,0,-20] f = next(g for g in N if [g.coefficient(i+1).trace() for i in range(None)] == traces) # q-expansion: f.q_expansion() # note that sage often uses an isomorphic number field