Opened 10 years ago

Closed 10 years ago

#10730 closed defect (duplicate)

simon_two_descent -- reports points as being independent, but they are not — at Version 4

Reported by: was Owned by: davidloeffler
Priority: minor Milestone: sage-duplicate/invalid/wontfix
Component: elliptic curves Keywords:
Cc: Merged in:
Authors: Reviewers: Robert Miller
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by jdemeyer)

Check out this

sage: F.<a> = NumberField(x^2-x-1)
sage: E = EllipticCurve([1,a+1,a,a,0])
sage: E.simon_two_descent()
(0, 1, [(-1 : -a + 1 : 1), (-a : 0 : 1)])

According to the docs:

Computes lower and upper bounds on the rank of the Mordell-Weil group, and a list of independent points.

It output a lower bound of 0, an upper bound of 1, and gave *two* independent points? Clearly something is wrong. In fact, the points output are all torsion and one is a multiple of the other:

sage: E.torsion_subgroup()
Torsion Subgroup isomorphic to Z/8 associated to the Elliptic Curve defined by y^2 + x*y + a*y = x^3 + (a+1)*x^2 + a*x over Number Field in a with defining polynomial x^2 - x - 1
sage: Q == 4*P
True
sage: v = E.simon_two_descent()
sage: P,Q =v[2]
sage: Q == 4*P
True
sage: P.order()
8
sage: Q.order()
2

So instead of claiming the output points are independent, claim nothing about them?

This is a duplicate of #5153.

Change History (4)

comment:1 in reply to: ↑ description ; follow-up: Changed 10 years ago by nbruin

Since it's doing a 2-descent the code should be able to guarantee that the points returned generate E(k)/2E(k) and should be able to test that the points form a basis of E(k)/2E(k) as an F_2-vector space. That's a kind of independence ...

comment:2 in reply to: ↑ 1 Changed 10 years ago by nbruin

Incidentally, from a 2-(isogeny-)descent on E one can conclude that the rank is 0, so while the upper bound returned does not contradict the documentation, the code is not returning the appropriate bound. In Magma:

RankBound?(EllipticCurve?([1,a+1,a,a,0]));

0

AnalyticRank?(E);

0 0.359929 but you probably already knew that.

comment:3 Changed 10 years ago by rlm

See #5153

comment:4 Changed 10 years ago by jdemeyer

  • Component changed from number fields to elliptic curves
  • Description modified (diff)
  • Milestone changed from sage-4.7.2 to sage-duplicate/invalid/wontfix
  • Resolution set to duplicate
  • Reviewers set to Robert Miller
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.