February 19, 2016: Elliptic curves (part 2)
William Stein
Review
Birch and Swinnerton-Dyer Conjecture: For elliptic curves over we have E.analytic_rank() == E.rank()
Exercise: Verify (assuming that the output of Sage is correct...!) the above BSD rank conjecture for one elliptic curve of -invariant equal each of .
If necessary, you may assume the (very deep) theorem that if the analytic rank is or , then BSD rank is true...
3. Tables of Elliptic Curves
3.1 Antwerp
There is a long history of people making systematic tables of elliptic curves, starting in Belgium in the 1970s.
Antwerp: http://wstein.org/Tables/antwerp/index.html made using this computer.
Look at http://wstein.org/Tables/antwerp/reliability/ about making these tables.
3.2 Cremona's tables
Cremona has spent 25 years expanding the Antwerp tables approach. He now has every single elliptic curve up to conductor 370000, with extensive data about each. His tables are in Sage (they get regularly updated).
Exercise: Use Cremona's tables to determine how many distinct isomorphism classes of ellliptic curves have conductor 2016. Will there be any curves (of conductor 2017) next year?!
3.3 Stein-Watkins tables
In 2001 at Harvard... I started making large tables of elliptic curves by just writing down lots of curves. Mark Watkins got involved and wrote lots of very fast code. Together we made the SteinWatkins tables, which are a large table of curves of conductor up to . We don't have all curves up to that bound -- just a lot. We also have curves of prime conductor up to some huge bound.
3.4 New table: all 238,764,310 curves of naive height up to
http://wstein.org/papers/2016-height/
Not in Sage. Is maybe 30GB or so...
3.5 The LMFDB:
http://www.springer.com/-/3/AVL5RydpAgfPWjhr63PM .
4. Magma versus Sage
If you want to do a range of explicit computations with elliptic curves, you will very likely use Sage or Magma. If you're really serious, you'll use both.
Note, as mentioned above, that both Sage and Magma are far ahead of all other software for elliptic curves.
Pari reference manual about elliptic curves. -- pari is part of Sage and has some unique powerful functionality, e.g.,
ellheegner
...
History:
When I started contributing to Magma in 1999, I remember that it was way, way behind PARI. I remember having lunch with John Cannon (founder of Magma), and telling him we could "kill Pari" if only Magma would have dramatically faster code for computing ; he responded "I don't want to kill Pari."
In any case, a few years later, John wisely hired Mark Watkins to work fulltime on Magma, and Mark has been working there for over a decade. Mark is definitely one of the top people in the world at implementing (and using) computational number theory algorithms, and he's ensured that Magma can do a lot. Some of that "do a lot" means catching up with (and surpassing!) what was in Pari and Sage for a long time (e.g., point counting, -adic -functions, etc.)
However, in addition, many people have visited Sydney and added functionality for doing higher descents to Magma, which is not available in any open source software. Search for Magma in this paper to see how, even today, there seems to be no open source way to compute the rank of the curve . Yes, this makes me pissed off.
Situation today
There are several elliptic curves algorithms available only in Magma (e.g., higher descents) ... and some available only in Sage (-function rank bounds, some overconvergent modular symbols, zeros of -functions, images of Galois representations). I could be wrong about stuff not in Sage, since WITH MONEY almost anything can get implemented in a year... And Magma has money.
The code bases are completely separate, which is a very good thing. Any time something gets implemented in one, it gets (or should get) tested via a big run through tables of elliptic curves up to some bound. This usually results in numerous bugs being found. I remember refereeing the "integral points" code in Sage by running it against all curves up to some bound and comparing to what Magma output, and getting many discrepancies, which showed that there were bugs in both Sage and Magma.
Exercise:
Make up a few elliptic curves and compute the integral points on them.
Try to find an elliptic curve with at least 12 integral points on it. You can search using Google if you want... or whatever.
Make a guess: do you think the number of integral points on elliptic curves is uniformly bounded, or are there elliptic curves over with arbitrarily many integral points? (If not brave enough to make a guess, how might you use tables to make a guess. What computations would you do?)
Make a guess: do you think the ranks of elliptic curves over are uniformly bounded, or are there elliptic curves with arbitrarily large rank?