A lattice in the complex plane rolls up into a torus, and the torus is secretly a cubic curve
An elliptic curve is usually introduced as an equation: y² = x³ + ax + b, a slightly lopsided cubic drawn in the plane, with a strange rule for adding points that involves drawing lines and reflecting. It works, but it feels arbitrary. Why should drawing a chord through two points on a curve produce a group?
Here is the answer, and it is one of the most satisfying reveals in mathematics. That cubic curve is a doughnut. Not resembles one — is one. And on a doughnut, addition is the obvious thing: a torus is what you get by rolling up the complex plane, so adding points on it is just adding complex numbers, wrapped around. The chord-and-tangent rule is ordinary addition, seen from an awkward angle.
The bridge between the two pictures is the Weierstrass ℘-function, and it is worth appreciating what it does: it takes a torus, which has no equation attached to it at all, and produces a cubic equation out of thin air. The group law was never arbitrary. It was addition all along.
Take the complex plane and a lattice — all the points m + nτ for whole numbers m and n. Treat two numbers as identical when they differ by a lattice vector, and the whole infinite plane collapses onto one tile with its edges glued. Press play and watch the gluing happen.
Take the complex plane and a lattice — all the points m + nτ for whole numbers m and n. Declare two complex numbers to be the same if they differ by a lattice vector, and the entire plane collapses onto a single tile with its opposite edges glued. The yellow and cyan curves are those two glued edge pairs; on the finished doughnut they are the two loops you cannot shrink away.
One honest caveat: a flat torus cannot be bent into 3-space without stretching, so the round doughnut cannot carry the true flat metric. τ genuinely controls the tile and the doughnut’s proportions — the roundness is the price of drawing it here.
The torus C/Λ is a lovely object but it comes with no polynomial. To find one we need functions on it — that is, functions on C that are unchanged when you shift by any lattice vector. Such doubly periodic functions are hard to come by: a non-constant one must have poles, because a holomorphic function that is bounded on the whole plane is constant.
Weierstrass’s solution was to build one by brute force. Sum 1/(z − ω)² over every lattice vector ω, with a correction term to make the sum converge:
℘(z) = 1/z² + Σ [ 1/(z − ω)² − 1/ω² ]
The result is doubly periodic by construction, with a double pole at each lattice point. And now the miracle: ℘ and its derivative ℘′ are not independent. They satisfy
(℘′)² = 4℘³ − g₂℘ − g₃
where g₂ and g₃ are numbers computed from the lattice alone. That is a cubic equation. Setting x = ℘(z) and y = ℘′(z) sends every point of the torus onto the curve y² = 4x³ − g₂x − g₃, and the map is a perfect one-to-one correspondence once z = 0 is sent to the point at infinity. The equation was not chosen; it was forced by the lattice.
Two panels, one correspondence. Drag a point around the torus on the left and watch its image travel along the cubic on the right. The yellow lines are the two circles where ℘ and ℘′ are both real — their images are exactly the two real branches of the curve, the closed oval and the unbounded arc.
Off the yellow lines, ℘(z) and ℘′(z) are genuinely complex, and the marker shows only their real parts — the true image has left the page. Drag onto a yellow line to land back on the real curve.
The map z ↦ (℘(z), ℘′(z)) sends the torus onto the cubic, and it is a perfect one-to-one correspondence once the single point z = 0 is sent to the point at infinity. Because ℘ satisfies the differential equation (℘′)² = 4℘³ − g₂℘ − g₃, every point of the torus lands exactly on the curve — the equation of the cubic is not imposed, it is a theorem about the lattice.
On the torus, addition is unambiguous: z₁ and z₂ are complex numbers, so add them and wrap the result back into the tile. The claim is that this matches the geometric rule on the cubic — draw the line through two points, find the third intersection, reflect it.
The reason is a counting theorem about doubly periodic functions: the zeros and poles of such a function, added up over one tile, always sum to a lattice vector. A straight line ax + by + c = 0 pulls back to the function a℘(z) + b℘′(z) + c on the torus, which has exactly three zeros and a pole of order three at the origin. So its three zeros z₁, z₂, z₃ must satisfy z₁ + z₂ + z₃ = 0.
In other words: three points of the cubic are collinear exactly when they sum to zero on the torus. That is the whole group law, and it is a statement about addition of complex numbers. The chord-and-tangent construction is explored in its own right in the Algebraic Geometry module’s Elliptic Curves & the Group Law lesson.
Every elliptic curve is a torus, so the space of elliptic curves is the space of torus shapes. Drag τ around the upper half-plane; when you leave the shaded region a cyan marker shows the equivalent τ inside it. The j-invariant is the single number that tells you which curve you are really on.
Every complex elliptic curve is C/Λ for some lattice, and rescaling lets us take Λ = Z + Zτ with τ in the upper half-plane. But different τ can give the same lattice: τ and τ + 1 obviously do, and so do τ and −1/τ. Those two moves generate the group SL₂(Z), and the shaded region is one exact copy of the quotient — the moduli space of elliptic curves. The j-invariant is the coordinate on it: same j, same curve, no matter how different the parallelograms look.