Opened 9 years ago

Closed 9 years ago

#16034 closed enhancement (fixed)

Remember points of infinite order on an elliptic curve when extending the base field

Reported by: Peter Bruin Owned by:
Priority: minor Milestone: sage-6.2
Component: elliptic curves Keywords: elliptic curve Mordell-Weil group base extension
Cc: John Cremona, wuthrich Merged in:
Authors: Peter Bruin Reviewers: Chris Wuthrich
Report Upstream: N/A Work issues:
Branch: 272a2ed (Commits, GitHub, GitLab) Commit: 272a2ed8f2029ea2fe14392badd50632029c7df2
Dependencies: #10745 Stopgaps:

Status badges


It would be useful if elliptic curves over number fields remembered known points of infinite order when extending the base field:

sage: E = EllipticCurve([1,0,1,-1751,-31352])
sage: K.<d>=QuadraticField(5)
sage: E.gens()
[(52 : 111 : 1)]
sage: EK = E.base_extend(K)
sage: EK.gens()

These remembered points can be used by EK.gens(), and more generally EK.simon_two_descent(), via the help parameter of Simon's function bnfellrank().

Change History (5)

comment:1 Changed 9 years ago by Peter Bruin

Authors: Peter Bruin
Branch: u/pbruin/16034-elliptic_curve_base_change
Commit: 272a2ed8f2029ea2fe14392badd50632029c7df2
Dependencies: #10745
Status: newneeds_review

This commit does the following:

  • new attribute EllipticCurve_number_field._known_points to store points coming from 2-descent
  • make EllipticCurve_number_field.base_extend() transfer these known points to the base-extended curve
  • make EllipticCurve_number_field.simon_two_descent() (and gens(), rank_bounds()) use _known_points as the optional argument help to Simon's function bnfellrank, and store any new points that were found
  • make EllipticCurve_rational_field.gens() store its result in _known_points, and restructure this method a bit (by splitting of _compute_gens()) so this only has to be done at a single point
  • a bit of general cleaning up

It's not really elegant, but my attempts at making it better were not very successful.

comment:2 Changed 9 years ago by wuthrich

First of all : I am impressed with your speed of work. Very good ! I am glad someone really cares about these bugs and helps us improve sage that much. Thanks.

I had a look at the ticket and I am fine with all changes. I will do some tests now. Unfortunately I get a problem (probably not linked to this ticket) when building the doc, so I can't just yet review it. But hopefully I can do so soon.

[May I ask you if you would have time to look at #15737 ?]

comment:3 Changed 9 years ago by wuthrich

Reviewers: Chris Wuthrich
Status: needs_reviewpositive_review

OK. in the office all tests passed.

comment:4 Changed 9 years ago by Peter Bruin

Thanks a lot for your review! I'll try to take a look at #15737 soon.

comment:5 Changed 9 years ago by Volker Braun

Branch: u/pbruin/16034-elliptic_curve_base_change272a2ed8f2029ea2fe14392badd50632029c7df2
Resolution: fixed
Status: positive_reviewclosed
Note: See TracTickets for help on using tickets.