John Cremona on Wed, 09 Apr 2025 10:44:12 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: question on plane cubic curves <-> Weierstrass elliptic curve maps |
Perhaps this explains the difference you are seeing. For any (smooth) plane cubic curve C, its Jacobian is an elliptic curve E, and there is always a map from C to E (a 3-covering map, used in 3-descent) which has degree 9, being a twisted form of multiplication-by-3 on E itself. This map does not require C to have any rational points. If C has a rational point, then there is a lower degree map from C to E taking that rational point to the point at infinity on E; this map can even be an isomorphism (degree 1) if the given rational point on C is a flex -- you map it to [0:1:0] and its tangent line to Z=0, using a linear map, and this already almost gives you a Weierstrass equation, you only have to scale x and y to make the coefficients of x^3 and y^2 equal. When the rational point on C is not a flex then the usual map to E (as given in textbooks) has degree 2 and is a form of Cremona transformation (for reasons having nothing to do with me!). So it is not surprising that you are seeing different formulas. The documentation for the functions you are using (in pari, Magma, or Sage) should say what they are doing! For example, see the documentation for EllipticCurve_from_cubic() in https://doc.sagemath.org/html/en/reference/arithmetic_curves/sage/schemes/elliptic_curves/constructor.html which may have been written by me. John On Wed, 9 Apr 2025 at 00:52, American Citizen <website.reader3@gmail.com> wrote: > > Hello: > > My goal here is to see if we can find maps with smaller powers of > coefficients for forward/inverse maps between certain plane cubic curves > and Weierstrass elliptic curves apparently matching the Jacobian of the > cubic curves. > > Let a plane body cubic equation in u,v be > > (1) 2*a*b*v*(u+1)*(u-1) - (a+b)*(a-b)*u*(v+1)*(v-1) = 0 > > where a,b are positive integers and u,v rational (usually > 1) > > GP Pari ellfromeqn((1)) gives > > (2) E_body(a,b) = [0, (a^2 + b^2)^2, 0, (2*a*b*(a-b)*(a+b))^2, 0] > > provided that you substitute [x,y] for [u,v] in (1). > > There is a rather complicated forward map from (1) -> (2) which I won't > give. The inverse map has to be found also. > > Magma returns a Weierstrass equation with higher powers of a,b as > > (3) Magma_body(a,b) = [ 0, (-32*a^8*b^4 + 128*a^6*b^6 - > 32*a^4*b^8)/(a^12 - 14*a^10*b^2 + 63*a^8*b^4 - 100*a^6*b^6 + 63*a^4*b^8 > - 14*a^2*b^10 + b^12), 0, 256*a^8*b^8/(a^16 - 20*a^14*b^2 + 148*a^12*b^4 > - 492*a^10*b^6 + 726*a^8*b^8 - 492*a^6*b^10 + 148*a^4*b^12 - 20*a^2*b^14 > + b^16), 0 ] > > Concerning the forward/inverse maps, magma finds > > Forward map (1) --> (3) > > x = -8*a^3*b^3/(a^6 - 7*a^4*b^2 + 7*a^2*b^4 - b^6)*u; > y = -64*a^6*b^6/(a^12 - 14*a^10*b^2 + 63*a^8*b^4 - 100*a^6*b^6 + > 63*a^4*b^8 - 14*a^2*b^10 + b^12)*w; > z = (-1/2*a^2 + 1/2*b^2)/(a*b)*u + v; > > in projective coordinates [x,y,z]. > > Inverse map (3) --> (1) > > u=8*a^3*b^3/(a^6 - 7*a^4*b^2 + 7*a^2*b^4 - b^6)*x; > v=4*a^2*b^2/(a^4 - 6*a^2*b^2 + b^4)*x - 64*a^6*b^6/(a^12 - 14*a^10*b^2 + > 63*a^8*b^4 - 100*a^6*b^6 + 63*a^4*b^8 - 14*a^2*b^10 + b^12)*z; > w=y; > > [u,v,w] projective coordinates. > > I particularly like the fact that GP Pari is finding a much smaller > Weierstrass format curve in smaller powers of a,b then Magma is giving. > When it comes to using mwrank and other elliptic curve point finding > programs, the curves with the smaller coefficients generally work much > better, and it's not too hard to see that using (3) climbs up by using > 16th powers. I'd rather keep this at 4th powers not 16th powers. > > My question is this, can we find simpler maps for the (1) -> (2) and (2) > -> (1) mappings? > > - Randall > >