Add elliptic curve construction for downloaded ECNF search results#6821
Add elliptic curve construction for downloaded ECNF search results#6821roed314 merged 10 commits intoLMFDB:mainfrom
Conversation
Fixes by autopep8 action
|
Thanks for doing this, Robin! I'll take a look and will put it on the agenda for the upcoming (soon) effort on dealing ECQ/ECNF issues. |
|
Looks great! One brief suggestions: Looks like the knowl for Weierstrass coefficients prints twice at the bottom. This comes from two different search columns needing the same knowl. Wondering if there is a way to make it so that the downloader utils only print distinct knowls once even if two columns share a knowl? |
|
Thank you both! I had a look at the documentation for search columns, and it seems that one can provide a string as |
|
I have tried this out on some random curves, testing all of magma, gp, sage and text, csv. For the first three I tested that the commands worked. I did not test Oscar since I don't use that, and someone else should.
which I think it would be better to remove. It comes from the knowl 'nf' having a comment in it which is copied here. Can we fix whatever part of downloader.py gets the knowl text to delete any commented out text? |
|
I made some comments on the original Issue #4810 which are still relevant. |
|
Many thanks @JohnCremona for reviewing this! I've implemented your point 2 above. Given that points 1, 3, 4 all deal with issues particular to the Downloader utils class, I've opened a separate PR #6860 for this. Perhaps that PR could be reviewed and merged first, and then this one can be merged (though the order doesn't strictly matter). I haven't implemented anything in the downloads yet for Oscar, as I don't really use Oscar, so I'm not too familiar with the language (and there also doesn't seem to be any Oscar code snippets implemented for ECNF). |
This PR solves issue #6806 (and also the related issue #4810). When downloading ECNF search results for Sage, Magma, or Pari/GP, each elliptic curve is now explicitly constructed as an EllipticCurve object in the respective language. This is implemented similarly to elliptic curves over Q, using an
ECNFDownloaderclass.In order to construct each elliptic curve, I've added a hidden$K$ . This column is then used in the function
"field_coeffs"search column which is only shown in the downloaded files, which gives the coefficients of the defining polynomial of the base fieldcreate_record(row)to construct each elliptic curve over its respective base field.As always, any comments or feedback is very welcome! 🙂
An example when searching for elliptic curves over base field 2.0.111.1 with conductor norm 1:
https://beta.lmfdb.org/EllipticCurve/?field=2.0.111.1&conductor_norm=1
http://localhost:37777/EllipticCurve/?field=2.0.111.1&conductor_norm=1
Sage download:
http://localhost:37777/EllipticCurve/?download=1&query=%7B%27field_label%27%3A+%272.0.111.1%27%2C+%27conductor_norm%27%3A+1%7D&field=2.0.111.1&conductor_norm=1&Submit=sage
Magma download:
http://localhost:37777/EllipticCurve/?download=1&query=%7B%27field_label%27%3A+%272.0.111.1%27%2C+%27conductor_norm%27%3A+1%7D&field=2.0.111.1&conductor_norm=1&Submit=magma
Pari/GP download:
http://localhost:37777/EllipticCurve/?download=1&query=%7B%27field_label%27%3A+%272.0.111.1%27%2C+%27conductor_norm%27%3A+1%7D&field=2.0.111.1&conductor_norm=1&Submit=gp