# Small Modular Curve Models

The models are projective models of the complete curve $X_0(N)$ over ${\bf Q}$. In the genus 0 case, we simple take the projective line ${\bf P}^1$ with the point at infinity corresponding to the cusp at infinity $\infty$. In the genus 1 case, we take a `CrvEll` which is the standard minimal Weierstrass model of the elliptic curve $(X_0(N),\infty)$ with the cusp $\infty$ as the 0 point for the group law. In the hyperelliptic cases (see [[Ogg, 1974](../../references.md#cite-ogg74)]), we take a minimal Weierstrass model with two rational points at infinity, the cusp $\infty$ (which is never a hyperelliptic Weierstrass point) and its image under the hyperelliptic involution.

In all other cases (non-subhyperelliptic), we have followed the rule of taking a plane model (in ${\bf P}^2$) or a non-singular model in ${\bf P}^3$. In fact, we have only used ${\bf P}^3$ models in the genus 4 cases. For genus 3 and 4, we take a canonical model (non-singular plane quartic and non-singular complete intersection of a quadric and a cubic respectively). For genus 5 and 6, we find a smallest degree singular birational plane model. These plane curves are of degree 6 in all cases. The singularities are mainly nodes (type $A_2$) and simple cusps (type $A_3$) and often under cuspidal points, though there are some more complex ones of higher $A_n$ type. All of the non-singular models that we have produced reduce mod $p$ to non-singular models of the reduction of $X_0(N)$ for $p$ not dividing the level $N$. The singular plane models reduce mod $p$ ($p$ not dividing $N$ again) to singular plane models of the reduction of $X_0(N)$ with singularities of the same type, except for a few cases with small $p$ where nodes become cusps or two singularities coalesce into a more complex one.

The initial version of the database contains data for all subhyperelliptic $X_0(N)$ and all other cases with genus $\le 6$ (with a few genus 5 and 6 cases not yet added). This covers all $N < 60$ along with about half of the $N$ between 60 and 80 and $N=81, 121$.

We briefly indicate how the models were arrived at. Equations in the genus 0 and elliptic cases and modular functions giving the coordinate generators are reasonably well-known (see [[Ligozat, 1975](../../references.md#cite-li75)] for the elliptic cases), though we found them again anyway as part of our general procedure of searching for small degree rational functions on $X_0(N)$. We considered functions generated by Dedekind eta products and weight 2 integral forms coming from eta products, various types of theta series and Eisenstein series. For the hyperelliptic cases with genus $g$, functions $x$ and $y$ with poles at $\infty$ giving a $y^2=f(x)$ type Weierstrass equation are determined from constructing weight two cusp forms $G$ and $F$ with $q$-expansions $q^{g-1}+..$ and $q^g+..$ respectively. These were found in terms of eta products and theta forms and the results were checked against the output of Magma’s modular forms package.

In the non-subhyperelliptic cases, we started from a canonical image simplified by applying LLL as output by `ModularCurveQuotient`, occasionally slightly adapting this to get good reduction at 2. In the genus 5 and 6 cases, we determined minimal degree (singular) plane models from these. Genus 5 is fairly straightforward. For the method to find degree 6 plane images in the genus 6 case, see [[Harrison, 2013](../../references.md#cite-mike-harr-gen56-11)] where the genus 5 case is also discussed.

Having determined a model as the image of the mapping $X_0(N)$ into ${\bf P}^{r-1}$ by $z \mapsto [f_1(z):\ldots:f_r(z)]$, $r=3$ or 4, we then found expressions for the weight 2 forms $f_i$ of the type described above (eta products etc.). For more information on this, see the subsection [Modular Generators and q-Expansions](q_exps_sm_mod_crvs.md) where we also give intrinsics to return a symbolic description of the construction of the generating modular functions/forms and to return $q$-expansions up to a desired precision. We wished to have concrete expressions for these functions/forms in terms of certain basic types, independent of the generic modular symbol method of generating $q$-expansions for bases of forms. It also allows for slightly faster reconstruction of $q$-expansions.

## `SmallModularCurve(N): RngIntElt -> Crv`

## `SmallModularCurve(N, K): RngIntElt, Rng -> Crv`

The first intrinsic returns the model for $X_0(N)$ over the rationals from the small modular curve database. The second returns the base change of this to $K$, which should be a characteristic zero field.

If there is no database entry yet for level $N$, a runtime error results.

## `IsInSmallModularCurveDatabase(N): RngIntElt -> Boolelt`

Returns whether or not there is a data for level $N$ in the small modular curves database.

## `Example: Sm Mod Crvs Basic Ex (ex-3a10fa)`

```magma
> IsInSmallModularCurveDatabase(79);
false
> IsInSmallModularCurveDatabase(35);
true
> SmallModularCurve(35);
Hyperelliptic Curve defined by y^2 + (-x^4 - x^2 - 1)*y = -x^7 - 2*x^6 - x^5 -
    3*x^4 + x^3 - 2*x^2 + x over Rational Field
> C<x,y,z> := SmallModularCurve(63);
> C;
Curve over Rational Field defined by
x^5*y - 2*x^4*y^2 + 3*x^3*y^3 - 2*x^2*y^4 + x*y^5 - 2*x^3*z^3 + x^2*y*z^3 +
    x*y^2*z^3 - 2*y^3*z^3 + z^6

```
