The aim is to determine whether or not divides the discriminant of the Hecke algegra of level for each . If is an operator with integral characteristic polynomial, we write for , which also equals . We will often use that
Most levels were ruled out by computing characteristic polynomials of Hecke operators using an algorithm that David Kohel and I implemented in MAGMA, which is based on the Mestre-Oesterle method of graphs (our implementation is ``The Modular of Supersingular Points'' package that comes with MAGMA). I computed modulo for several primes , and in most cases found a such that this discriminant is nonzero. The following table summarizes how often we used each prime (note that there are primes up to ):
number of where smallest s.t. mod | |
2 | 5809 times |
3 | 161 (largest: 59471) |
5 | 43 (largest: 57793) |
7 | 15 (largest: 58699) |
11 | 15 (the smallest is 307; the largest 50971) |
13 | 2 (they are 577 and 5417) |
17 | 3 (they are 17209, 24533, and 47387) |
19 | 1 (it is 15661 ) |
The numbers in the right column sum to 6049, so 8 levels are missing. These are
How we rule level out, if possible | |
389 | does divide discriminant |
487 | using charpoly() |
2341 | using charpoly() |
7057 | using charpoly() |
15641 | using charpoly() |
28279 | using charpoly() |
Computing with composite is very time consuming when is large, so it is important to choose the right quickly. For , here is the trick I used to quickly find an such that is not divisible by . This trick might be used to speed up the computation for some other levels. The key idea is to efficiently discover which to compute. Though computing on the full space of modular symbols is quite hard, it turns out that there is an algorithm that quickly computes on subspaces of modular symbols with small dimension (see §3.5.2 of my Ph.D. thesis). Let be the space of mod modular symbols of level , and let . Let be the kernel of (this takes 7 minutes to compute). If , we would be done, since then . In fact, has dimension . We find the first few integers so that the charpoly of on has distinct roots, and they are , , , and . I then computed directly on the whole space and found that it has distinct roots modulo .