Opened 9 years ago
Last modified 6 years ago
#11023 new enhancement
Add proof=False and proof=True flags analytic_rank()
Reported by: | weigandt | Owned by: | weigandt |
---|---|---|---|
Priority: | major | Milestone: | sage-6.4 |
Component: | elliptic curves | Keywords: | rank, gens |
Cc: | cremona, was | Merged in: | |
Authors: | Reviewers: | ||
Report Upstream: | N/A | Work issues: | |
Branch: | Commit: | ||
Dependencies: | Stopgaps: |
Description (last modified by )
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.
Change History (6)
comment:1 Changed 9 years ago by
- Priority changed from major to minor
comment:2 Changed 9 years ago by
- Description modified (diff)
- Priority changed from minor to major
- Summary changed from analytic_rank() should set rank() and gens() when it returns 0 to Add proof=False and proof=True flags analytic_rank()
comment:3 Changed 7 years ago by
- Milestone changed from sage-5.11 to sage-5.12
comment:4 Changed 6 years ago by
- Milestone changed from sage-6.1 to sage-6.2
comment:5 Changed 6 years ago by
- Milestone changed from sage-6.2 to sage-6.3
comment:6 Changed 6 years ago by
- Milestone changed from sage-6.3 to sage-6.4
Note: See
TracTickets for help on using
tickets.
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.