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!
PP<x,y,z>:=ProjectiveSpace(Rationals(),2); CU:=Curve(PP, (z + x - y)*(z - x + y)*(-z + x + y)*(z + x + y)); curve:=DefiningPolynomials(CU); ysoln:=Evaluate(curve,[1,y,1]); ysoln; Type(ysoln); ysoln:=Evaluate(ysoln,[1,y,1])/y; ysoln:=Evaluate(ysoln,[1,y,1])*y; // Other things really happen above, but denominator becomes 1 ysoln; Type(ysoln); // I would like to just do this Roots(ysoln); // but Magma refuses... // I know the Roots function works if set-up properly: R<y>:=PolynomialRing(Rationals()); fy:=y^3-8; Roots(fy);