Opened 12 years ago

Add proof=False and proof=True flags analytic_rank()

Reported by: Owned by: Jamie Weigandt Jamie Weigandt major sage-6.4 elliptic curves rank, gens John Cremona, William Stein N/A

If the analytic rank of an elliptic curve over QQ is computed to be 0, it is a theorem that the algebraic rank is 0, and we can set the generators to be []. This is not done.

```sage: E=EllipticCurve([1, 0, 0, -1319539461660, -159402536950172400])
sage: E.analytic_rank()
0
sage: E.rank()
BOOM!
RuntimeError: Rank not provably correct.
```

I suppose because analytic_rank() returns an integer that is *probably* the analytic rank, not *provably* the analytic rank. For example:

```sage: EllipticCurve([0,0,1,-7,36]).analytic_rank()
4
```

We should keep the current implementation under a flag of proof=False, and see how much can be said for proof=True. It seems like we should at least be able to prove that a curve of smallish conductor has analytic rank 0 without too much trouble.

comment:1 Changed 12 years ago by Jamie Weigandt

Priority: major → minor

comment:2 Changed 12 years ago by Jamie Weigandt

Description: modified (diff) minor → major analytic_rank() should set rank() and gens() when it returns 0 → Add proof=False and proof=True flags analytic_rank()

Ooops! I misread the documentation, which says that analytic_rank returns an integer that is *probably* the analytic rank of E, as opposed to *provably*.

Perhaps the documentation should be changed to make this clearer. The letters b and v are right next to each other on the keyboard.

Much like #1848 we should probably put a proof=False flag here with the current implementation and try to run something as provable as possible for a proof=True. It seems reasonable that this could be done at least in the case of analytic rank 0.

comment:3 Changed 9 years ago by Jeroen Demeyer

Milestone: sage-5.11 → sage-5.12

comment:4 Changed 9 years ago by For batch modifications

Milestone: sage-6.1 → sage-6.2

comment:5 Changed 9 years ago by For batch modifications

Milestone: sage-6.2 → sage-6.3

comment:6 Changed 8 years ago by For batch modifications

Milestone: sage-6.3 → sage-6.4
Note: See TracTickets for help on using tickets.