Note: To load magma with any one of these programs, type e.g.

nice magma tors

(in general replacing "tors" with the name of the program).

• Patrick Corn's TC program, Version 1.0 (of 10/25/07) (tors)

Creates the function TC(i,N,B). Here i is one of the 13 integral j-invariants, accorded according to increasing discriminant of the quadratic order (in particular i = 4 corresponds to j = 1728, unlike in arxivpreprint.pdf), N > 3 is an odd prime, and B is a bound. The program begins with the generic Kubert curve E(b,c), computes one polynomial corresponding to j(E(b,c)) = ji, another polynomial corresponding to N*(0,0) = O, then computes the resultant R(b) of these two polynomials, which is a polynomial in Z[b]. Then for all odd primes p <= b, it factors R(b) over the integers mod p and returns the sequence of degrees of the irreducible factors for each p (in non-decreasing order). Finally, it keeps track of the maximum over the primes p <= B of the minimum degree of an irreducible factor and returns this at the end, saying "Looks like the smallest degree is..."

This final output number -- let us call it d(i,N,B) -- is a lower bound for the degree of a number field K over which there exists a CM elliptic curve with j-invariant ji and a K-rational N-torsion point. There may not be such an elliptic curve for either of two reasons: first, in order to solve for the c-coordinates corresponding to a given b-coordinate we may need to further extend the number field Q(b) (however, one might expect this extension usually to be unnecessary; we'll see!), and second it is possible for a univariate polynomial to be "more reducible" modulo every prime than it is over Z.

Remark: One can input any odd value of N into the program. But since the equations for an N-torsion point in Kubert normal form are really N*(0,0) = O, M*(0,0) =\= O for 1 <= M < N, when N is not prime (except, I suppose, N = 9), the degree sequences for N will include degree sequences for all M > 3 which divide N. However, by running the program also for such divisors M and removing the degree sequences from those of TC(i,N,B), one should get the appropriate degree sequences for N. This should be implemented!

• TC Version 1.0 with abridged output (brieftors)

This program is identical to Version 1.0 of TC except that it does not ouput any of the degree sequences, only the final lower bound d(i,N,B).