Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

The following worked for me, regarding the computation of $F(a, b)$.

E  = EllipticCurve('61a1')
Ep = E.change_ring(Qp(5))
Ef = Ep.formal_group()
F  = Ef.group_law(16)

# t1, t2 = F.parent().gens()

a  = Qp(5, prec=16)(5+3*5^2)
b  = Qp(5, prec=16)(5^2-2*5^3)

print( F.polynomial()(a, b) )

which delivers

5 + 4*5^2 + 2*5^3 + 3*5^4 + 3*5^7 + 3*5^8 + 3*5^9 + 4*5^10 + 3*5^11 + 5^12 + 3*5^13 + 2*5^14 + 5^15 + 3*5^16 + O(5^17)

Here, we may go wrong with the "last $p$-adic digits", when precisions do not match in the sense of the (default) precision used inside F.parent().

Note: Unfortunately the base ring

sage: R = Qp(5)
sage: R
5-adic Field with capped relative precision 20
sage: R.is_exact()
False

is not an exact field. So sage lets the programmer arrange for controlling precision in the performed operations.