Transforming the equation of an elliptic curve to Weierstraß form

Transforming the equation of an elliptic curve to Weierstraß form
G = -4 X3 - 16 X2 Y - 18 X Y2 - 3 Y3 - 4 X2 Z - 8 X Y Z - Y2 Z - 2 X Z2 - 3 Y Z2 - Z3 ;
First calculate the Hessian and find the inflection points.
H = Det@88D@G, X, XD, D@G, X, YD, D@G, X, ZD<,
8D@G, X, YD, D@G, Y, YD, D@G, Y, ZD<,
8D@G, X, ZD, D@G, Z, YD, D@G, Z, ZD<<D
384 X3 + 2688 X2 Y + 6144 X Y2 + 4448 Y3 + 768 X2 Z + 3840 X Y Z + 4320 Y2 Z + 768 X Z2 +
1632 Y Z2 + 224 Z3
8X ® Z, Y ® -Z<
Solve@G Š H Š 0D@@1DD
X = Z, Y = -Z means the point (1:-1:1) in the projective plane, or (1,-1) in affine co-ordinates.
8D@G, XD, D@G, YD, D@G, ZD< . 8X ® 1, Y ® -1, Z ® 1<
80, 2, 2<
The tangent line at this point is 0X+2Y+2Z=0, i. e., Y+Z=0, or in affine co-ordinates, y=-1.
ContourPlot@8HG . Z ® 1L Š 0, Y Š -1<, 8X, -5, 5<, 8Y, -5, 5<,
Frame ® None, Axes ® True, AxesLabel ® 8x, y<,
ContourStyle ® 88Blue, [email protected]<, 8Red, [email protected]<<,
PlotPoints ® 100, Epilog -> Disk@81, -1<, 0.07DD
y
4
2
-4
2
-2
4
x
-2
-4
1. Send the chosen inflection point to (0:1:0) and the tangent line to the line at infinity. The new coordinates
are X1 = X + Y, Y1 = Y, Z1 = Y + Z.
After this step you may switch to affine co-ordinates, if you wish.
G1 = G . 8X ® X1 - Y1 , Y ® Y1 , Z ® Z1 - Y1 <  Expand
-4 X31 - 4 X21 Z1 + 4 X1 Y1 Z1 + 2 Y21 Z1 - 2 X1 Z21 + 2 Y1 Z21 - Z31
This equation can be written as 2 Y21 Z1 + 4 X1 Y1 Z1 + 2 Y1 Z21 = 4 X31 + 4 X21 Z1 + 2 X1 Z21 + Z31 , or
2 y21 + 4 x1 y1 + 2 y1 = 4 x31 + 4 x21 + 2 x1 + 1 in affine co-ordinates.
2
Ellipticequation.nb
ContourPlot@8HG1 . Z1 ® 1L Š 0< , 8X1 , -5, 5<, 8Y1 , -5, 5<,
Frame ® None, Axes ® True, AxesLabel ® 8x1 , y1 <,
ContourStyle ® 88Blue, [email protected]<, 8Red, [email protected]<<D
y1
4
2
-4
2
-2
4
x1
-2
-4
2. Make the coefficients of Y 2 Z and X 3 negatives of each other (if they are on opposite sides, make
them equal).
To achieve this we multiply the equation by 2 and introduce new co-ordinates X2 = 2 X1 , Y2 = 2 Y1 ,
Z2 = Z1 .
G2 = 2 G1 . 8X1 ® X2  2, Y1 ® Y2  2, Z1 ® Z2 <  Expand
-X23 - 2 X22 Z2 + 2 X2 Y2 Z2 + Y22 Z2 - 2 X2 Z22 + 2 Y2 Z22 - 2 Z32
This equation can be written as Y22 Z2 + 2 X2 Y2 Z2 + 2 Y2 Z22 = X32 + 2 X22 Z2 + 2 X2 Z22 + 2 Z32 , or
y22 + 2 x2 y2 + 2 y2 = x32 + 2 x22 + 2 x2 + 2 in affine co-ordinates.
ContourPlot@8HG2 . Z2 ® 1L Š 0< , 8X2 , -5, 5<, 8Y2 , -5, 5<,
Frame ® None, Axes ® True, AxesLabel ® 8x2 , y2 <,
ContourStyle ® 88Blue, [email protected]<, 8Red, [email protected]<<D
y2
4
2
-4
2
-2
4
x2
-2
-4
3. Complete the square with respect to Y2 to eliminate the XYZ and YZ2 terms.
The new co-ordinates are X3 = X2 , Y3 = Y2 + X2 + Z2 , Z3 = Z2 .
Ellipticequation.nb
3. Complete the square with respect to Y2 to eliminate the XYZ and YZ2 terms.
The new co-ordinates are X3 = X2 , Y3 = Y2 + X2 + Z2 , Z3 = Z2 .
G3 = G2 . 8X2 ® X3 , Y2 ® Y3 - X3 - Z3 , Z2 ® Z3 <  Expand
-X33 - 3 X23 Z3 + Y23 Z3 - 4 X3 Z23 - 3 Z33
This equation can be written as Y23 Z3 = X33 + 3 X23 Z3 + 4 X3 Z23 + 3 Z33 , or
y23 = x33 + 3 x23 + 4 x3 + 3 in affine co-ordinates.
ContourPlot@8HG3 . Z3 ® 1L Š 0< , 8X3 , -5, 5<, 8Y3 , -5, 5<,
Frame ® None, Axes ® True, AxesLabel ® 8x3 , y3 <,
ContourStyle ® 88Blue, [email protected]<, 8Red, [email protected]<<D
y3
4
2
-4
2
-2
4
x3
-2
-4
4. Add a suitable multiple of Z to X to eliminate the X 2 Z term (“complete the cube”).
The new co-ordinates are X4 = X3 + Z3 , Y4 = Y3 , Z4 = Z3 .
G4 = G3 . 8X3 ® X4 - Z4 , Y3 ® Y4 , Z3 ® Z4 <  Expand
-X34 + Y24 Z4 - X4 Z24 - Z34
This equation can be written as Y24 Z4 = X34 + X4 Z24 + Z34 , or y24 = x34 + x4 + 1
in affine co-ordinates.
3
4
Ellipticequation.nb
ContourPlot@8HG4 . Z4 ® 1L Š 0< , 8X4 , -5, 5<, 8Y4 , -5, 5<,
Frame ® None, Axes ® True, AxesLabel ® 8x4 , y4 <,
ContourStyle ® 88Blue, [email protected]<, 8Red, [email protected]<<D
y4
4
2
-4
2
-2
4
x4
-2
-4
Therefore p=q=1 and the j-invariant of this curve is 1728 *
4
31
=
6912
31