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