#5976: [with patch; needs work] Add an Elliptic Curve Isogeny object
---------------------------+------------------------------------------------
 Reporter:  shumow         |       Owner:  shumow         
     Type:  enhancement    |      Status:  assigned       
 Priority:  major          |   Milestone:  sage-4.0       
Component:  number theory  |    Keywords:  Elliptic Curves
---------------------------+------------------------------------------------

Comment(by cremona):

 Michael is quite right (of course).  I went for dinner and realised too
 late that I had forgotten to complain about the <100% coverage.  I will be
 happy to review it again when that is seen to.

 I have another problem:
 {{{
 sage: E=EllipticCurve('11a1')
 sage:
 phi=EllipticCurveIsogeny(E,E.division_polynomial(2).list(),algorithm='kohel')
 sage: phi
 Isogeny of degree 4 from Elliptic Curve defined by y^2 + y = x^3 - x^2 -
 10*x - 20 over Rational Field to Elliptic Curve defined by y^2 + y = x^3 -
 x^2 - 1260*x - 13797 over Rational Field
 sage: phi.domain_curve().j_invariant()
 -122023936/161051
 sage: phi.range_curve().j_invariant()
 221401204903936/40810683805
 }}}
 Here, I was expecting that phi would be the multiplication-by-2 map from E
 to itself. but it clearly is not:
 {{{
 sage: phi.rational_maps()

 ((64*x^7 - 192*x^6 - 1088*x^5 - 80*x^4 + 10240*x^3 + 17312*x^2 + 3476*x -
 24628)/(16*x^6 - 32*x^5 - 304*x^4 - 312*x^3 + 2232*x^2 + 6320*x + 6241),
  (1024*x^9*y + 512*x^9 - 3584*x^8*y - 1792*x^8 - 20992*x^7*y - 10496*x^7 +
 15744*x^6*y + 7864*x^6 + 265728*x^5*y + 132880*x^5 + 329152*x^4*y +
 164728*x^4 - 821728*x^3*y - 410708*x^3 - 2809920*x^2*y - 1406076*x^2 -
 2932320*x*y - 1469320*x - 1259724*y - 1265965/2)/(64*x^9 - 192*x^8 -
 1728*x^7 - 16*x^6 + 24864*x^5 + 52848*x^4 - 64948*x^3 - 454092*x^2 -
 748920*x - 493039))
 }}}
 so I think this is actually wrong.

 When this is fixed it would be nice to make it easier to construct this
 multiplication as an isgeny from E to itself (and not just from E to an
 isomorphic curve).  Which would suggest making the isogeny code work
 alongside the weierstrass map code (since weierstrass isomorphisms
 [u,r,s,t] are nothing other than isogenies of degree 1), for example by
 allowing the construction of an isogeny from a urst and vice versa for
 isogenies of degree 1.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/5976#comment:7>
Sage <http://sagemath.org/>
Sage - Open Source Mathematical Software: Building the Car Instead of 
Reinventing the Wheel

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