1
$\begingroup$

Consider the elliptic curve $E: y^2 = x^3 + 23x+11$ over p-adic fields. In Sage I use:

k = GF(257)
E = EllipticCurve(k,[23,11])
kp = Qp(257,5) # 257-adic Field with capped relative precision 5
Ep = E.change_ring(kp)

Now, Ep is the Elliptic Curve defined by y^2 = x^3 + (23+O(257))*x + (11+O(257)) over 257-adic Field with capped relative precision 5.

On this curve there is a point with coordinates (7,258). In Sage:

s = Ep([7,258])
print s
(7 + O(257^5) : 1 + 257 + O(257^5) : 1 + O(257^5))

So far so good, everything works as expected.

s has order 83. Therefore 84*s=s. In Sage:

t=84*s
print t
(7 + O(257) : 1 + O(257) : 1 + O(257^5))

Notice how this is indeed the same expression as for s, but evaluated only to lowest order in the p-adic expansion.

My question is: How can I evaluate (and display) t to higher orders in the p-adic expansion. Specifically in the example above: How do I recover that the second coordinate of t is 1 + 257 + O(257^5) rather than just 1 + O(257)?

$\endgroup$
2
  • $\begingroup$ This is a specific question about precision loss in sage. I think your question is better suited for ask.sagemath.org. Or in one of the email lists like groups.google.com/d/forum/sage-support . $\endgroup$ Commented Sep 22, 2018 at 22:37
  • 2
    $\begingroup$ .. and to answer your question. If you want 5 digits of precision then you need to defined the elliptic curve with that precision, i.e. Ep = EllipticCurve(kp,[23,11]). But now [7,258] is not a point on this curve. It is a bit more complicated to find a point of order 83 on $E/\mathbb{Q}_p$ now. $\endgroup$ Commented Sep 22, 2018 at 22:44

1 Answer 1

6
$\begingroup$

If you are willing to use another CAS system then PARI/GP can do the job:

> gp -q
? E = ellinit(ellfromeqn(-y^2 + x^3 + 23*x + 11));
? p = 257; x1 = 920547770587 + O(p^5); y1 = sqrt(x1^3 + 23*x1 + 11);
? ellisoncurve(E, s = [x1, y1])
1
? ellpow(E, s, 84) - s
[O(257^5), O(257^5)]
? x1
7 + 18*257 + 236*257^2 + 3*257^3 + 211*257^4 + O(257^5)
? y1
1 + 246*257 + 148*257^2 + 175*257^3 + 186*257^4 + O(257^5)

You can even use $\texttt{gp}$ from within Sage.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .