Opened 11 years ago

Last modified 7 years ago

#11023 new enhancement

Add proof=False and proof=True flags analytic_rank() — at Version 2

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:

Status badges

Description (last modified by weigandt)

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()
sage: E.rank()
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()

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 (2)

comment:1 Changed 11 years ago by weigandt

  • Priority changed from major to minor

comment:2 Changed 11 years ago by weigandt

  • 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()

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.

Note: See TracTickets for help on using tickets.