# Revision history [back]

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. 2 No.2 Revision

I assume that you mean elliptic curves over Q.ℚ.

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

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


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

I hope this helps.