Torsion points in elliptic curve

2.8k Views Asked by At

I was going through a research paper based on elliptic divisibility sequences. In that paper the author has taken an elliptic curve over the rational field and a non-torsion point in it, for example the curve is given by $y^{2} = x^{3} + 80$ and the non-torsion point is $P=(4,12)$. By looking at the point and the curve how can we claim the point to be torsion or non-torsion point? What are some methods of determining a point to be torsion/ non-torsion can you explain with some examples.

4

There are 4 best solutions below

1
On

One way to check that a rational point $P$ on an elliptic curve $E$ defined over $\Bbb Q$ is not torsion is to apply the famous theorem of B. Mazur that lists all the possible torsion groups for $E$, namely $E_{\rm tors}$ must be one of the following:

  • ${\Bbb Z}/n{\Bbb Z}$ with $1\leq n\leq 10$ or $n=12$,
  • ${\Bbb Z}/2{\Bbb Z}\times{\Bbb Z}/n{\Bbb Z}$ with $2\leq n\leq4$.

This reduces the checking to a finite number of computations.

1
On
  1. Mazur famously classified all possible torsion subgroups of $E(\mathbb{Q})$, see https://en.wikipedia.org/wiki/Torsion_conjecture. In particular, he showed that the order of a point can not exceed 12. Therefore, to check if a point is non-torsion, one can compute the points $P,2P,\dots, 12P$. If they are distinct, then $P$ has infinite order.
  2. The canonical height is a function $\hat{h}:E(\bar{\mathbb{Q}})\to [0,\infty)$ which vanishes precisely at the torsion points. Therefore, to check if a point is non-torsion, one can compute $\hat{h}(P)$. If it is non-zero, the point is of infinite order. There are algorithms for computing $\hat{h}$. For example, Magma has the function CanonicalHeight, http://magma.maths.usyd.edu.au/magma/.
1
On

Yet an other answer, some explicit computations in sage are also added as illustration. (In my opinion, if not using a computer not only life gets shorter, but it is also hard to tell a story.)

Below, when examples are discussed, $E$ is given elliptic curve with affine equation $$y^2=x^3+80\ ,$$ and $P=(4,12)$, a rational point of it.

Some other example is the curve $E'$ with equation $$ y^2 = x^3 - 611582427x + 5820864379254 \ , $$ where the R.H.S. can be factored as $(x^2 + 14394x - 404395191)(x - 14394)$, and we consider the points $Q=(1758, 2179710)$ and $T=(14043, 42120)$.

What can be done in the above cases, to check / decide if $P,Q,T$ are torsion or non-torsion points?!



$(1)$ As mentioned also in the other answers, a theorem of Mazur for elliptic curves over $\Bbb Q$ insures that the order of the torsion part $E(\Bbb Q)_{\text{tors}}$ of $E(\Bbb Q)$ is from the list $1,2,3,4,5,6,7,8,9,10,12$. (We have even a structural characterization, the torsion part is either cyclic, or a has two generators, one of them of order two.) So it is enough to compute this multiples. Computations are easily done with compute algebra systems (CAS) like pari/gp, sage, magma.


$(2)$ This is the same as computing the global canonical height $\hat h$ of the points. This is by (Tate's) definition for a point $P=(x_P,y_P)\in E(\Bbb Q)$ $$ \begin{aligned} \hat h(P) &=\lim_{n\to\infty}\frac 1{4^n}h(2^n\cdot P)\ ,\\ &\qquad\text{ where $h$ is the naive height:}\\ h(P) &=\log \max( \ |\text{numerator}(x_P)|\ ,\ |\text{denomiantor}(x_P)|\ )\ . \end{aligned} $$ Of course, for a torsion point, the few (maximal $12$) values of the naive height of the involved multiples repeat themselves, so $\hat h(P)=0$. But we have also conversely, for a non-torsion point the limit (exists and) is $>0$. Using this criterion, we have to compute again in a tunnel the multiples...


$(3)$ Observe that $P=(4,12)$ is an integral point on $E$. So are also $Q,T$ on $E'$. And the equations of $E,E'$ are also involving coefficients in $\Bbb Z$. A theorem of Nagell-Lutz insures in such cases that if a point is a torsion point, then its components are integers, and the $y$-component is either zero, or else it divides (even squared) the discriminant of the curve. This can be used in our cases as follows.

If $P$ is torsion (point), then any multiple of $P$ is torsion. So it is enough to compute $P,2P,3P,4P,\dots$ and/or alternatively $P,2P,4P,8P,16P$ till we obtain $O$, or a point involving denominators.

(Note that a "guessed converse" does not hold, in the sense that there are non-torsion points, points with infinite order with integral coefficients. But building multiples of such points, e.g. by successively doubling points, leads quickly to the appearance of denominators, showing that the order is infinite.)


$(4)$ Since the order of a torsion point $P$ is maximally $12$, in case $E$ has "big integral coefficients" it may be easier to compute the first powers / the order of $P$ modulo some "small" prime $p$, i.e. the order of $P$ seen as element in the finite group $E(\Bbb F_p)$. If the order is not among $1,2,3,4,5,6,7,8,9,10,12$, then it is not in this list also for $P\in E(\Bbb Q)$.



Let's see these possibilities at work in the mentioned explicit examples.

$(1)$ We initialize the curve $E$ in sage, the point $P$, and ask for the first few multiples. In a dialog in the sage / ipython console:

sage: E = EllipticCurve([0, 80])
sage: E
Elliptic Curve defined by y^2 = x^3 + 80 over Rational Field

sage: P = E(4, 12)
sage: P in E
True

sage: for k in [1..12]:
....:     print(f'{k}*P = {(k*P).xy()}')
1*P = (4, 12)
2*P = (-4, 4)
3*P = (1, -9)
4*P = (44, -292)
5*P = (244/25, 3972/125)
6*P = (-71/36, 1837/216)
7*P = (-3116/1849, -689532/79507)
8*P = (58124/5329, -14438588/389017)
9*P = (408241/11449, 261070479/1225043)
10*P = (1917596/2739025, 40632020644/4533086375)
11*P = (-429617756/111492481, -5619437613492/1177249106879)
12*P = (2145460321/485937936, -138041068304879/10712015861184)

Similarly, for the other sample curve, $E'$ denoted by EE in the code, and the points $Q,T$:

sage: EE = EllipticCurve([-611582427, 5820864379254])
sage: EE
Elliptic Curve defined by y^2 = x^3 - 611582427*x + 5820864379254 over Rational Field
sage: Q = EE(1758, 2179710)
sage: T = EE(14043, 42120)

sage: Q
(1758 : 2179710 : 1)
sage: 2*Q
(131810097/8464 : -211011896745/778688 : 1)

sage: for k in [1..12]:
....:     print(f'{k}*T = {k*T}')
1*T = (14043 : 42120 : 1)
2*T = (28083 : 3285360 : 1)
3*T = (11235 : 606528 : 1)
4*T = (15123 : 174960 : 1)
5*T = (-14037 : 3411720 : 1)
6*T = (14394 : 0 : 1)
7*T = (-14037 : -3411720 : 1)
8*T = (15123 : -174960 : 1)
9*T = (11235 : -606528 : 1)
10*T = (28083 : -3285360 : 1)
11*T = (14043 : -42120 : 1)
12*T = (0 : 1 : 0)

So $T$ is indeed a torsion point. Its order is $12$. As seen, we can already decide that $T$ is torsion (of order $12$) when knowing $6T$, which is obviously $2$-torsion. For the point $Q$ we use Nagell-Lutz. As seen above, $2Q$ shows (non-trivial) denominators, so it is not a torsion point.


$(2)$ Sage gives us the heights:

sage: P.xy()
(4, 12)
sage: P.height()
0.153640035013294

sage: Q.xy(), T.xy()
((1758, 2179710), (14043, 42120))
sage: Q.height(), T.height()
(2.14520524222471, 0)

$T$ has height zero. To illustrate numerically the convergent sequence defining $\hat h(P)$, let us implement the naive height, and show some values:

def height_naive(P):
    if not P or not P[0]:
        return 0.0
    return RR( log( max( P[0].numerator(), P[0].denominator() ) ) )

for n in [1..6]:
    print(f'h( {2**n}P ) / {4**n} ~ {height_naive((2**n)*P) / (4**n)}')

After a copy+paste into the sage interpreter, we get:

h( 2P ) / 4 ~ 0.000000000000000
h( 4P ) / 16 ~ 0.236511852119891
h( 8P ) / 64 ~ 0.171411467788134
h( 16P ) / 256 ~ 0.152510750096969
h( 32P ) / 1024 ~ 0.153079363840485
h( 64P ) / 4096 ~ 0.153873678827322

$(3)$ Nagell-Lutz makes it simple to see that $P,Q$ are on (the two different curves) points of infinite order.

We compute for instance by doubling:

sage: 2*P
(-4 : 4 : 1)
sage: 4*P
(44 : -292 : 1)
sage: 8*P
(58124/5329 : -14438588/389017 : 1)

$8P$ "shows denominators", so $P$ has infinite order.

For $Q$, $2Q$ had already "ugly denominators", as seen in $(1)$.

An other way to use Nagell-Lutz is as follows. We need the more complicated curve $E'$ to illustrate. We compute the discriminant and its factorization. Then also consider the factorization of the $y$-component of the given integral points.

sage: EE.discriminant().factor()
2^18 * 3^24 * 5^3 * 11 * 13^4
sage: Q
(1758 : 2179710 : 1)
sage: Q[1]
2179710
sage: Q[1].factor()
2 * 3^6 * 5 * 13 * 23

$23$ is a prime dividing $y_Q$, which does no show up in the discriminant. So this is not a torsion point.


$(4)$ We consider $E$ over some prime field $F=\Bbb F_q$. Then $E(F)$ has roughly so many points as the projective line over $F$, plus/minus Hasse term. To show that some points do not have order up to $12$, we may try a prime like $p=41$. Let's see:

sage: E41 = E.base_extend(GF(41))
sage: P
(4 : 12 : 1)
sage: E41(P)  # same point, but now seen modulo 41
(4 : 12 : 1)

sage: for k in [1..12]:
....:     print(f'{k}P on E mod 41 is {(k*E41(P)).xy()}')
1P on E mod 41 is (4, 12)
2P on E mod 41 is (37, 4)
3P on E mod 41 is (1, 32)
4P on E mod 41 is (3, 36)
5P on E mod 41 is (36, 18)
6P on E mod 41 is (6, 3)
7P on E mod 41 is (0, 11)
8P on E mod 41 is (14, 6)
9P on E mod 41 is (25, 17)
10P on E mod 41 is (30, 15)
11P on E mod 41 is (30, 26)
12P on E mod 41 is (25, 24)

In fact,

sage: E41(P).order()
21

As seen, computations are done with "human" numbers. For the more complicated second curve, and the point $Q$:

sage: EE41 = EE.base_extend(GF(41))
sage: for k in [1..12]:
....:     print(f'{k}Q on EE mod 41 is {(k*EE41(Q)).xy()}')
1Q on EE mod 41 is (36, 27)
2Q on EE mod 41 is (26, 13)
3Q on EE mod 41 is (40, 33)
4Q on EE mod 41 is (39, 30)
5Q on EE mod 41 is (8, 1)
6Q on EE mod 41 is (1, 26)
7Q on EE mod 41 is (12, 10)
8Q on EE mod 41 is (35, 13)
9Q on EE mod 41 is (2, 39)
10Q on EE mod 41 is (21, 28)
11Q on EE mod 41 is (23, 35)
12Q on EE mod 41 is (3, 0)

Again, no vanishing. There is of course a question of luck when $p$ is chosen, since...

sage: EE41(Q).order()
24
0
On

There are answers here which invoke Mazur's theorem, but there are effective methods for computing torsion subgroups of elliptic curves over any number field (where we have Merel's generalisation of Mazur's result, but it is not so kind as to list all possible subgroup structures).

First we have a theorem of Nagell-Lutz which (over $\mathbb{Q}$) says that if your Weierstrass equation $$y^2 = f(x)$$ has integer coefficients, then torsion points have $y$-coordinate either $0$ (i.e., $2$-torsion) or the $y$-coordinate is an integer and divides the discriminant of $f(x)$. This gives one a finite list of polynomials for which one needs to compute roots. (This result has a generalisation over arbitrary number fields, see Silverman The Arithmetic of Elliptic Curves Theorem VIII.7.1). In particular, if there are any denominators, you know that the point is not torsion.

Another trick which is often extremely useful is to note that if a finite place $v$ of $K$ at which $E$ has good reduction does not divide $n$ then the $n$-torsion subgroup of $E$ must embed in $E(\mathbb{F}_v)$. Computing the points on our curve over a few finite fields is then often enough to disprove the existence of $K$-rational torsion points.

Your example $E : y^2 = x^3 + 80$ is a clear candidate for both of these approaches. Note that your point $P = (4,12)$ has $5P = (244/25 , 3972/125)$, so can't be torsion.

The second approach, computing $\#E(\mathbb{F}_7)$ and $\#E(\mathbb{F}_{11})$ are $13$ and $12$ respectively. The first implies (by the above) that $\#E(\mathbb{Q})_{tors} = 7^a \cdot 13$ and the second implies $\#E(\mathbb{Q})_{tors} = 11^b \cdot 12$ for some $a,b$. But then clearly $a = b = 0$ so $E$ has trivial torsion over $\mathbb{Q}$.

Note that this second calculation involves only local calculations and no reference to Mazur's theorem - it was known before Mazur how one can compute torsion subgroups.