Blog

# Weighted projective coordinates

Homogeneous coordinates are the simplest way to embed an elliptic curve

y2 = x3+ ax + b

into a projective space. To do this we write

x=X/Z

and

y=Y/Z

to get

Y2Z = X3 + aXZ2 + bZ3

From this form of an elliptic curve, it's easy to see what projective point corresponds to the point at infinity on the affine curve. This is where the projective form of the curve meets Z = 0. This happens when X = 0, or at (0,Y,0). In homogeneous coordinates we identify (x,y,z) with (cx,cy,cz) so we can identify (0,Y,0) with (0,1,0) giving O = (0,1,0) as a simpler way to write the point O.

With weighted projective coordinates we identify (x,y,z) with (cux,cvy,cwz) in (u,v,w)-weighted projective coordinates. The most common example of this is probably Jacobian projective coordinates, which are (2,3,1)-weighted. To use Jacobian coordinates to embed the elliptic curve

y2 = x3+ ax + b

into projective space we write

x = X/Z2

and

y = Y/Z3

to get

Y2 = X3 + aXZ4 + bZ6

In this case, the point at infinity is where Z = 0, or Y2 = X3, or O = (c2,c3,0). We can we can identify (c2,c3,0) with (1,1,0) giving O = (1,1,0) as a simpler way to write the point O.

Weighted projective coordinates are also commonly used with hyperelliptic curves. For a curve of genus g, (1,g+1,1)-weighted coordinates are usually used. Suppose that we have a hyperelliptic curve given by

y2 = x2g+2 + a2g+1x2g+1 + …+ a1x + a0

To embed this curve in the projective plane using (1,g+1,1)-weighted coordinates we write

x = X/Z

and

y = Y/Zg+1

to get

Y2 = X2g+2 + a2g+1X2g+1Z + …+ a1XZ2g+1 + a0Z2g+2

In this case, the point at infinity is where

Y2 = X2g+2

or

Y = ±Xg+1

or the points (XXg+1,0). We can identify (XXg+1,0) with (1,±1,0) giving us two points at infinity: (1,1,0) and (1,-1,0). The fact that we have two points at infinity for a curve of this form instead of one probably explains why most people just think about the simpler case, hyperelliptic curves of the form

y2 = x2g+1 + a2gx2g + …+ a1x + a0