February 12, 2016: Elliptic curves (part 1)
William Stein
(reminder: Go to Brian Conrad's talk on ABC in MEB right after class.)
Elliptic curves (and modular forms) are absolutely central in number theory:
Fermat's Last Theorem, congruent number problem, Birch and Swinnerton-Dyer conjecture, CM elliptic curves (class field theory), one-dimensional abelian varieties.
Unsolved problem: Is there an algorithm that decides whether or not a cubic has a rational solution?
(Answer: conjecturally yes, but we don't know!)
Unsolved problem: Is there an algorithm to determine whether or not an integer is the area of a right triangle with rational side lengths?
(Answer: conjecturally yes.)
Sage has a ridiculous amount of functionality for computing with elliptic curves.
There used to be several programs relevant to computing with elliptic curves (e.g., SIMATH), but now the ones that matter are Sage and Magma:
First rate support for elliptic curves:
Sage (and PARI/mwrank, which are both in Sage)
Magma
Also relevant: smalljac for point counting
Third rate (or worse) for elliptic curves:
Maple: has a package called apecs from the old days. Find the pdf file with google. I don't know if anybody uses this anymore.
Mathematica -- I've never heard of anybody doing anything useful with elliptic curves in Mathematica (and couldn't find anything via Google searches).
Matlab/Mupad -- ?
2. Quick background on elliptic curves
An elliptic curve over a field is a genus one curve with a distinguished rational point. Such a thing can be given by an equation
In Sage (or Magma), make an elliptic curve by typing EllipticCurve([1,2,3,4,6])
:
You can also make elliptic curves in a few other ways:
The -invariant of an elliptic curve is an invariant of the isomorphism class of the curve over the algebraic closure. It's just an algebraic function of the coefficients. Here it is in general below:
There's elliptic curves over any field...