#10745: bug in elliptic curve gens()
-----------------------------------+--------------------------
       Reporter:  rlm              |        Owner:  cremona
           Type:  defect           |       Status:  needs_info
       Priority:  major            |    Milestone:
      Component:  elliptic curves  |   Resolution:
       Keywords:                   |    Merged in:
        Authors:                   |    Reviewers:
Report Upstream:  N/A              |  Work issues:
         Branch:                   |       Commit:
   Dependencies:                   |     Stopgaps:
-----------------------------------+--------------------------
Changes (by pbruin):

 * status:  new => needs_info


Old description:

> [See #15608 for a list of open simon_two_descent tickets]
>
> {{{
> sage: a = [1, 0, 1, -1751, -31352]
> sage: F = EllipticCurve(a)
> sage: K.<d> = QuadraticField(5)
> sage: FK = EllipticCurve(K, a)
> sage: F.gens()
> [(52 : 111 : 1)]
> sage: FK.gens()
> []
> }}}
>
> This isn't very good, because the default in Sage is proof=True, so one
> would expect this to be a provable result (until reading the docs of
> course. But if we try to look harder for the point, we run into a bug
> with caching:
>
> {{{
> sage: FK.gens(lim1=6)
> ---------------------------------------------------------------------------
> KeyError                                  Traceback (most recent call
> last)
>
> /home/rlmill/<ipython console> in <module>()
>
> /home/rlmill/sage-4.6.2.alpha2/local/lib/python2.6/site-
> packages/sage/schemes/elliptic_curves/ell_number_field.pyc in gens(self,
> verbose, lim1, lim3, limtriv, maxprob, limbigprime)
>    1772         """
>    1773
> -> 1774         lower,upper,gens =
> self.simon_two_descent(verbose=verbose,lim1=lim1,lim3=lim3,limtriv=limtriv,maxprob=maxprob,limbigprime=limbigprime)
>    1775         return gens
>    1776
>
> /home/rlmill/sage-4.6.2.alpha2/local/lib/python2.6/site-
> packages/sage/schemes/elliptic_curves/ell_number_field.pyc in
> simon_two_descent(self, verbose, lim1, lim3, limtriv, maxprob,
> limbigprime)
>     265
>     266         try:
> --> 267             result =
> self._simon_two_descent_data[lim1,lim3,limtriv,maxprob,limbigprime]
>     268             if verbose == 0:
>     269                 return result
>
> KeyError: (6, 50, 10, 20, 30)
> }}}
>
> So two problems: 1) Over Q, if the result is not provable a RuntimeError
> is raised. This should be the same here. 2) One can't change parameters
> due to the way the output is being cached.

New description:

 [See #15608 for a list of open simon_two_descent tickets]

 {{{
 sage: a = [1, 0, 1, -1751, -31352]
 sage: F = EllipticCurve(a)
 sage: K.<d> = QuadraticField(5)
 sage: FK = EllipticCurve(K, a)
 sage: F.gens()
 [(52 : 111 : 1)]
 sage: FK.gens()
 []
 }}}
 This isn't very good, because the default in Sage is proof=True, so one
 would expect this to be a provable result (until reading the docs of
 course).

 Over Q, if the result is not provable an error is raised or a warning is
 printed, depending on the `proof` flag. This should be the same here.

 In earlier versions of Sage (< 6.0), there was also a bug with caching:
 {{{
 sage: FK.gens(lim1=6)
 Traceback (most recent call last):
 ...
 KeyError: (6, 50, 10, 20, 30)
 }}}

--

Comment:

 Given that the documentation no longer says that the points returned by
 `gens()` are linearly independent or span a subgroup of full rank, this is
 technically not a bug anymore, but there is still the inconsistency with
 the similar function over '''Q'''.  There seem to be three options:
 1. close this ticket as invalid or wontfix;
 2. use this ticket to print a warning or raise an error if `gens()`
 returns something other than a basis for a subgroup of full rank in the
 Mordell-Weil group;
 3. rewrite this ticket with a more ambitious goal as in comment:6.
 Any ideas?

--
Ticket URL: <http://trac.sagemath.org/ticket/10745#comment:9>
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 unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to