Ask Your Question
0

n-torsion subgroups on Elliptic Curves defined on some field

asked 2017-02-08 15:26:56 +0200

fagui gravatar image

updated 2017-02-08 16:38:37 +0200

if E an elliptic is defined on K, then E[n] is a subgroup of an Elliptic curve defined on an algebraic closure of K, its the set of points P of this curve whose order is dividing n

G = E.torsion_subgroup() gives the torsion subgroup in E(K), but is there a method giving the E[n] ?

For example, for the Elliptic Curve y^2=x^3-2 defined on Q

if we denote by alpha the cubic root of 2 and J a complex cubic root of unity, and O the point at infinity

E[2] = {O,(alpha,0), (alpha * J,0),(alpha * J^2,0)}

I tried the following

E = EllipticCurve(CC,[0,-2])

O = E(0)

O.division_points(2)

and got [pretty close but not the right result, and not in an algebraic form anyway]

 [(0.000000000000000 : 1.00000000000000 : 0.000000000000000),
 (1.25992104989487 : 0.000000000000000 : 1.00000000000000)]

thanks

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
1

answered 2017-02-27 14:15:40 +0200

dan_fulea gravatar image

updated 2017-02-27 15:54:20 +0200

If we know the above answer, or generally if we know the field of definition for $E [ n ] (\overline{\mathbb Q})$, then we can initialize the curve $E$ in sage over this right field and ask for the corresponding $n^2$ torsion points of order dividing $n$. In the above case we have a simple situation:

sage: R.<x> = PolynomialRing(QQ)
sage: K.<J> = NumberField( x^2+x+1 )
sage: J^3
1
sage: L.<a> = K.extension( x^3 - 2 )
sage: a^3
2
sage: E = EllipticCurve( L, [0, -2] )
sage: Origin = E( 0 )
sage: Origin.division_points( 2 )
[(0 : 1 : 0), (a : 0 : 1), ((-J - 1)*a : 0 : 1), (J*a : 0 : 1)]

Note: It would have been possible to start with the simpler curve $y^2 = x^3 -1$, which is a twist of the given one.

Things get very complicated for bigger values of $n$.

For instance, if we want to get the points of order $3$ on the given curve, the extension needed is related to the multiplication by $3$ morphism on the curve. (I know, this is an instance of an other question. But the general path remains.) We may ask for it:

sage: E = EllipticCurve( QQ, [0,-2] )
sage: f,g = E.multiplication_by_m(3)
sage: f.factor()
(1/9) * x^-2 * (x - 2)^-2 * (x^2 + 2*x + 4)^-2 * (x^3 + 6*x^2 - 8) * (x^6 - 6*x^5 + 36*x^4 - 16*x^3 + 48*x^2 + 64)
sage: g.factor()
(1/27) * x^-3 * (x - 2)^-3 * y * (x^2 + 2*x + 4)^-3 * (x^3 + 16) * (x^3 - 6*x^2 - 12*x - 8) * (x^6 + 6*x^5 + 48*x^4 - 88*x^3 + 96*x^2 - 96*x + 64)

And a possibility to proceed would be to use them. In fact, sage even offers us the relevant field.

EQ = EllipticCurve( QQ, [0, -2] )
K.<b> = EQ.division_field( 3 )
print K
EK = EQ.base_extend( K )
for P in EK.torsion_points():
    print "Order %s :: %s" % ( P.order(), P )

And we get:

Order 3 :: (2 : 1/18*b^3 - 1/6*b^2 - 2/3*b + 7/9 : 1)
Order 3 :: (2 : -1/18*b^3 + 1/6*b^2 + 2/3*b - 7/9 : 1)
Order 3 :: (0 : 1/6*b^2 - 1/3*b - 1/3 : 1)
Order 3 :: (1/18*b^3 - 1/6*b^2 + 1/3*b - 11/9 : 1/18*b^3 - 1/6*b^2 - 2/3*b + 7/9 : 1)
Order 3 :: (-1/18*b^3 + 1/6*b^2 - 1/3*b - 7/9 : -1/18*b^3 + 1/6*b^2 + 2/3*b - 7/9 : 1)
Order 3 :: (0 : -1/6*b^2 + 1/3*b + 1/3 : 1)
Order 3 :: (-1/18*b^3 + 1/6*b^2 - 1/3*b - 7/9 : 1/18*b^3 - 1/6*b^2 - 2/3*b + 7/9 : 1)
Order 3 :: (1/18*b^3 - 1/6*b^2 + 1/3*b - 11/9 : -1/18*b^3 + 1/6*b^2 + 2/3*b - 7/9 : 1)
Order 1 :: (0 : 1 : 0)

(For the posted question one can replace the 3 in EQ.division_field( 3 ) by 2.)

The other possibility is of a numerical taste. We may use the bijection from $\mathbb{C}/\Lambda$ to $E(\mathbb{C})$, usual notations, and compute to a good precision the image of the obvious $3$-torsion points (i.e. $\frac 13\cdot\Lambda$) in the domain of definition.

edit flag offensive delete link more

Comments

thank you very much, i need some time to digest it all, because i'm a beginner/amateur in this topic. i don't really understand what f and g are.

fagui gravatar imagefagui ( 2017-03-08 09:32:07 +0200 )edit
1

For a point P(x,y) on an eliptinc curve the point 3P has coordinates (u,v) where u, v are (generically) structural rational functions on x,y. These structural functions are f and g. In case of doubt in such situation one can ask sage: ?E.multiplication_by_m . (Question mark in front of a method.) In our case we want 3P = ( 0 : ? : ? ) so for the one direction we can try a field extension w.r.t. a root of the one or the other factor of f. E.g. (x^3 + 6*x^2 - 8) . Some Galois exercise shows that the other degree six factor is related to this one after adjoining a primitive cubic root of one. (Your J.) This (f,g)-solution works of course only in "toy examples". The bigger n, the lower chance to get a practicable solution in this way.

dan_fulea gravatar imagedan_fulea ( 2017-03-08 13:02:32 +0200 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2017-02-08 15:26:56 +0200

Seen: 1,369 times

Last updated: Feb 27 '17