# Cusps and Rational Points

Letting $H^*$ denote the extended complex upper half-plane $\{z \in C|{\operatorname{Im}}(z) > 0\}\cup{\bf Q}\cup\infty$, $X_0(N)({\bf C})$ identifies with the quotient space $H^*/\Gamma_0(N)$ and the cusps are the images of ${\bf Q}\cup\infty$. A complete set of representatives of cusps are the images of the points $a/d$ where $d$ runs through positive divisors of $N$ and, for each $d$, $a$ runs through a set of integer representatives of $({\bf Z}/(d,N/d){\bf Z})^\times$ relatively prime to $d$. In particular, if $(d,N/d)\le 2$, we just get $1/d$. The image of the cusp at $\infty$ identifies with the image of $1/N$.

With respect to the rational structure of $X_0(N)$, the cusps are all algebraic points defined over cyclotomic fields. Specifically, for a given $d|N$, the $a/d$ are a set of Galois-conjugate points, each one having ${\bf Q}(\mu_{(d,N/d)})$ as the field of definition, and the Galois group of ${\bf Q}(\mu_{(d,N/d)})$ over ${\bf Q}$ acts simply transitively on this set. In particular, if $(d,N/d)\le 2$, the cusp $1/d$ is a ${\bf Q}$-rational point on $X_0(N)$. Thus, $\infty \sim 1/N$ and $0=0/1\sim 1/1$ are always rational cusps.

The cuspidal points on the models for small modular curves are stored in the database. More precisely, for each $d|N$, the database stores either a rational point for the cusp $1/d$, if $(d,N/d)\le 2$, or a cluster that defines the ${\bf Q}$-conjugate set of cusps ${a/d}$, if $(d,N/d)>2$. The user can access these through an intrinsic. If the model $C$ for $X_0(N)$ is singular, some cusps may correspond to singular points on $C$. There may be two cusps that lie over the same node of $C$. In any case, the *place* over each conjugate class of cusps ${a/d}$ is unique (different for different $d$) and the database contains information to determine which place belongs to which cusp for places above a singular cuspidal point on the model. There is an intrinsic to return the curve place above each ${\bf Q}$-conjugate set of cusps ${a/d}$.

Non-cuspidal rational points are of particular interest since they correspond to classes of elliptic curves defined over ${\bf Q}$ with a cyclic $N$-isogeny also defined over ${\bf Q}$ up to twist. On the complete set of curves $X_0(N)$ of genus $> 0$, there are very few non-cuspidal rational points and all such were determined by Mazur and others in the 1970s. The database stores the list of non-cuspidal rational points for each level $N$. These are never singular points on the chosen models.

## `Cusp(CN, N, d): Crv, RngIntElt, RngIntElt -> Any`

The curve $CN$ should be a base change of the small modular database curve of level $N$ to a field $K$ of characteristic 0. $d$ is a positive divisor of $N$. Returns the point on $CN$ corresponding to the cusp $1/d$, if $(d,N/d)\le 2$, or returns the cluster (zero-dimensional scheme) defined over $K$ that is the reduced subscheme of $CN$ consisting of the $\phi((d,N/d))$ cusps $a/d$, if $(d,N/d)>2$ where $\phi$ is Euler’s totient function.

## `CuspIsSingular(N, d): RngIntElt, RngIntElt -> BoolElt`

Returns whether the points lying under the cusps $a/d$ for $d|N$ on the small modular curve database model for $X_0(N)$ are singular. For a given $d$, they either all are or all are not.

## `CuspPlaces(CN, N, d): Crv, RngIntElt, RngIntElt -> SeqEnum[PlcCrvElt]`

The curve $CN$ should be a base change of the small modular database curve of level $N$ to a field $K$ of characteristic 0. $d$ is a positive divisor of $N$. Returns the sequence of places of $CN$ that correspond to the $\phi((d,N/d))$ cusps $a/d$. If $(d,N/d)\le 2$ or $K = {\bf Q}$ there will only be one place. However, if $K$ is a proper extension of **Q**, the ${\bf Q}$-conjugate cusps $a/d$ may split into several Galois orbits over $K$.

## `NonCuspidalQRationalPoints(CN, N): Crv, RngIntElt -> SeqEnum`

The curve $CN$ should be a base change of the small modular database curve of level $N$ of genus $> 0$ to a field $K$ of characteristic 0. Returns the sequence of points on $CN$ that correspond to non-cuspidal points in $X_0(N)({\bf Q})$. There are only a small number of $N$ for which this is a non-empty set and the rational points are non-singular ones on all of our models.

## `Example: Sm Mod Crvs Cusps (ex-6539d5)`

```magma
> C := SmallModularCurve(32);
> C;
Elliptic Curve defined by y^2 = x^3 + 4*x over Rational Field
> Cusp(C,32,32); //cusp at infinity
(0 : 1 : 0)
> Cusp(C,32,8);
Cluster over Rational Field defined by
$.1^2 + 4*$.3^2,
$.2
> Degree($1);
2
> C<x,y,z> := SmallModularCurve(63);
> Cusp(C,63,1); // cusp at 0
(1 : 1 : 1)
> Cusp(C,63,7); // cusp at 1/7
(1 : 1 : 1)
> CuspIsSingular(63,1);
true
> CuspIsSingular(63,7);
true
> CuspPlaces(C,63,1);
[
    Place (2) at (1 : 1 : 1)
]
> CuspPlaces(C,63,7);
[
    Place (1) at (1 : 1 : 1)
]
> Cusp(C,63,3);
Cluster over Rational Field defined by
x - y,
y^2 + y*z + z^2
> Cusp(C,63,21);
Cluster over Rational Field defined by
x - y,
y^2 + y*z + z^2
> CuspPlaces(C,63,3)[1];
Place at ($.1 : $.1 : 1)
> CuspPlaces(C,63,21)[1];
Place at ($.1 : $.1 : 1)
> $1 eq $2;
false

```
