Opened 6 years ago

Closed 6 years ago

#16034 closed enhancement (fixed)

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

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

Description

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 6 years ago by pbruin

  • Authors set to Peter Bruin
  • Branch set to u/pbruin/16034-elliptic_curve_base_change
  • Commit set to 272a2ed8f2029ea2fe14392badd50632029c7df2
  • Dependencies set to #10745
  • Status changed from new to needs_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 6 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 6 years ago by wuthrich

  • Reviewers set to Chris Wuthrich
  • Status changed from needs_review to positive_review

OK. in the office all tests passed.

comment:4 Changed 6 years ago by pbruin

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

comment:5 Changed 6 years ago by vbraun

  • Branch changed from u/pbruin/16034-elliptic_curve_base_change to 272a2ed8f2029ea2fe14392badd50632029c7df2
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.