Points of order 3 and inflection points of elliptic curves

191 Views Asked by At

Why is it true that on an elliptic curve a point on it $P$ is of order 3 iff $P$ is an inflection point on the curve?

I'm taking a course on elliptic curves and this is something that I see in proofs everywhere, but I can't seem to find a proof of the fact itself. I've tried to work it out myself but I just can't seem to figure it out. Any help would be greatly appreciated.

1

There are 1 best solutions below

0
On

Jyrki Lahtonen, provided the formulation;

$$[3]P = \mathcal{O} \iff [2]P=-P$$

Let see this first geometrically;

First, we need to find a curve with a 3-torsion element;

import numpy

def searhTorion(n) :

    for i in range(1,10000000):
        
        a = randint(0,10000)
        b = randint(0,10000)

        E=EllipticCurve([a,b])
        P = E(0)
        G = P.division_points(n)
        if len(G) > 1:
            print(G)
            print(E)
            return
        if i % 10000 == 1:
            print (i)

searhTorion(3)

After 200K random searches, this provided

[(0 : 1 : 0), (12 : -153 : 1), (12 : 153 : 1)]
Elliptic Curve defined by y^2 = x^3 + 1404*x + 4833 over Rational Field

You may get a different curve ( feel free to add some more samples of such curves)

Now, more SageMath to execute the calculations

A = 1404
B = 4833
E = EllipticCurve([A,B])
P = E(0)
G = P.division_points(3)
E.plot()
P = E(12 , -153)

#Plot the curve
plotE = E.plot()
#plot P
plotE += point([P[0],P[1]], color='red')
plotE += text("P", (P[0]+1, P[1]+20), rgbcolor=(1,0,0))

#Calcualte [2]P ## Yes we can just use P2 = 2*P
x1 = 12
y1 = -153
m = (3 * x1^2 + A)/(2*y1)
x3 = m^2 - 2*x1
y3 = m*(x1 - x3)-y1

P2 = E(x3,y3)
#Plot [2]P
plotE += point([P2[0],P2[1]], color='blue')
plotE += text("[2]P", (P2[0]-2, P2[1]+20), rgbcolor=(0,0,1))
#Tangent Line
d =20
plotE +=  line([(x1-d, y1-d*m), (x1+d, y1+d*m)], rgbcolor=(1,0,0))
#vertical Line
plotE +=  line([(x1, y1-200), (x1, y1+400)], rgbcolor=(0,0,0))
plotE

Now the final output;

enter image description here

From the figure, we can observe the tangent line doesn't intersect with the curve other than the point $P$. We need to verify this observation with Math.

Mathematically to see this we need substitution of the tangent line

$$y = -6(x − 12 ) + -153$$

with the curve equation

$$y^2 = x^3 + 1404 x + 4833$$ to get

$$(-6(x − 12 ) + -153)^2 = x^3 + 1404 x + 4833$$

We can continue to use SageMath for this to find the roots (i.e. the intersection points of the curve and the tangent), too

x = var('x')
f = x^3+1404 * x + 4833 - (-6*(x - 12 )-153)^2
f.factor()

and this outputs a triple root at $12$

$$(x - 12)^3$$

and, this clearly explains that the tangent line only intersects at point $(12,-153)$ making the point $P$ as a torsion $3$ element and an inflection point.