# SageMath code for working with modular form 10304.2.a.cc # Compute space of new eigenforms: from sage.modular.dirichlet import DirichletCharacter H = DirichletGroup(10304, 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(10304, base_ring=CyclotomicField(2)) chi = DirichletCharacter(H, H._module([0, 0, 0, 0])) N = Newforms(chi, 2, names="a") # select newform: traces = [3,0,-2,0,-4,0,-3,0,7,0,4,0,-2,0,-12,0,8,0,0,0,2,0,-3,0,5,0,-8, 0,10,0,-2,0,-12,0,4,0,10,0,-8,0,6,0,4,0,0,0,2,0,3,0,0,0,2,0,4,0,-20,0, -6,0,8,0,-7,0,12,0,-4,0,2,0,-28,0,-6,0,46,0,-4,0,-20,0,3,0,-28,0,-16,0, 32,0,0,0,2,0,-4,0,20,0,16,0,44,0] 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