12.07.2015 Views

Sage Reference Manual: Elliptic and Plane Curves - Mirrors

Sage Reference Manual: Elliptic and Plane Curves - Mirrors

Sage Reference Manual: Elliptic and Plane Curves - Mirrors

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Sage</strong> <strong>Reference</strong> <strong>Manual</strong>: <strong>Elliptic</strong> <strong>and</strong> <strong>Plane</strong> <strong>Curves</strong>, Release 6.1.1•F – a homogeneous cubic in three variables with rational coefficients, as a polynomial ring element, defininga smooth plane cubic curve.•P – a 3-tuple (x, y, z) defining a projective point on the curve F = 0. Need not be a flex, but see caveat onoutput.•morphism – boolean (default: True). Whether to return the morphism or just the elliptic curve.OUTPUT:An elliptic curve in long Weierstrass form isomorphic to the curve F = 0.If morphism=True is passed, then a birational equivalence between F <strong>and</strong> the Weierstrass curve is returned.If the point happens to be a flex, then this is an isomorphism.EXAMPLES:First we find that the Fermat cubic is isomorphic to the curve with Cremona label 27a1:sage: R. = QQ[]sage: cubic = x^3+y^3+z^3sage: P = [1,-1,0]sage: E = <strong>Elliptic</strong>Curve_from_cubic(cubic, P, morphism=False); E<strong>Elliptic</strong> Curve defined by y^2 + 2*x*y + 1/3*y = x^3 - x^2 - 1/3*x - 1/27 over Rational Fieldsage: E.cremona_label()’27a1’sage: <strong>Elliptic</strong>Curve_from_cubic(cubic, [0,1,-1], morphism=False).cremona_label()’27a1’sage: <strong>Elliptic</strong>Curve_from_cubic(cubic, [1,0,-1], morphism=False).cremona_label()’27a1’Next we find the minimal model <strong>and</strong> conductor of the Jacobian of the Selmer curve:sage: R. = QQ[]sage: cubic = a^3+b^3+60*c^3sage: P = [1,-1,0]sage: E = <strong>Elliptic</strong>Curve_from_cubic(cubic, P, morphism=False); E<strong>Elliptic</strong> Curve defined by y^2 + 2*x*y + 20*y = x^3 - x^2 - 20*x - 400/3 over Rational Fieldsage: E.minimal_model()<strong>Elliptic</strong> Curve defined by y^2 = x^3 - 24300 over Rational Fieldsage: E.conductor()24300We can also get the birational equivalence to <strong>and</strong> from the Weierstrass form. We start with an example where Pis a flex <strong>and</strong> the equivalence is an isomorphism:sage: f = <strong>Elliptic</strong>Curve_from_cubic(cubic, P, morphism=True)sage: fScheme morphism:From: Closed subscheme of Projective Space of dimension 2 over Rational Field defined by:a^3 + b^3 + 60*c^3To: <strong>Elliptic</strong> Curve defined by y^2 + 2*x*y + 20*y = x^3 - x^2 - 20*x - 400/3over Rational FieldDefn: Defined on coordinates by sending (a : b : c) to(-c : -b + c : 1/20*a + 1/20*b)sage: finv = f.inverse(); finvScheme morphism:From: <strong>Elliptic</strong> Curve defined by y^2 + 2*x*y + 20*y = x^3 - x^2 - 20*x - 400/3over Rational FieldTo: Closed subscheme of Projective Space of dimension 2 over Rational Field defined by:a^3 + b^3 + 60*c^346 Chapter 10. <strong>Elliptic</strong> curve constructor

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!