Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Formal Group Law on Elliptic Curves

It is very likely I am misunderstanding something, in which case I apologize in advance. Here's my question.

Start with an elliptic curve $E/\mathbb Z_p$ and $M=(p)$ the maximal ideal of $\mathbb Z_p$.

I am considering $\hat E$ the formal group and say $F$ its group law.

I am trying to take two points in $M$ and add them using the group law, something that should be possible and converge (see Silverman AEC pg 119).

On Sage, this is easy to set up:

E=EllipticCurve('61a1')
Ep=E.change_ring(Qp(5))
Ef=Ep.formal_group()
F=Ef.group_law(16)
a=Qp(5, prec=16)(5+3*5^2)
b=Qp(5, prec=16)(5^2-2*5^3)
X=Ef.x(16)
Y=Ef.y(16)
I=Ef.inverse(16)

Now the command F(a,b) pops an error saying that a,b need to have positive valuation. The issue is that it is working over the ring $\mathbb Z_p[[t]]$ over which, indeed a,b have valuation 0. But, unless I am misunderstanding something, since a and b have positive valuation in $\mathbb Z_p$, we should be allowed to add them, right?

The same issue does not exist with the other functions, like X(a), Y(a), I(a) etc.

I have found a way to get around this issue by taking exp(log(a)+log(b)) where exp and log are the formal group logarithmic and exponential functions, but surely this is not a nice way.

So is this indeed a bug or am I misunderstanding something? And if it is a bug, is there an easy/good way to fix/get around it?

click to hide/show revision 2
retagged

Formal Group Law on Elliptic Curves

It is very likely I am misunderstanding something, in which case I apologize in advance. Here's my question.

Start with an elliptic curve $E/\mathbb Z_p$ and $M=(p)$ the maximal ideal of $\mathbb Z_p$.

I am considering $\hat E$ the formal group and say $F$ its group law.

I am trying to take two points in $M$ and add them using the group law, something that should be possible and converge (see Silverman AEC pg 119).

On Sage, this is easy to set up:

E=EllipticCurve('61a1')
Ep=E.change_ring(Qp(5))
Ef=Ep.formal_group()
F=Ef.group_law(16)
a=Qp(5, prec=16)(5+3*5^2)
b=Qp(5, prec=16)(5^2-2*5^3)
X=Ef.x(16)
Y=Ef.y(16)
I=Ef.inverse(16)

Now the command F(a,b) pops an error saying that a,b need to have positive valuation. The issue is that it is working over the ring $\mathbb Z_p[[t]]$ over which, indeed a,b have valuation 0. But, unless I am misunderstanding something, since a and b have positive valuation in $\mathbb Z_p$, we should be allowed to add them, right?

The same issue does not exist with the other functions, like X(a), Y(a), I(a) etc.

I have found a way to get around this issue by taking exp(log(a)+log(b)) where exp and log are the formal group logarithmic and exponential functions, but surely this is not a nice way.

So is this indeed a bug or am I misunderstanding something? And if it is a bug, is there an easy/good way to fix/get around it?