Finding elliptic curves with given torsion structure

159 Views Asked by At

I am working on elliptic curves over number field $\mathbb{Q}(\sqrt{2})$ and $\mathbb{Q}(\sqrt{i})$, and my question is, if I am only interested in specific torsion structures, say $\mathbb{Z}/8\mathbb{Z}$ or $\mathbb{Z}/2\mathbb{Z}\times\mathbb{Z}/4\mathbb{Z}$, then how can I design an algorithm to find elliptic curves over $\mathbb{Q}(\sqrt{2})$ that has the specific torsion structure? Also will the algorithm pretty depend on the selection of number field? Thanks a lot.

1

There are 1 best solutions below

1
On

In the comments above I gave a reference for giving a universal elliptic curve $\mathcal{E}_t$ with a $K$-rational $8$-torsion point.

The second question is somewhat more interesting and I wanted to mention what to do in the following case where we want $\mathbb{Z}/2\mathbb{Z} \times \mathbb{Z}/10\mathbb{Z}$ as the torsion subgroup (since Mazur prohibits this over $\mathbb{Q}$) - the same approach works for the question, but is much easier, since the eventual curve has genus 0.

First we compute a universal elliptic curve with rational $10$-torsion. By Silverman Ex8.13 we may assume $E$ has the form $$E : y^2 + uxy + vy = x^3 + vx^2$$ and the order $10$ point is $P = (0,0)$. Comparing the $y$-coords of $5P $ and $-5P$ we see that $$-u^5 - u^4v + 5u^4 + 7u^3v - 10u^3 - 3u^2v^2 - 16u^2v + 10u^2 + 8uv^2 + 15uv - 5u - v^3 - 5v^2 - 5v + 1 = 0$$

This defines a genus $0$ curve $C \subset \mathbb{A}^2$, and parametrising we obtain a universal elliptic curve $$\mathcal{E}_t : y^2 + \frac{t^3 + t^2 - 3t - 1}{t^3 - 2t - 1}xy + \frac{-t^2 + t}{t^5 - t^4 - 3t^3 + t^2 + 3t + 1}y = x^3 + \frac{-t^2 + t}{t^5 - t^4 - 3t^3 + t^2 + 3t + 1}x^2$$

with a $10$-torsion point. Note that really what we have done here is found a moduli interpretation for $X_1(10)$.

For $\mathcal{E}_t$ to have full $2$-torsion the division polynomial $\psi_2(x)$ must split. One can check that $\psi_2(x)$ factors as a linear factor, and a quadratic factor with discriminant equal to $$\Delta = (t-1)(t+1)(t^2 + 4t - 1)$$ modulo squares. Thus $\mathcal{E}_t$ has full $2$ torsion if and only if $\Delta$ is a square, i.e., if there exists $w \in K$ such that $$w^2 = (t-1)(t+1)(t^2 + 4t - 1)$$

This defines a curve $C_{10,2} \subset \mathbb{A}^2$ and taking $O = (1, 0)$ we see that $C_{10,2}$ is birational to the elliptic curve with cremona label $20a2$ (conductor 20 being completely unsurprising). This curve has rank $0$ and the rational torsion corresponds to silly curves (singular etc).

Geometrically one can think of $C_{10,2}$ being a double cover of $X_1(10)$, and perhaps this has a name in the literature.

However over $\mathbb{Q}(\sqrt{-2})$, $C_{10,2}$ obtains rank $1$, so there are infintely many curves over $\mathbb{Q}(\sqrt{-2})$ with our desired torsion. An example has globally minimal model $$E : y^2 + (-18 \sqrt{-2} + 9)xy + (-72\sqrt{-2} - 963)y = x^3 + (27\sqrt{-2} + 91)x^2 + (-6516\sqrt{-2} + 4659)x + (-40527\sqrt{-2} - 202599)$$

Below is some Magma to verify

K<u,v> := FunctionField(Rationals(), 2);
E := EllipticCurve([u,v,v,0,0]);
P := E![0,0];

x1,y1,z1:= Explode(Coordinates(5*P));
x2, y2, z2 := Explode(Coordinates(-5*P));
assert x1 eq x2;
assert z1 eq z2; 

f := Numerator((y1-y2)/v);


A2<r,s> := AffineSpace(Rationals(), 2);
A1 := AffineSpace(Rationals(), 1);

C := Curve(A2, Evaluate(f, [r,s])); 
C := ProjectiveClosure(C);
phi := Parametrization(C, C![5,-2,3]);
phi := ImproveParametrization(phi);


F<t> := FunctionField(Rationals());
new_u, new_v, den := Explode([Evaluate(g, [t,1]) : g in DefiningPolynomials(phi)]);

calE := EllipticCurve([new_u/den,new_v/den,new_v/den,0,0]);
P := calE![0,0];
assert Order(P) eq 10;

f := Factorisation(DivisionPolynomial(calE, 2))[2][1];
assert IsSquare(Denominator(Discriminant(f)));

Delta := SquarefreePart(Numerator(Discriminant(f)));


C102 := Curve(A2, A2.2^2 - Evaluate(Delta, A2.1));
O := C102![1,0];

C102, phi := EllipticCurve(ProjectiveClosure(C102), O); 
_, phi := IsInvertible(phi);

K<alpha> := QuadraticField(-2);
p := Generators(BaseChange(C102, K))[2];

new_t := Evaluate(DefiningPolynomials(phi)[1]/DefiningPolynomials(phi)[3], Coordinates(p));

aa := [Evaluate(a, new_t) : a in aInvariants(calE)];

E := EllipticCurve(aa); E := MinimalModel(E);

E;
TorsionSubgroup(E);