Tannon Warnick

Mathematics · University of Utah

Torsion Point Calculator

Enter an elliptic curve $y^2 = x^3 + Ax + B$. The tool detects whether it admits complex multiplication by the Gaussian integers $\mathbb{Z}[i]$ or the Eisenstein integers $\mathbb{Z}[\omega]$, builds the division/kernel polynomial for a map $\pi = n + m\cdot s$, and numerically solves it for the torsion-point coordinates — flagging the ones that land exactly on Gaussian or Eisenstein integers.

This runs entirely in your browser and is a port of the recursive division-polynomial construction from my honors thesis and paper. Exact rational arithmetic builds the polynomial; root-finding (Durand–Kerner) is numerical, so coordinates are shown to a few decimal places with a flag when they're recognizably close to an exact Gaussian or Eisenstein integer.

Curve:  y² = x³ +
x +
Enter A and B to detect complex multiplication.
π =
+ m · i

Keep |n| and |m| small (up to about 6–8) — division polynomial degree grows quickly. Set m = 0 for a plain n-division polynomial ψn.

How this works

For a curve with $B=0, A\neq0$ the map $[i]:(x,y)\mapsto(-x,iy)$ is an endomorphism, giving CM by $\mathbb{Z}[i]$. For $A=0, B\neq0$ the map $[\omega]:(x,y)\mapsto(\zeta_3 x, y)$ gives CM by $\mathbb{Z}[\omega]$. The tool builds the standard division polynomials $\psi_n,\varphi_n$ by the usual recursion, then assembles the kernel polynomial of $\pi=n+ms$ from $\varphi_n\psi_m^2 \pm s\cdot\varphi_m\psi_n^2$ (sign and the role of $s$ depending on Gaussian vs. Eisenstein), following the same construction used in the thesis and paper. Roots of that polynomial give the $x$-coordinates of the $\pi$-torsion points; $y$ then follows from the curve equation.