#7096: bug in dual isogeny computation
-------------------------------+--------------------------------------------
   Reporter:  cremona          |       Owner:                        
       Type:  defect           |      Status:  new                   
   Priority:  major            |   Milestone:  sage-4.2.1            
  Component:  elliptic curves  |    Keywords:  elliptic curve isogeny
Work_issues:                   |      Author:                        
   Reviewer:                   |      Merged:                        
-------------------------------+--------------------------------------------

Comment(by wuthrich):

 OK. Here we go. That is a patch for this ticket that I would like to be
 reviewed.

 I explain all the changes it introduces as it is quite a long and
 complicated patch. (I like the fact that the initial comment on the ticket
 was ''"This looks like something which should be easy to fix."'' while it
 took me a month of quite hard work.)

  * I moved the computation of the weierstrass p-function into a seperate
 file ell_wp.py.
    I also completely clean it. It used to contain a lot of functions on
 power series that
    are already implemented in sage. There is an option now to call the
 pari version.
  * I added a {{{weierstrass_p}}} to ell_field.py.
  * Having redone all the weierstrass_p with laurent and power series
 rather than with
    polynomials, also got rid of the {{{IndexError}}} mentioned above.
  * The dual is now correct and not just up to an automorphism.
  * When trying to give an isogeny with a codomain, it now checks if the
 algorithm fails
    (typically because there is no cyclic normalized isogeny of this
 degree). This eliminates a
    bad bug that was known in the code.
  * We can now take duals of non-normalized isogenies
  * There is a new function {{{formal}}} that computes the formal expansion
 of the isogeny.
  * This {{{formal}}} can be used to check if the isogeny is normalized;
 this simplifies and
    corrects the previous code (which is still there but deprecated).
  * I included a check to forbid {{{dual}}} of isogenies of degree
 divisible by the
    charactersitic.
  * I updated a lot of the documentation of isogenies.
  * And I also changed the starting documentation of ell_generic.py to
 clarify what we mean by
    an elliptic curve in sage.

 There is still a lot that should be done about isogenies for elliptic
 curves. I hope this patch corrects and clarifies what is possible right
 now. For further things that one could wish for in sage concerning
 isogenies and endomorphisms I opened ticket #7368 as a follow up.

 Note that this ticket also includes the correction asked for in #7307.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/7096#comment:11>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to