# SageMath code for working with modular form 45486.2.a.ha # Compute space of new eigenforms: from sage.modular.dirichlet import DirichletCharacter H = DirichletGroup(45486, 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(45486, base_ring=CyclotomicField(2)) chi = DirichletCharacter(H, H._module([0, 0, 0])) N = Newforms(chi, 2, names="a") # select newform: traces = [15,15,0,15,6,0,15,15,0,6,24,0,12,15,0,15,12,0,0,6,0,24,27,0, 27,12,0,15,6,0,9,15,0,12,6,0,18,0,0,6,0,0,6,24,0,27,12,0,15,27,0,12,12, 0,3,15,0,6,12,0,0,9,0,15,12,0,42,12,0,6,-9,0,24,18,0,0,24,0,12,6,0,0,30, 0,-3,6,0,24,24,0,12,27,0,12,0,0,-30,15,0,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