# Find all n-torsion of an elliptic curve

I'm sorry if this is a really easy question. I found out how to compute the n-torsion of an elliptic curve $E$ over a given field. But what if I would like to do is find a field $K$ such that all n-torsion points of $E$ are defined over $K$.

In effect compute the n-torsion part of the Tate module. Is this possible with Sagemath?

edit retag close merge delete

Sort by » oldest newest most voted

this would get you close:

E.torsion_polynomial(n).splitting_field()


You're just some quadratic extensions away from the desired field (you just need to make sure that roots of the division polynomial are indeed x-coordinates of points).

Be careful, though: generally such explicit representations of splitting fields are entirely unworkable because they tend to have very high degrees.

more

The exact answer to your question is to use the mehod division_field, for example

sage: E = EllipticCurve([0,-1,1,-10,-20])
sage: E.division_field(5,'a')
Number Field in a with defining polynomial x^4 - x^3 + x^2 - x + 1


so that

sage: len(E.change_ring(K).torsion_points())
25


but as Nils said the degree is in general very large -- I chose an example where the degree of the 5-division field is only 4, which is as small as possible over QQ.

more