Invariants

The defining data and invariants of the curves are accessed through standard functions.

Level(X): CrvMod -> RngIntElt

Returns the level of the modular curve \(X\) as an integer.

Genus(X): CrvMod -> RngIntElt

Returns the genus of the modular curve \(X\) .

ModelType(X): CrvMod -> MonStgElt

Returns the type of the model for the modular curve \(X\), presently limited to “Atkin”, “Canonical”, or “Classical”. This is used to determine the algorithm by which parameterized isogenies are determined.

Indices(X): CrvMod -> SeqEnum

Returns a sequence of integers, of the form \([N,M,P]\), classifying the class of the modular curve \(X\). The integer sequence defines a congruence subgroup of \({\operatorname{PSL}}_2({\mathbb{Z}})\) defined by

\[\Gamma(N,M,P) = \left\{ \left.\left({a\ b\atop c\ d}\right)\ \right\vert \ c \equiv 0 \bmod N, \ b \equiv 0 \bmod P, \ a \equiv 1 \bmod M \ \right\},\]

where \(M\) divides \({\rm LCM}(N,P)\). For the models presently available, this will be the sequence \([N,1,1]\), where is the level of \(X = X_0(N)\).