sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.43k stars 478 forks source link

Add BMSS algorithm for isogenies of elliptic curves #11095

Closed defeo closed 9 months ago

defeo commented 13 years ago

Add the algorithm by Bostan, Morain, Salvy and Schost for normalized isogenies in characteristic 0 or large enough.

References:

[BMSS08] Alin Bostan, François Morain, Bruno Salvy, and Éric Schost, Fast algorithms for computing isogenies between elliptic curves, Mathematics of Computation 77 (2008), 1755–1778.

Apply: attachment: trac_11095_isogenies_char_0_v3.patch​

CC: @categorie @jpflori @pjbruin

Component: elliptic curves

Keywords: isogenies ecc2011

Work Issues: merge conflicts

Author: Luca De Feo

Branch/Commit: public/ticket/11095 @ 59417df

Reviewer: John Cremona, Marco Streng

Issue created by migration from https://trac.sagemath.org/ticket/11095

pjbruin commented 10 years ago

Work Issues: merge conflicts

JohnCremona commented 10 years ago
comment:40

Replying to @pjbruin:

The merge conflicts appear to result from #11327.

If so (and it seems likely) I apologise, as the author of #11327, and hope I have not annoyed people. I'll try to remedy that myself to make up for it, but there are several isogeny-related branches being worked on at the moment and so conflicts are unavoidable.

pjbruin commented 10 years ago
comment:41

Replying to @JohnCremona:

Replying to @pjbruin:

The merge conflicts appear to result from #11327.

If so (and it seems likely) I apologise, as the author of #11327, and hope I have not annoyed people. I'll try to remedy that myself to make up for it, but there are several isogeny-related branches being worked on at the moment and so conflicts are unavoidable.

I apologise in return: this particular conflict could have been avoided if I had finished my review instead of wondering about adding an extra bit of functionality (comment:36) and leaving it there.

defeo commented 10 years ago
comment:42

No big deal. I'm back from conferences+vacation and I'm going to have a look at these conflicts and other isogeny related code in the next few days.

fchapoton commented 9 years ago
comment:43

The conflict seems to me to be not so easy to solve. What do you think ?

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

Changed commit from c7f35aa to d882174

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

c750f70Merge branch 'public/ticket/11095' into 6.5.rc1
d882174trac #11095 tentative of rebasing, needs to be checked
pjbruin commented 9 years ago
comment:45

For this part of the last commit

--- a/src/sage/schemes/elliptic_curves/ell_curve_isogeny.py
+++ b/src/sage/schemes/elliptic_curves/ell_curve_isogeny.py
@@ -3441,13 +3436,14 @@ class EllipticCurveIsogeny(Morphism):
 aut = [a for a in auts if a.u == sc]
 if len(aut) != 1:
     raise ValueError("There is a bug in dual().")
+ # PROBLEM HERE BELOW IN THE CODE : E0 not defined !
 phi_hat.set_post_isomorphism(WeierstrassIsomorphism(E0,aut[0],E0))
 self.__dual = phi_hat

see #17293, where I also noticed this problem; the correct line is

phi_hat.set_post_isomorphism(aut[0])
fchapoton commented 9 years ago
comment:46

Ok. anyway, the merge I did here was not perfectly clean : the functions moved to isogeny_char_zero are pretty much in their state dating from before #11327

this is rather annoying..

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

00f6e52trac #11095 removed line corrected in another ticket
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

Changed commit from d882174 to 00f6e52

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

Changed commit from 00f6e52 to 59417df

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 9 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

59417dftrac #11095 some cleanup in the new file isogeny_char_zero
yyyyx4 commented 9 months ago

An implementation of the BMSS algorithm was added in #36285.