Creation Functions

Contents

Ambient Spaces

An ambient supersingular divisors module is specified by giving an integer N (the level) and a prime p (the characteristic).

SupersingularModule(p,N : parameters) : RngIntElt, RngInt -> ModSS
    Brandt: BoolElt                     Default: false
The module M of supersingular points on X0(N) over /line(F)p. Equivalently, this is the free abelian group on the supersingular elliptic curves in characteristic p enhanced with level N structure. We require that N and p are coprime.
SupersingularModule(p) : RngIntElt -> ModForm
The Hecke module M of divisors of degree 0 on the supersingular points on X0(1) over /line(F)p. Equivalently, this is the free abelian group on the supersingular j-invariants in characteristic p.

Example ModSS_Creation-Spaces (H144E1)

> SupersingularModule(11);
Supersingular module associated to X_0(1)/GF(11) of dimension 2
> SupersingularModule(11,3);
Supersingular module associated to X_0(3)/GF(11) of dimension 4
> SupersingularModule(3,11);
Supersingular module associated to X_0(11)/GF(3) of dimension 2
The optional parameter Brandt forces computation of the supersingular module using quaternion arithmetic, even if this will be slower. (It's not clear why anyone would want to do use this parameter except to compute the same thing using two different algorithms.)
> SupersingularModule(97);
Supersingular module associated to X_0(1)/GF(97) of dimension 8
> SupersingularModule(97 : Brandt := true);
Supersingular module associated to X_0(1)/GF(97) of dimension 8

Elements

M . i : ModSS, RngIntElt -> ModSSElt
The ith basis element of the module M.
M ! x : ModSS, . -> ModSSElt
The coercion of x into the module M.

Example ModSS_Creation-Elements (H144E2)

First we create the supersingular module attached to p=11, N=3. This is the free abelian group generated by the supersingular points on X0(3) in characteristic 11, equipped with the structure of module over the Hecke algebra.
> X := SupersingularModule(11,3);
> P := X.1;
> P;
(5, 5)
> Eltseq(P);
[ 1, 0, 0, 0 ]
> X![ 1, 0, 0, 0 ];
(5, 5)
Note that the module associated to p=3, N=11 is computed using Brandt matrices (since X0(11) has positive genus), so elements are printed in a less informative way.
> Z := SupersingularModule(3,11); Z;
Supersingular module associated to X_0(11)/GF(3) of dimension 2
> P := Z.1;
> P;
[E1]
> Eltseq(P);
[ 1, 0 ]
> Z![1,0];
[E1]

Subspaces

CuspidalSubspace(M) : ModSS -> ModSS
The cuspidal submodule X of M. Thus X is the submodule of divisors of degree 0 on the supersingular points. It is "cuspidal" in the sense that X tensor Q is isomorphic as a Hecke module to the space S_2(Γ_0(Np);Q)^p-new of p-new cuspforms with Fourier coefficients in Q. Explicitly, the cuspidal subspace is the subspace of elements such that the sum of the coefficients is 0 (i.e., the subspace of divisors of degree 0).
EisensteinSubspace(M) : ModSS -> ModSS
The Eisenstein submodule of M, i.e., the orthogonal complement of the cuspidal subspace of M with respect to the monodromy pairing.
OrthogonalComplement(M) : ModSS -> ModSS
The orthogonal complement of the module M in the ambient space with respect to the monodromy pairing.
Kernel(I, M) : [Tup], ModSS -> ModSS
The kernel of I on the module M. This is the subspace of M obtained by intersecting the kernels of the operators fn(Tpn), where I is a sequence [< p1, f1(x) >, ..., < pn, fn(x) >] of pairs consisting of a prime number and a polynomial.
Decomposition(M, n) : ModSS, RngIntElt -> [ModSS]
Decomposition of the module M with respect to the Hecke operators T1, T2, ..., Tn.

Example ModSS_Creation-Subspaces (H144E3)

We compute bases for the cuspidal and eisenstein subspaces when p=11 and N=1.
> M := SupersingularModule(11); Basis(M);
[
    (1, 1),
    (0, 0)
]
> S := CuspidalSubspace(M);
> E := EisensteinSubspace(M);
> Basis(S);
[
    (1, 1) - (0, 0)
]
> Basis(E);
[
    3*(1, 1) + 2*(0, 0)
]
Next we compute the orthogonal complement of each subspace.
> Basis(OrthogonalComplement(E));
[
    (1, 1) - (0, 0)
]
> Basis(OrthogonalComplement(S));
[
    3*(1, 1) + 2*(0, 0)
]
> S eq OrthogonalComplement(E);
true
Note that the Hecke operator T2 acts as -2 on the cuspidal subspace. Using the Kernel command, we compute the subspace of M on which T2 acts as -2, and recover the cuspidal subspace.
> R<x> := PolynomialRing(Integers());
> I := [<2, x + 2>];
> K := Kernel(I,M);
> Basis(K);
[
    (1, 1) - (0, 0)
]
We can also compute the decomposition of M into submodules for the action of the first few Hecke operators (typically a few Hecke operators are enough to give a complete decomposition with respect to all Hecke operators).
> Decomposition(M,5);
[
    Supersingular module associated to X_0(1)/GF(11) of dimension 1,
    Supersingular module associated to X_0(1)/GF(11) of dimension 1
]
V2.28, 13 July 2023