Modular Forms in Pari/GP

223 Views Asked by At

I'm trying out Pari's new modular forms package, and I've run into a small issue that I couldn't resolve.

I want to use the modular parameterization of an elliptic curve $E$ given by the elltaniyama(E) function and then use some of the new features in the modular forms package like mfslashexpansion among other things.

However, the output of elltaniyama(E) is a series, and so I need to make a conversion to the modular form type before this can work. Is there any way this can be done?

If not, I can generate the coefficients for the modular parameterization through my own function, but is there a way to construct a modular form object from just a list of coefficients of the q expansion?

I've tried looking through Pari's user guide for both elliptic curves and modular forms, but haven't found anything on the subject.

I tried posting this on stack-overflow, but they told me it was too specialized of a question and to ask on Math StackExchange.

Thanks in advance!

1

There are 1 best solutions below

3
On BEST ANSWER

I think you can do what you want using, for example:

? print(q*Ser(ellan(E=ellinit([0, -1, 1, 0, 0]),7),q))
q - 2*q^2 - q^3 + 2*q^4 + q^5 + 2*q^6 - 2*q^7 + O(q^8)

You can check this with LMFDB curve 11.a3. An alternative is

? default(seriesprecision, 6)
? xy = subst(elltaniyama(E), 'x, q);
? print(q*deriv(xy[1])/(2*xy[2] + E.a1*xy[1] + E.a3))
q - 2*q^2 - q^3 + 2*q^4 + q^5 + 2*q^6 - 2*q^7 + O(q^8)

To get a modular form object do:

? M = mffromell(E);

For your question about constructing modular forms from coefficients, the function mfsearch() will probably help you. For more help read Tutorial for Modular Forms in Pari/GP.

As another example, consider the LMFDB curve 64.a4:

? print(q*Ser(ellan(E=ellinit([0, 0, 0, 1, 0]),29),q))
q + 2*q^5 - 3*q^9 - 6*q^13 + 2*q^17 - q^25 + 10*q^29 + O(q^30)

The "modular parameterization" using elltaniyama() is:

? xy = subst(elltaniyama(E), 'x, q);
? print( 1/xy[1]); print( -1/xy[2]);
q^2 + q^6 - q^14 - q^18 - q^22 + 2*q^30 + O(q^33)
q^3 + q^7 - q^11 - 2*q^15 + q^19 + 2*q^23 - 2*q^27 - 2*q^31 + O(q^34)

Note that the first q-series is a generating function of OEIS sequence A092869 and the second q-series is a generating function of OEIS sequence A226559. The first is a modular function for $\, \Gamma_1(16) \,$ of weight $0$.