Modular Forms in Pari/GP

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
1
down vote

favorite
1












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!










share|cite|improve this question





















  • 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














up vote
1
down vote

favorite
1












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!










share|cite|improve this question





















  • 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












up vote
1
down vote

favorite
1









up vote
1
down vote

favorite
1






1





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!










share|cite|improve this question













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






share|cite|improve this question













share|cite|improve this question











share|cite|improve this question




share|cite|improve this question










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
















  • 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










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$.






share|cite|improve this answer






















  • 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










Your Answer




StackExchange.ifUsing("editor", function ()
return StackExchange.using("mathjaxEditing", function ()
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
);
);
, "mathjax-editing");

StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "69"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
convertImagesToLinks: true,
noModals: false,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













 

draft saved


draft discarded


















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






























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$.






share|cite|improve this answer






















  • 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














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$.






share|cite|improve this answer






















  • 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












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$.






share|cite|improve this 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$.







share|cite|improve this answer














share|cite|improve this answer



share|cite|improve this answer








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
















  • 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

















 

draft saved


draft discarded















































 


draft saved


draft discarded














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













































































這個網誌中的熱門文章

tkz-euclide: tkzDrawCircle[R] not working

How to combine Bézier curves to a surface?

1st Magritte Awards