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
- 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
comment:2 Changed 6 years ago by
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
- 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
Thanks a lot for your review! I'll try to take a look at #15737 soon.
comment:5 Changed 6 years ago by
- Branch changed from u/pbruin/16034-elliptic_curve_base_change to 272a2ed8f2029ea2fe14392badd50632029c7df2
- Resolution set to fixed
- Status changed from positive_review to closed
This commit does the following:
EllipticCurve_number_field._known_points
to store points coming from 2-descentEllipticCurve_number_field.base_extend()
transfer these known points to the base-extended curveEllipticCurve_number_field.simon_two_descent()
(andgens()
,rank_bounds()
) use_known_points
as the optional argumenthelp
to Simon's functionbnfellrank
, and store any new points that were foundEllipticCurve_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 pointIt's not really elegant, but my attempts at making it better were not very successful.