Take the 2-minute tour ×
MathOverflow is a question and answer site for professional mathematicians. It's 100% free, no registration required.

Any Magma experts who know what I should write below in place of "Roots(ysoln)"? I basically want the roots of a FldFunRatMElt (variable here happens to show as "$.2"). I would guess there's some simple coercion needed, but I've had no luck finding examples for this on the internet. I really just need to know the rational roots. Thanks!

CU:=Curve(PP, (z + x - y)*(z - x + y)*(-z + x + y)*(z + x + y));
ysoln; Type(ysoln);
// Other things really happen above, but denominator becomes 1
ysoln; Type(ysoln);

// I would like to just do this
// but Magma refuses...

// I know the Roots function works if set-up properly:
share|improve this question
Usually you want to Evaluate to reduce the ring dimension. Here it seems you also need to move from a function field to a polynomial ring with Numerator. $$ $$ R<t>:=PolynomialRing(Rationals()); $$ $$ Roots(Numerator(Evaluate(ysoln,[1,t,1]))); $$ $$ [ <-2, 1>, <0, 2>, <2, 1> ] –  Junkie Feb 1 '12 at 20:43
Those two lines worked! Thanks! I had tried something similar, but didn't think to use the Numerator function. Magma is a bit clunky, but hopefully improving... –  bobuhito Feb 3 '12 at 7:35

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.