Neither of these is "strange", this is perfectly normal behaviour and output for a 2-descent. It gives lower and upper bounds for the rank, and these may not be equal. Specifically, they will differ by (at least) the 2-rank of the Tate-Shafarevich group (Sha) of the curve. 2-descent by itself is not sufficient to determine the rank of all elliptic curves, though it does work for many (specifically, those for which Sha has no elements of order 2 and none of the curve's generators is too large (since some point-searching on the associated homogeneous spaces is carried out to actually find points).
Secondly, the output of E.simon_two_descent() is supposed to be filtered so that the points listed are independent modulo torsion; 2-descent itself should give points which are independent in E/2E but that can still include torsion points. John On 5 August 2013 07:33, Georgi Guninski <gunin...@guninski.com> wrote: > The same curve is strange over QQ[sqrt(5)]: > > sage: > Z1.<Z>=ZZ[];Nf.<v>=NumberField(Z**2-5);E=EllipticCurve(Nf,[-2560000,0]);ge=E.gens();[i.order() > for i in ge] > [+Infinity, +Infinity] > sage: ge > [(1600*v + 3200 : -128000*v - 256000 : 1), > (-1600*v + 3200 : -128000*v + 256000 : 1)] > sage: (ge[0]-ge[1]).order() > 2 > E.rank() > ValueError: There is insufficient data to determine the rank - 2-descent gave > lower bound 1 and upper bound 3 > > Is it true that the rank is at least 2 since there at least two gens of > infinite order? > > > Another one: > > sage: > Z1.<Z>=ZZ[];Nf.<v>=NumberField(Z**2-5);E=EllipticCurve(Nf,[-256,0]);ge=E.gens();[i.order() > for i in ge] > [+Infinity, +Infinity, +Infinity, +Infinity] > sage: E.rank() > ValueError: There is insufficient data to determine the rank - 2-descent gave > lower bound 1 and upper bound 3 > sage: ge > > [(8*v + 8 : -32*v - 32 : 1), > (16*v + 32 : -128*v - 256 : 1), > (-8*v + 8 : -32*v + 32 : 1), > (-16*v + 32 : -128*v + 256 : 1)] > sage: (ge[0]+ge[1]).order() > 2 > > > > > On Sun, Aug 04, 2013 at 02:54:32PM +0100, John Cremona wrote: >> On 4 August 2013 13:43, Georgi Guninski <gunin...@guninski.com> wrote: >> > Not sure what exactly "deprecated" is, but IMO don't ditch it. >> > >> > Maybe warn once or every time. >> > >> >> What I meant was this. For a long time E.gens() was NotImplemented >> over number fields, and the only way to get information about possible >> generators was to (know what youwere doing and) run >> E.simon_two_descent(). Then someone observed that in cases where >> E.simon_two_descent() does actually return equal lower and upper >> bounds for the rank, with that number of generators, then E.gens() >> should be able to return an actually correct set of generators. >> Instead, it seems to return whatever generators E.simon_two_descent() >> has been able to find (possibly none) even if the number of generators >> thus returned is strictly less than the rank upper bound computed. And >> *that* is misleading, even if documented. >> >> Another little feature is that simon_two_descent (or at least the >> underlying script) can increase the lower rank bound by 1 in line with >> the (in general not proved) parity conjecture, so the number of >> generators returned is then 1 less than the rank lower bound. I think >> that the wrapping code undoes this. >> >> John >> -- You received this message because you are subscribed to the Google Groups "sage-support" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-support+unsubscr...@googlegroups.com. To post to this group, send email to sage-support@googlegroups.com. Visit this group at http://groups.google.com/group/sage-support. For more options, visit https://groups.google.com/groups/opt_out.