# Generating only the ranks of elliptic curves that can be found provably correctly Anonymous

Hello! I am trying to compute the rank for a large number of elliptic curves. I know that this is not always doable in a provably correct manner, so I would like to write up a piece of code that will go through my list of elliptic curves, calculate the rank provably correctly if possible, and skip those elliptic curves for which the rank cannot be computed provably correctly. Is there a simple way to do this? Thanks!

edit retag close merge delete

Sort by » oldest newest most voted

I assume that you mean elliptic curves over Q.

I would do two or three things. First, wrap your call to E.rank() in a try/except block to catch cases where an error is raised. Second, create an E.mwrank_curve() object, which you can ask its rank and ask whether the reault os proved correct (thish is delivered by mwrank):

sage: E = EllipticCurve([0,0,1,-7,6]) sage: Em = E.mwrank_curve() sage: Em.rank() 3 sage: Em.certain() True

sage: E = EllipticCurve([0, -1, 1, -929, -10595]) sage: Em = E.mwrank_curve() sage: Em.rank() 0 sage: Em.certain() False

In the second example, the rank really is 0 but E has Sha of order 4 and mwrank is not able to tell the difference.

I hope this helps.

more