# Local Computations

## `BadPlaces(E): CrvEll -> [ PlcFunElt ]`

A sequence containing the places where the given model of $E$ has bad reduction, for an elliptic curve $E$ defined over a function field.

## `Conductor(E): CrvEll -> DivFunElt`

The conductor of an elliptic curve $E$ defined over a function field $F$. In general this is returned as a divisor of $F$. When $F$ is a rational function field it is returned as a sequence of tuples $\langle f, e \rangle$ of places (specified by field elements $f$) and multiplicities $e$.

## `LocalInformation(E, Pl): CrvEll[FldFun], PlcFunElt -> Tup, CrvEll`

## `LocalInformation(E, f): CrvEll[FldFunRat], FldFunRatUElt -> Tup, CrvEll`

This function performs Tate’s algorithm for an elliptic curve $E$ over a function field to determine the reduction type and a minimal model at the given place $Pl$. When $E$ is defined over a rational function field $F(t)$ the place is simply given as a field element $f$ (which must either be $1/t$ or an irreducible polynomial in $t$.)

The model is not required to be integral on input. The output is of the form $\langle Pl, v_p(d), f_p, c_p, K, split \rangle$ and $E_{min}$ where $Pl$ is the place, $v_p(d)$ is the valuation of the local minimal discriminant, $f_p$ is the valuation of the conductor, $c_p$ is the Tamagawa number, $K$ is the Kodaira Symbol, $split$ is a boolean that is false if reduction is of nonsplit multiplicative type and true otherwise, and $E_{min}$ is a model of $E$ (integral and) minimal at $Pl$.

## `LocalInformation(E): CrvEll -> [ < Tup > ]`

Returns a sequence of tuples as described above for all places of bad reduction of the elliptic curve $E$.

## `KodairaSymbols(E): CrvEll -> [ <SymKod, RngIntElt> ]`

A sequence of tuples $\left< K, n \right>$, corresponding to the places of bad reduction of the elliptic curve $E$. Here $K$ is the Kodaira symbol and $n$ is the degree of the corresponding place.

## `NumberOfComponents(K): SymKod -> RngIntElt`

The number of components of a fibre with the Kodaira symbol $K$.

## `MinimalModel(E): CrvEll[FldFunG] -> CrvEll, MapIsoSch`

A model of the elliptic curve $E$ (defined over a function field, which must have genus $0$) that is minimal at all finite places, together with a map from $E$ to this minimal model.

## `MinimalDegreeModel(E): CrvEll[FldFunRat] -> CrvEll, Map, Map`

A model of the elliptic curve $E$ (defined over a rational function field) which minimises the quantity Max([Degree$(a_i)/i$]), where $a_1, a_2, a_3, a_4, a_6$ are the Weierstrass coefficients.

## `IsConstantCurve(E): CrvEll[FldFunRat] -> BoolElt, CrvEll`

For an elliptic curve $E$ defined over a rational function field $F(t)$, the function returns `true` if and only if $E$ is isomorphic over $F(t)$ to an elliptic curve with coefficients in $F$ (and also returns such a curve in that case).

## `TraceOfFrobenius(E, p): CrvEll[FldFunRat], RngElt -> BoolElt, CrvEll`

The trace of Frobenius $a_p$ for the reduction of $E$ at the place $p$, specified as an element of the base field.
