1 | initial version |

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()
```~~True~~True
~~ ~~sage: E = EllipticCurve([0, -1, 1, -929, -10595])
sage: Em = E.mwrank_curve()
sage: Em.rank()
0
sage: Em.certain()
~~False~~

False

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.

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.