# The Formal Group

These functions are for elliptic curves over any (exact) field.

## `FormalGroupLaw(E, prec): CrvEll, RngIntElt -> RngMPolElt`

This function returns a polynomial in two variables, $T_1 + T_2 + \dots$, which expresses the formal group law associated to addition on $E$, up to precision `prec`. (More precisely, it contains the terms which have total degree less than or equal to `prec`.)

The formal variables $T_1$ and $T_2$ may be identified with the function $-x/y$ on $E$, where $x$ and $y$ are the standard affine coordinates on $E$. (Note that this function is a local parameter in a neighbourhood of $O_E$.)

## `FormalGroupHomomorphism(phi, prec): MapSch, RngIntElt -> RngSerPowElt`

This function returns the homomorphism of formal groups associated to the isogeny `phi`, represented as a power series in one variable up to precision `prec`. As in `FormalGroupLaw`, this is in terms of the parameter $-x/y$ on each curve.

## `FormalLog(E): CrvEll -> RngSerPowElt, PtEll`

```magma
Precision: RngIntElt                    Default: 10
```

This function returns the formal logarithm for the elliptic curve $E$ as a power series $f(T)$, where the parameter $T$ is the function $-x/y$ on $E$. (This is the same parameter used in `FormalGroupLaw`).

The function also returns a point $P(T)$ on $E$ with coordinates in a Laurent series ring with generator $T$, which again corresponds to $-x/y$. Thus $P(T)$ is a formal parametrisation of $E$ in a neighbourhood of $O_E$.
