Ask Your Question

Revision history [back]

click to hide/show revision 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