1 | initial version |
The thing is that the points of the curve are defined up to a multiplicative constant, since the equation that defines them is homogenous:
sage: EC.defining_polynomial()
-x^3 + y^2*z - 2*x*z^2 - 3*z^3
So if i take a random point :
sage: p = EC.random_point()
sage: p
(50 : 60 : 1)
there is no canonical choice of which multiple (a*50, a*60, a*1)
that represents that point.
That said, you can decide to fix the x coordinate to be equal to 1:
sage: p.dehomogenize(0)
(82, 99)
or the y coordinate:
sage: p.dehomogenize(1)
(85, 32)
or the z coordinate:
sage: p.dehomogenize(2)
(50, 60)
2 | No.2 Revision |
The thing is that the points of the curve are defined up to a multiplicative constant, since the equation that defines them the curve is homogenous:
sage: EC.defining_polynomial()
-x^3 + y^2*z - 2*x*z^2 - 3*z^3
So if i take a random point :
sage: p = EC.random_point()
sage: p
(50 : 60 : 1)
there is no canonical choice of which multiple (a*50, a*60, a*1)
that represents that point.
That said, you can decide to fix the x coordinate to be equal to 1:
sage: p.dehomogenize(0)
(82, 99)
or the y coordinate:
sage: p.dehomogenize(1)
(85, 32)
or the z coordinate:
sage: p.dehomogenize(2)
(50, 60)