#11023: Add proof=False and proof=True flags analytic_rank()
-------------------------------+--------------------------------------------
Reporter: weigandt | Owner: weigandt
Type: enhancement | Status: new
Priority: major | Milestone: sage-4.7
Component: elliptic curves | Keywords: rank, gens
Author: | Upstream: N/A
Reviewer: | Merged:
Work_issues: |
-------------------------------+--------------------------------------------
Changes (by weigandt):
* priority: minor => major
Old description:
> 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()
> Unable to compute the rank with certainty (lower bound=0).
> This could be because Sha(E/Q)[2] is nontrivial.
> Try calling something like two_descent(second_limit=13) on the
> curve then trying this command again. You could also try rank
> with only_use_mwrank=False.
> ---------------------------------------------------------------------------
> BOOM!
>
> RuntimeError: Rank not provably correct.
>
> }}}
>
> We could also set the rank to 1 if the analytic rank is provably 1, but
> it seems customary only to set the rank when we can also set the
> generators, so that shouldn't be done until improved Heegner point
> functionality is available.
New description:
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:
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.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11023#comment:2>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.