# SageMath code for working with modular form 19663.2.a.o # Compute space of new eigenforms: from sage.modular.dirichlet import DirichletCharacter H = DirichletGroup(19663, base_ring=CyclotomicField(2)) chi = DirichletCharacter(H, H._module([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(19663, base_ring=CyclotomicField(2)) chi = DirichletCharacter(H, H._module([0, 0])) N = Newforms(chi, 2, names="a") # select newform: traces = [39,-3,-3,39,-12,0,-39,-9,42,-6,3,-6,0,3,-3,39,-3,24,9,-72,3, -30,-6,0,39,12,-78,-39,12,-6,-12,-21,-24,-24,12,-3,-6,18,90,3,-42,0,0, 9,-33,0,-30,57,39,3,-9,-18,0,-36,-60,9,-42,-18,27,150,-3,-75,-42,39,9, 45,-12,45,-42,6,0,39,-75,-141,-66,48,-3,-45,45,-6,147,63,-54,6,-18,-9, -45,-75,-9,15,0,-108,36,-48,-24,-18,6,-3,3,27] 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