1 | initial version |
This is a later answer, hoping that the quick good answer of FrédéricC will be accepted.
Let us place the above in the context of a sample elliptic curve, my choice is
E = EllipticCurve(QQ, [-1, 0])
FormalGroupOfE = E.formal_group()
f = FormalGroupOfE.log(prec=20)
print(f)
This gives:
t - 2/5*t^5 + 2/3*t^9 - 20/13*t^13 + 70/17*t^17 + O(t^20)
Here, t
is a printed variable, that does not exist so far as t
, so we introduce it.
sage: t = f.parent().gens()[0]
sage: t
t
Now we can associate the reverse
object, and check the compositions...
sage: g = f.reverse()
sage: g
t + 2/5*t^5 + 2/15*t^9 + 44/975*t^13 + 422/27625*t^17 + O(t^20)
sage: g(f(t))
t + O(t^20)
sage: f(g(t))
t + O(t^20)
If $F$ is the "group law" of the formal group,
sage: F = FormalGroupOfE.group_law()
sage: F
t1 + t2 + 2*t1^4*t2 + 4*t1^3*t2^2 + 4*t1^2*t2^3 + 2*t1*t2^4 - 2*t1^8*t2
+ 8*t1^6*t2^3 + 16*t1^5*t2^4 + 16*t1^4*t2^5 + 8*t1^3*t2^6 - 2*t1*t2^8
+ O(t1, t2)^10
(code was split manually,) and we have by definition $f(\ F(x,y)\ )=f(x)+f(y)$, so let us check the relation obtained from this one, after applying $g$:
sage: t1, t2 = F.parent().gens()
sage: F(t1, t2) == g( f(t1) + f(t2) )
True