Modular Forms in Pari/GP

Clash Royale CLAN TAG#URR8PPP
up vote
1
down vote
favorite
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!
elliptic-curves modular-forms programming
add a comment |Â
up vote
1
down vote
favorite
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!
elliptic-curves modular-forms programming
Can you give a simple example of what you want to get?
â Somos
Aug 30 at 2:59
So I'm trying to get as a modular form type, the modular parameterization of an elliptic curve E. So I would like to be able to write the two series $$x^-2 + 2*x^-1 + 4 + 5*x + 6*x^2 + 5*x^3 + 3*x^4+ O(x^5)$$ and $$x^-3 - 3*x^-2 - 7*x^-1 - 13 - 19*x - 24*x^2 - 25*x^3 - 18*x^4 + O(x^5) $$ as modular forms, and not series. These series are the output of the function elltaniyama(E).
â JonHales
Aug 30 at 14:20
Why are you using elltaniyama(E)? What advantage does it have over the mffromell(E) approach?
â Somos
Aug 30 at 18:12
They aren't the same thing. They're two completely different modular forms associated with an elliptic curve. Am I missing some connection?
â JonHales
Aug 30 at 21:10
add a comment |Â
up vote
1
down vote
favorite
up vote
1
down vote
favorite
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!
elliptic-curves modular-forms programming
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!
elliptic-curves modular-forms programming
elliptic-curves modular-forms programming
asked Aug 30 at 1:11
JonHales
36429
36429
Can you give a simple example of what you want to get?
â Somos
Aug 30 at 2:59
So I'm trying to get as a modular form type, the modular parameterization of an elliptic curve E. So I would like to be able to write the two series $$x^-2 + 2*x^-1 + 4 + 5*x + 6*x^2 + 5*x^3 + 3*x^4+ O(x^5)$$ and $$x^-3 - 3*x^-2 - 7*x^-1 - 13 - 19*x - 24*x^2 - 25*x^3 - 18*x^4 + O(x^5) $$ as modular forms, and not series. These series are the output of the function elltaniyama(E).
â JonHales
Aug 30 at 14:20
Why are you using elltaniyama(E)? What advantage does it have over the mffromell(E) approach?
â Somos
Aug 30 at 18:12
They aren't the same thing. They're two completely different modular forms associated with an elliptic curve. Am I missing some connection?
â JonHales
Aug 30 at 21:10
add a comment |Â
Can you give a simple example of what you want to get?
â Somos
Aug 30 at 2:59
So I'm trying to get as a modular form type, the modular parameterization of an elliptic curve E. So I would like to be able to write the two series $$x^-2 + 2*x^-1 + 4 + 5*x + 6*x^2 + 5*x^3 + 3*x^4+ O(x^5)$$ and $$x^-3 - 3*x^-2 - 7*x^-1 - 13 - 19*x - 24*x^2 - 25*x^3 - 18*x^4 + O(x^5) $$ as modular forms, and not series. These series are the output of the function elltaniyama(E).
â JonHales
Aug 30 at 14:20
Why are you using elltaniyama(E)? What advantage does it have over the mffromell(E) approach?
â Somos
Aug 30 at 18:12
They aren't the same thing. They're two completely different modular forms associated with an elliptic curve. Am I missing some connection?
â JonHales
Aug 30 at 21:10
Can you give a simple example of what you want to get?
â Somos
Aug 30 at 2:59
Can you give a simple example of what you want to get?
â Somos
Aug 30 at 2:59
So I'm trying to get as a modular form type, the modular parameterization of an elliptic curve E. So I would like to be able to write the two series $$x^-2 + 2*x^-1 + 4 + 5*x + 6*x^2 + 5*x^3 + 3*x^4+ O(x^5)$$ and $$x^-3 - 3*x^-2 - 7*x^-1 - 13 - 19*x - 24*x^2 - 25*x^3 - 18*x^4 + O(x^5) $$ as modular forms, and not series. These series are the output of the function elltaniyama(E).
â JonHales
Aug 30 at 14:20
So I'm trying to get as a modular form type, the modular parameterization of an elliptic curve E. So I would like to be able to write the two series $$x^-2 + 2*x^-1 + 4 + 5*x + 6*x^2 + 5*x^3 + 3*x^4+ O(x^5)$$ and $$x^-3 - 3*x^-2 - 7*x^-1 - 13 - 19*x - 24*x^2 - 25*x^3 - 18*x^4 + O(x^5) $$ as modular forms, and not series. These series are the output of the function elltaniyama(E).
â JonHales
Aug 30 at 14:20
Why are you using elltaniyama(E)? What advantage does it have over the mffromell(E) approach?
â Somos
Aug 30 at 18:12
Why are you using elltaniyama(E)? What advantage does it have over the mffromell(E) approach?
â Somos
Aug 30 at 18:12
They aren't the same thing. They're two completely different modular forms associated with an elliptic curve. Am I missing some connection?
â JonHales
Aug 30 at 21:10
They aren't the same thing. They're two completely different modular forms associated with an elliptic curve. Am I missing some connection?
â JonHales
Aug 30 at 21:10
add a comment |Â
1 Answer
1
active
oldest
votes
up vote
1
down vote
accepted
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$.
Thanks for your response! Unfortunately, the ellan function, and the mffromell function both give the cusp form associated with the elliptic curve, and not the modular parameterization. The output of elltaniyama(E=ellinit([0,-1,1,0,0]) will be two modular forms (one for x and one for y) that parameterize the elliptic curve. The problem is the output is of "t_SER" and not the very specialized "t_VEC" that is a modular form according to Pari.
â JonHales
Aug 30 at 14:17
Thank you again for your answer, but is it not possible then to get the series elltaniyama(E)[0] as a modular form type? That's my real question. Thank you for the examples you've posted, but I just want to use the mf functions like mfslashexpansion, mfcusps, etc, on this object.
â JonHales
Aug 31 at 21:24
add a comment |Â
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
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$.
Thanks for your response! Unfortunately, the ellan function, and the mffromell function both give the cusp form associated with the elliptic curve, and not the modular parameterization. The output of elltaniyama(E=ellinit([0,-1,1,0,0]) will be two modular forms (one for x and one for y) that parameterize the elliptic curve. The problem is the output is of "t_SER" and not the very specialized "t_VEC" that is a modular form according to Pari.
â JonHales
Aug 30 at 14:17
Thank you again for your answer, but is it not possible then to get the series elltaniyama(E)[0] as a modular form type? That's my real question. Thank you for the examples you've posted, but I just want to use the mf functions like mfslashexpansion, mfcusps, etc, on this object.
â JonHales
Aug 31 at 21:24
add a comment |Â
up vote
1
down vote
accepted
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$.
Thanks for your response! Unfortunately, the ellan function, and the mffromell function both give the cusp form associated with the elliptic curve, and not the modular parameterization. The output of elltaniyama(E=ellinit([0,-1,1,0,0]) will be two modular forms (one for x and one for y) that parameterize the elliptic curve. The problem is the output is of "t_SER" and not the very specialized "t_VEC" that is a modular form according to Pari.
â JonHales
Aug 30 at 14:17
Thank you again for your answer, but is it not possible then to get the series elltaniyama(E)[0] as a modular form type? That's my real question. Thank you for the examples you've posted, but I just want to use the mf functions like mfslashexpansion, mfcusps, etc, on this object.
â JonHales
Aug 31 at 21:24
add a comment |Â
up vote
1
down vote
accepted
up vote
1
down vote
accepted
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$.
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$.
edited Aug 31 at 21:08
answered Aug 30 at 2:47
Somos
11.9k11033
11.9k11033
Thanks for your response! Unfortunately, the ellan function, and the mffromell function both give the cusp form associated with the elliptic curve, and not the modular parameterization. The output of elltaniyama(E=ellinit([0,-1,1,0,0]) will be two modular forms (one for x and one for y) that parameterize the elliptic curve. The problem is the output is of "t_SER" and not the very specialized "t_VEC" that is a modular form according to Pari.
â JonHales
Aug 30 at 14:17
Thank you again for your answer, but is it not possible then to get the series elltaniyama(E)[0] as a modular form type? That's my real question. Thank you for the examples you've posted, but I just want to use the mf functions like mfslashexpansion, mfcusps, etc, on this object.
â JonHales
Aug 31 at 21:24
add a comment |Â
Thanks for your response! Unfortunately, the ellan function, and the mffromell function both give the cusp form associated with the elliptic curve, and not the modular parameterization. The output of elltaniyama(E=ellinit([0,-1,1,0,0]) will be two modular forms (one for x and one for y) that parameterize the elliptic curve. The problem is the output is of "t_SER" and not the very specialized "t_VEC" that is a modular form according to Pari.
â JonHales
Aug 30 at 14:17
Thank you again for your answer, but is it not possible then to get the series elltaniyama(E)[0] as a modular form type? That's my real question. Thank you for the examples you've posted, but I just want to use the mf functions like mfslashexpansion, mfcusps, etc, on this object.
â JonHales
Aug 31 at 21:24
Thanks for your response! Unfortunately, the ellan function, and the mffromell function both give the cusp form associated with the elliptic curve, and not the modular parameterization. The output of elltaniyama(E=ellinit([0,-1,1,0,0]) will be two modular forms (one for x and one for y) that parameterize the elliptic curve. The problem is the output is of "t_SER" and not the very specialized "t_VEC" that is a modular form according to Pari.
â JonHales
Aug 30 at 14:17
Thanks for your response! Unfortunately, the ellan function, and the mffromell function both give the cusp form associated with the elliptic curve, and not the modular parameterization. The output of elltaniyama(E=ellinit([0,-1,1,0,0]) will be two modular forms (one for x and one for y) that parameterize the elliptic curve. The problem is the output is of "t_SER" and not the very specialized "t_VEC" that is a modular form according to Pari.
â JonHales
Aug 30 at 14:17
Thank you again for your answer, but is it not possible then to get the series elltaniyama(E)[0] as a modular form type? That's my real question. Thank you for the examples you've posted, but I just want to use the mf functions like mfslashexpansion, mfcusps, etc, on this object.
â JonHales
Aug 31 at 21:24
Thank you again for your answer, but is it not possible then to get the series elltaniyama(E)[0] as a modular form type? That's my real question. Thank you for the examples you've posted, but I just want to use the mf functions like mfslashexpansion, mfcusps, etc, on this object.
â JonHales
Aug 31 at 21:24
add a comment |Â
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f2898989%2fmodular-forms-in-pari-gp%23new-answer', 'question_page');
);
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Can you give a simple example of what you want to get?
â Somos
Aug 30 at 2:59
So I'm trying to get as a modular form type, the modular parameterization of an elliptic curve E. So I would like to be able to write the two series $$x^-2 + 2*x^-1 + 4 + 5*x + 6*x^2 + 5*x^3 + 3*x^4+ O(x^5)$$ and $$x^-3 - 3*x^-2 - 7*x^-1 - 13 - 19*x - 24*x^2 - 25*x^3 - 18*x^4 + O(x^5) $$ as modular forms, and not series. These series are the output of the function elltaniyama(E).
â JonHales
Aug 30 at 14:20
Why are you using elltaniyama(E)? What advantage does it have over the mffromell(E) approach?
â Somos
Aug 30 at 18:12
They aren't the same thing. They're two completely different modular forms associated with an elliptic curve. Am I missing some connection?
â JonHales
Aug 30 at 21:10