Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CremonaDatabase omits data for curves not first in their class #17904

Closed
JohnCremona opened this issue Mar 6, 2015 · 18 comments
Closed

CremonaDatabase omits data for curves not first in their class #17904

JohnCremona opened this issue Mar 6, 2015 · 18 comments

Comments

@JohnCremona
Copy link
Member

Chris Wuthrich reported that

sage: E = EllipticCurve('100467a2')
sage: E.database_attributes()
{'conductor': 100467,
 'cremona_label': '100467a2',
 'rank': 1,
 'torsion_order': 1}

although the database does contain the generators:

sage: CremonaDatabase().allgens(100467)['a2']
[[7465870518064287, 219103670535029299, 7758864174573]]

It seems that (in two palces) the code to extract the data from the database wrongly assumes that some data only exists for the first curve in each isogeny class, which is not true.

A simple fix to sage/databases/cremona.py is on its way.

CC: @categorie

Component: elliptic curves

Keywords: Cremona database

Author: John Cremona

Branch/Commit: 4de6008

Reviewer: Chris Wuthrich

Issue created by migration from https://trac.sagemath.org/ticket/17904

@JohnCremona JohnCremona added this to the sage-6.6 milestone Mar 6, 2015
@JohnCremona
Copy link
Member Author

Changed keywords from none to Cremona database

@JohnCremona
Copy link
Member Author

Branch: u/cremona/17904

@JohnCremona
Copy link
Member Author

New commits:

d8f530c17904: fix ec database data extraction when num>1

@JohnCremona
Copy link
Member Author

Commit: d8f530c

@JohnCremona
Copy link
Member Author

Author: John Cremona

@JohnCremona
Copy link
Member Author

comment:3

I did not add a doctest since it can only be tested with the optional database_cremona_ellcurve installed.

@chriswuthrich
Copy link
Contributor

comment:4

I agree with the fix and I checked that it solves the problem. I am running the obligatory tests now.

Thanks for fixing that so fast. Very helpful.

@chriswuthrich
Copy link
Contributor

Reviewer: Chris Wuthrich

@jdemeyer
Copy link

jdemeyer commented Mar 7, 2015

comment:6

Replying to @JohnCremona:

I did not add a doctest since it can only be tested with the optional database_cremona_ellcurve installed.

You should add a doctest and annotate it with

# optional - database_cremona_ellcurve

There are many such tests already in src/sage/databases/cremona.py.

(Note that I am not setting the ticket to needs_work for this)

@JohnCremona
Copy link
Member Author

comment:7

Replying to @jdemeyer:

Replying to @JohnCremona:

I did not add a doctest since it can only be tested with the optional database_cremona_ellcurve installed.

You should add a doctest and annotate it with

# optional - database_cremona_ellcurve

There are many such tests already in src/sage/databases/cremona.py.

OK, I will do that!

(Note that I am not setting the ticket to needs_work for this)

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Mar 7, 2015

Changed commit from d8f530c to 50a18a4

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Mar 7, 2015

Branch pushed to git repo; I updated commit sha1 and set ticket back to needs_review. New commits:

50a18a4#17904 added doctests

@JohnCremona
Copy link
Member Author

comment:9

OK, so I added the doctest and the act of pushing the new commit automatically caused the needs_review flag to be set. Sorry, Chris!

@chriswuthrich
Copy link
Contributor

Changed commit from 50a18a4 to 4de6008

@chriswuthrich
Copy link
Contributor

Changed branch from u/cremona/17904 to u/wuthrich/17904

@chriswuthrich
Copy link
Contributor

comment:10

Ok. I fixed a tiny sphinx error on that page, too.

I did test cremona.py, but I have not run the complete test again after the last changes which only affect the docstring in that file. If anyone finds that inacceptable, then I will run them.


New commits:

4de6008trac 17904: small doc correction

@JohnCremona
Copy link
Member Author

comment:11

Thanks -- I think we can leave the rest to various bots.

For what it's worth I used the cremona_curves() iterator to grab every single curve and check that len(E.gens())==E.rank(), which it did fast enough to be confident that all the data was really coming from the database.

@vbraun
Copy link
Member

vbraun commented Mar 8, 2015

Changed branch from u/wuthrich/17904 to 4de6008

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants