Torsion points of elliptic curves
This applet shows the torsion points of an elliptic curve sitting inside of $\mathbb{CP}^2$.
The left pane shows the uniformized elliptic curve, thought of as a square with edges identified. Clicking and dragging the green dot changes the modulus of the elliptic curve. For an elliptic curve with lattice $\Lambda$, then the $n$-torsion points are $\Lambda / n \Lambda$, and there are $n^2$ such points. The slider controls the order of the torsion points.
The right pane shows the image of these torsion points under an embedding of the elliptic curve into $\mathbb{CP}^2$. I mapped the points into projective space using $\theta$ functions, then projected to the plane using the norm squared of the coordinates in $\mathbb{CP}^2$. More details below.
Embedding into $\mathbb{CP}^2$
First I choose a somewhat canonical embedding into $\mathbb{CP}^2$ using theta functions. Theta functions are a choice of basis of section of holomorphic line bundles over an elliptic curve. Write the elliptic curve as $\mathbb{C}/\Lambda$ where $\Lambda$ is the lattice spanned by $1,\tau \in \CC$. There is a unique degree $d$ line bundle with $d$ holomorphic sections, which we call the theta functions of “level $d$”. A basis is supplied by the canonical theta functions, indexed by $m=0,\dots,d-1$
\[\theta^d_m(z) = \sum_{n\equiv m \mod d} \exp\left(2 i \pi \left(\frac{n^2 \tau}{2d} + nz\right) \right)\]Notice that the standard theta functions arise when $m=d=1$. These functions are not invariant under translations by the lattice. But, for any $v\in \Lambda$, there is a holomorphic function $f_v$ called a factor of automorphy, satisfying
\[\frac{\theta^d_m(z+v)}{\theta^d_m(z)} = f_v(z)\]Each theta function in the canonical basis has the same factor of automorphy. This lets us build a map into projective space
\[\Psi_m : \mathbb{C} \to \mathbb{CP}^{d-1} \quad z \mapsto [\theta^d_0(z),\dots,\theta^d_{d-1}(z)]\]Let’s check this map is invariant under translations by $\Lambda$, so induces a well defined map $\Psi_m : \mathbb{C}/\Lambda \to \mathbb{CP}^{d-1}$. For any $v\in \Lambda$, we have
\[\begin{align} \Psi_m(z+v) &= [\theta^d_0(z+v),\dots,\theta^d_{d-1}(z+v)]\\ & = [f_v(z)\theta^d_0(z),\dots,f_v(z)\theta^d_{d-1}(z)]\\ & = [\theta^d_0(z),\dots,\theta^d_{d-1}(z)] \\ & = \Psi_m(z) \end{align}\]For this applet, I chose $d=3$ producing a map into $\mathbb{CP}^2$. Implicitizing, the image of the elliptic curve is the image of some cubic. It looks to be of the form $1+x^3 + y^3 + c xy$, which is the Hessian form of an elliptic curve. This is not the Weierstrass form, so my embedding does not agree with the standard embedding using the Weierstrass $\wp$ function, $z\mapsto [1,\wp(z),\wp’(z)]$.
Projecting to the plane
Next I applied a map $\mu:\mathbb{CP}^2 \to \RR^2$ defined as
\[\mu([z_0,z_1,z_2]) = \sum_{k=1}^{3} |z_k|^2 e^{2\pi i \frac{k}{3}}\]This measures the norm squared of each coordinate in a way independent of the scaling. For more information, see the toric structure on CP2.