# SageMath code for working with modular form 396.2.h.d # Compute space of new eigenforms: from sage.modular.dirichlet import DirichletCharacter H = DirichletGroup(396, base_ring=CyclotomicField(2)) chi = DirichletCharacter(H, H._module([1, 0, 1])) N = Newforms(chi, 2, names="a") # select newform: traces = [12,0,0,4] f = next(g for g in N if [g.coefficient(i+1).trace() for i in range(4)] == traces) # q-expansion: f.q_expansion() # note that sage often uses an isomorphic number field