P<t,u>:=PolynomialRing(Rationals(),2);
Q:=FieldOfFractions(P);
R<x>:=PolynomialRing(Q);
a:=(t-u)*(t^3*u
+ t^2*u^2 + t*u^3 - 6*t*u + 3);
q:=(x-1)^3*(x+3);
r:=(x+1)^3*(x-3);
f:=a*(u*x^2-t)*(Evaluate(q,u)*x^2-Evaluate(q,t))*(Evaluate(r,u)*x^2-Evaluate(r,t));
//Check that
factors of discriminant are as claimed
Factorization(Numerator(Discriminant(f)));
//Check that
E_1 is isomorphic to E_t
f_t:=x*(x-Evaluate(q,t))*(x-Evaluate(r,t));
E_t:=EllipticCurve(f_t);
f1:=-a*(t*x-u)*(Evaluate(q,t)*x-Evaluate(q,u))*(Evaluate(r,t)*x-Evaluate(r,u));
//Magma
wants the polynomial in x to be monic so we make a change of variables
a0:=Coefficient(f1,3);
f1:=Evaluate(f1,a0*x)/a0^4;
E1:=EllipticCurve(f1);
IsIsomorphic(E1,E_t);
//outputs
true
//Check that
E_2 is isomorphic to E_u (or could just note
it’s true by symmetry in t and u)
f_u:=x*(x-Evaluate(q,u))*(x-Evaluate(r,u));
E_u:=EllipticCurve(f_u);
f2:=a*(u*x-t)*(Evaluate(q,u)*x-Evaluate(q,t))*(Evaluate(r,u)*x-Evaluate(r,t));
a0:=Coefficient(f2,3);
f2:=Evaluate(f2,a0*x)/a0^4;
E2:=EllipticCurve(f2);
IsIsomorphic(E2,E_u);
//outputs
true