Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Working on a 3-torsion point on an elliptic curve

I am working on a 3-torsion point (T_3) as follows. My aim is to find the addition on curve for T_3 + [51,108]. I have done the following. First I find (x,y) coordinate for my T_3 which is the following :

E=EllipticCurve([0,0,0,-3267,45630])
E3=E.division_polynomial(3);E3
list(E3.factor())
p = E3.factor()[0][0]; p
p.parent()
P.<x> = QQbar[]
p = P(p); p
p.parent()
p.factor()
p.roots()
roots = p.roots(multiplicities=False); roots
q = x^3 - 3267*x + 45630; q
q.parent()
for (x, y) in [(r, sqrt(q(r))) for r in roots]:
     print 'xr = {} = {}'.format(x, x.radical_expression())
     print 'yr = {} = {}\n'.format(y, y.radical_expression())

which gives

xr = -94.19483056089681? = -3*sqrt(12*612^(1/3)*(-1)^(1/3) + 121) - 1/2*sqrt(-432*612^(1/3)*(-1)^(1/3) + 60840/sqrt(12*612^(1/3)*(-1)^(1/3) + 121) + 8712)
yr = 694.5464483276473?*I = sqrt(-108*sqrt(78408*1734^(1/3)*(-1)^(1/3) + 1507177) - 1/2*sqrt(-3658203648*1734^(1/3)*(-1)^(1/3) + 150108334945920/sqrt(78408*1734^(1/3)*(-1)^(1/3) + 1507177) + 140637700224) - 91260)

xr = 67.96049831231529? = 3*sqrt(12*612^(1/3)*(-1)^(1/3) + 121) + 1/2*sqrt(-432*612^(1/3)*(-1)^(1/3) - 60840/sqrt(12*612^(1/3)*(-1)^(1/3) + 121) + 8712)
yr = 370.7929379838096? = sqrt(108*sqrt(78408*1734^(1/3)*(-1)^(1/3) + 1507177) + 1/2*sqrt(-3658203648*1734^(1/3)*(-1)^(1/3) - 150108334945920/sqrt(78408*1734^(1/3)*(-1)^(1/3) + 1507177) + 140637700224) - 91260)

xr = 13.11716612429076? - 19.58845998947787?*I = -3*sqrt(12*612^(1/3)*(-1)^(1/3) + 121) + 1/2*sqrt(-432*612^(1/3)*(-1)^(1/3) + 60840/sqrt(12*612^(1/3)*(-1)^(1/3) + 121) + 8712)
yr = 161.4836552080483? + 190.1138813616981?*I = sqrt(108*sqrt(78408*1734^(1/3)*(-1)^(1/3) + 1507177) - 1/2*sqrt(-3658203648*1734^(1/3)*(-1)^(1/3) - 150108334945920/sqrt(78408*1734^(1/3)*(-1)^(1/3) + 1507177) + 140637700224) - 91260)

xr = 13.11716612429076? + 19.58845998947787?*I = 3*sqrt(12*612^(1/3)*(-1)^(1/3) + 121) - 1/2*sqrt(-432*612^(1/3)*(-1)^(1/3) - 60840/sqrt(12*612^(1/3)*(-1)^(1/3) + 121) + 8712)
yr = 161.4836552080483? - 190.1138813616981?*I = sqrt(-108*sqrt(78408*1734^(1/3)*(-1)^(1/3) + 1507177) + 1/2*sqrt(-3658203648*1734^(1/3)*(-1)^(1/3) + 150108334945920/sqrt(78408*1734^(1/3)*(-1)^(1/3) + 1507177) + 140637700224) - 91260)

I chose the first coordinate P=(xr,yr) of T_3 to perform the addition as follows :

k.<a> = NumberField(x^4 - 6534*x^2 +182520*x-3557763)
kX.<X>=FunctionField(K)
R.<Y> = kX[]
kY.<Y> = kX.extension(Y^2-X^3+3267*X-45630)
E=EllipticCurve(kY,[0,0,0,-3267,45630])
P=E(-3*sqrt(12*612^(1/3)*(-1)^(1/3) + 121) - 1/2*sqrt(-432*612^(1/3)*(-1)^(1/3) + 60840/sqrt(12*612^(1/3)*(-1)^(1/3) + 121) + 8712),sqrt(-108*sqrt(78408*1734^(1/3)*(-1)^(1/3) + 1507177) - 1/2*sqrt(-3658203648*1734^(1/3)*(-1)^(1/3) + 150108334945920/sqrt(78408*1734^(1/3)*(-1)^(1/3) + 1507177) + 140637700224) - 91260))
Q=E(51,108)
P+Q

and obtained the following error :

TypeError: unable to convert -6*sqrt(2)*sqrt(-(6*612^(1/3)*(-1)^(1/3)*sqrt(12*612^(1/3)*(-1)^(1/3) + 121) - 121*sqrt(12*612^(1/3)*(-1)^(1/3) + 121) - 845)/sqrt(12*612^(1/3)*(-1)^(1/3) + 121)) - 6*sqrt(12*612^(1/3)*(-1)^(1/3) + 121) to a rational

Is there a way to fix this? I really need to find the addition of T_3 + [51,108].