1

I have the following elliptic curve that I want to look up in the LMFDB-database:

$$\text{n}:\space\space\space 3b^2-b=a^3+a^2\tag1$$

Now, we need to write it in the Weierstrass form so we let $a=x/3$ and $b=y/9$, then we get:

$$y^2-3y=x^3+3x^2\tag2$$

Using the Weierstrass form of my elliptic curve, I wrote my equation in the form:

$$y^2+a_1xy+a_3y=x^3+a_2x^2+a_4x+a_6\tag3$$

Which gives $a_1=0,a_2=3,a_3=-3,a_4=0$ and $a_6=0$. Using that $[0,3,-3,0,0]$ I will get to the elliptic curve 135a1 with the minimal Weierstrass equation:

$$y^2+y=x^3-3x+4\tag4$$

But how do I get from $(2)$ to $(4)$? What substitution do I've to take?

Joiryu
  • 109
  • 5

1 Answers1

1

I recommend use of PARI/GP. The command to use is ellchangecurve(). The following script does the work.

/* define the elliptic curve from its equation */
E1 = ellfromeqn( equ1 = (y^2-3*y) - (x^3+3*x^2) );
equ2 = (y^2+y-4) - (x^3+3*x);
/* find the minimal model curve with transform */
E2 = ellminimalmodel(ellinit(E1), &urst);
/* check that we have right minimal model */
print("E2 == ellfromeqn(equ2)");
/* print out what we have so far */
print("E1: ",E1[1..5]); print("E2: ",E2[1..5]);
print("urst: ",urst); [u,r,s,t] = urst;
/* check that curve E1 transforms into curve E2 */
print( ellchangecurve(E1, urst)[1..5]==E2[1..5]);
/* set the explicit transform of coordinates */
xform = simplify([u^2*x+r,u^3*y+s*u^2*x+t]);
print("xform: [x,y] -> ",xform);
/* check the explicit change of coordinates */
print(substvec( equ1,[x,y], xform)==equ2);

First equation variables $(x,y)$ transforms to $(x-1,y+2)$.

Somos
  • 35,251
  • 3
  • 30
  • 76