Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Sorry for the late reply, I am not active on this forum. I’m more active on the Google sage-support mailing list.

First, we can compute the desired $T_3(\Delta^{21})$:

sage: from sage.arith.power import generic_power
sage: CM = CuspForms(1, 12)
sage: CM21 = CuspForms(1, 12 * 21)
sage: Delta = CM.0
sage: # There is currently no exponentiation, will be fixed in #35944
sage: Delta21 = CM21(generic_power(Delta, 21)); Delta21.qexp(30)
q^21 - 504*q^22 + 126252*q^23 - 20956992*q^24 + 2593110870*q^25 - 255098731104*q^26 + 20781797039640*q^27 - 1441924368648192*q^28 + 86976624729238209*q^29 + O(q^30)

sage: T = CM21.hecke_operator(3)
sage: target = T(Delta21); target.qexp(20)
q^7 - 20956992*q^8 + 20781797039640*q^9 - 4633003671997022000*q^10 + 371440362863490315834390*q^11 - 13524147849728033471173828608*q^12 + 257087467157965368174040434253652*q^13 - 2797610285976169836665269441675901280*q^14 + 18590043151087594315255237884401112427125*q^15 - 79064034335739172917351114768148099625746432*q^16 + 222855474110999793689846658834630047334547915056*q^17 - 427201290537994688843233683762591484665002841050808*q^18 + 567389400902088468468198954038543021913542274631751236*q^19 + O(q^20)

To express it as a linear combination of $\{\Delta^i\}_{i \leq 20}$, we can compare the coefficients of the $q$-expansion:

sage: target = target.coefficients(range(101))
sage: basis = [generic_power(Delta, i).coefficients(range(101)) for i in range(1, 22)]
sage: Matrix(GF(2), basis).solve_left(vector(GF(2), target))
(0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)

So we get $T_3(\Delta^{21}) \equiv \Delta^7 \pmod{2}$. We can verify this directly:

sage: (T(generic_power(Delta, 21)) - generic_power(Delta, 7)).qexp(20)
-20956824*q^8 + 20781797025780*q^9 - 4633003671996273840*q^10 + 371440362863490286130100*q^11 - 13524147849728033470249355520*q^12 + 257087467157965368174016963062300*q^13 - 2797610285976169836665268942201502560*q^14 + 18590043151087594315255237875317455097070*q^15 - 79064034335739172917351114768004873709460672*q^16 + 222855474110999793689846658834628068063720659292*q^17 - 427201290537994688843233683762591460494974996146104*q^18 + 567389400902088468468198954038543021651122696529039766*q^19 + O(q^20)

As a side note, I found the modular forms part of the code quite buggy. I can make some PRs to patch some inconvenience I found.