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: |

### 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 9 years ago by

Authors: | → Peter Bruin |
---|---|

Branch: | → u/pbruin/16034-elliptic_curve_base_change |

Commit: | → 272a2ed8f2029ea2fe14392badd50632029c7df2 |

Dependencies: | → #10745 |

Status: | new → needs_review |

### comment:2 Changed 9 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 9 years ago by

Reviewers: | → Chris Wuthrich |
---|---|

Status: | needs_review → positive_review |

OK. in the office all tests passed.

### comment:4 Changed 9 years ago by

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

### comment:5 Changed 9 years ago by

Branch: | u/pbruin/16034-elliptic_curve_base_change → 272a2ed8f2029ea2fe14392badd50632029c7df2 |
---|---|

Resolution: | → fixed |

Status: | positive_review → closed |

**Note:**See TracTickets for help on using tickets.

This commit does the following:

`EllipticCurve_number_field._known_points`

to store points coming from 2-descent`EllipticCurve_number_field.base_extend()`

transfer these known points to the base-extended curve`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`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 pointIt's not really elegant, but my attempts at making it better were not very successful.