#3416: Weierstrass form for cubics
-----------------------------+----------------------------------------------
   Reporter:  moretti        |       Owner:  was                                
                       
       Type:  enhancement    |      Status:  needs_work                         
                       
   Priority:  major          |   Milestone:  sage-4.7                           
                       
  Component:  number theory  |    Keywords:  nagell, weierstrass, cubic, 
elliptic curves, editor_wstein
     Author:                 |    Upstream:  N/A                                
                       
   Reviewer:                 |      Merged:                                     
                       
Work_issues:                 |  
-----------------------------+----------------------------------------------

Comment(by Niels):

 Replying to [comment:17 cremona]:
 > Replying to [comment:16 cremona]:
 > > See #10297 for a separate report on this (and, soon, a patch).
 >
 > The patch is there, so please review it!  The example I used there is
 one of the examples from the patch here.
 >
 > Replacing the curve E used there with
 > {{{
 >
 > sage: E=EllipticCurve([0,0,0,0,-6400/3])
 > sage: H=C.Hom(E)
 > sage: f = H([zbar,xbar-ybar,-(xbar+ybar)/80])
 > sage: f
 > Scheme morphism:
 >   From: Projective Curve over Rational Field defined by x^3^ + y^3^ +
 60*z^3^
 >   To:   Elliptic Curve defined by y^2^ = x^3^ - 6400/3 over Rational
 Field
 >   Defn: Defined on coordinates by sending (x : y : z) to
 >         (zbar : xbar - ybar : -1/80*xbar - 1/80*ybar)
 > }}}
 > successfully defines the morphism.  I recommend that the function here
 just returns the morphism, since one can recover E from
 > {{{
 > sage: f.codomain()
 > Elliptic Curve defined by y^2^ = x^3^ - 6400/3 over Rational Field
 > }}}
 >
 > This will not be the end of the story, as I now cannot apply f to a
 point on C to get a point on E, but that's because of another difficulty
 like the one at #10297, so should be fixed separately.

 The example you give almost works. However, the map f sending (x : y : z)
 to (zbar : xbar - ybar : -1/80*xbar - 1/80*ybar) is the inverse of the map
 we are looking for. The map f is from the Elliptic Curve defined by y^2^ =
 x^3^ - 6400/3 to the Curve defined by x^3^ + y^3^ + 60*z^3^, not the other
 way around.

 I would like to include both the map f and its inverse f^-1^ as (optional)
 output. Also, it would be nice to include the projective scaling necessary
 after the rational transformation. Unfortunately, the map f^-1^ from "x^3^
 + y^3^ + 60*z^3^" to "y^2^ - x^3^ + 6400/3" is not homogeneous:

 x -> 1/2*y - 40

 y -> -1/2*y - 40

 z -> x

 Then multiply the equation with 1/60.

 The map f is homogeneous, but I'm not sure I can get a homogeneous f^-1^
 from there.

 I suggest that I include the morphisms as an optional tuple of strings.
 Does anyone have a better suggestion?

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/3416#comment:18>
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