# SageMath code for working with modular form 16830.2.a.bs # Compute space of new eigenforms: from sage.modular.dirichlet import DirichletCharacter H = DirichletGroup(16830, base_ring=CyclotomicField(2)) chi = DirichletCharacter(H, H._module([0, 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(16830, base_ring=CyclotomicField(2)) chi = DirichletCharacter(H, H._module([0, 0, 0, 0])) N = Newforms(chi, 2, names="a") # select newform: traces = [1,1,0,1,-1,0,2,1,0,-1,-1,0,-4,2,0,1,-1,0,-8,-1,0,-1,8,0,1,-4, 0,2,2,0,0,1,0,-1,-2,0,2,-8,0,-1,-8,0,6,-1,0,8,8,0,-3,1,0,-4,-2,0,1,2,0, 2,14,0,-14,0,0,1,4,0,-14,-1,0,-2,14,0,0,2,0,-8,-2,0,16,-1,0,-8,0,0,1,6, 0,-1,10,0,-8,8,0,8,8,0,-8,-3,0,1] 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