[Next][Prev] [Right] [Left] [Up] [Index] [Root]

Modular Polynomial Databases

Magma contains several databases of standard defining polynomials for modular curves which are used throughout the system for construction of isogenies of elliptic curves, and which are made available to the user. These define singular models for modular curves X_0(N), in terms for standard functions on the curves.

The classical model for X_0(N) is in terms of the polynomial Phi_N(X, Y) such that Phi_N(j(tau), j(Ntau)) = 0, where j(tau) is the j-function. The bivariate polynomial Phi_N(X, Y) is defined to be the classical modular polynomial. The classical modular polynomial has the property of being symmetric in X and Y, and moreover the canonical involution is defined by (X, Y) |-> (Y, X).

Suppose that N is a prime and set s = (N - 1)/( GCD)(N - 1, 12). Using the property that the Dedekind eta-function is holomorphic with no zeros on the upper half plane Hh, the function

f(tau) = N^s ((eta(Ntau) /eta(tau)))^(2s),

is a holomorphic function whose reciprocal is also holomorphic on Hh. The transformation properties of the eta-function imply that f(tau) is invariant under Gamma_0(N). Together j(tau) and f(tau) generate the function field for X_0(N). The polynomial Psi_N(X, Y) such that Psi_p(f(tau), j(tau)) = 0 is called the canonical modular polynomial. The Atkin--Lehner involution sends f(tau) to N^s/f(tau), so that the relation Psi_N(N^s/f(tau), j(Ntau)) = 0 also holds.

The third distinguished class of modular polynomials are the Atkin modular polynomials Xi_N(X, Y), satisfying the property that Xi_N(f(tau), j(tau)) = 0 for a modular function f(tau) on X_0(N) invariant under the Atkin-Lehner involution. Since the function f(tau) is well-defined as a function on the Atkin-Lehner quotient curve X_0^ + (N), sometimes denoted X_0^ * (N), these polynomials are also referred to as star modular polynomials in the literature. The construction of f(tau) and the modular polynomial Xi_N(X, Y) is described in articles of Elkies [Elk98] and Morain [Mor95]. The database of Atkin modular polynomials were provided by A.O.L. Atkin.

AtkinModularPolynomial(N) : RngIntElt -> RngMPolElt
Given a prime number N, represented in the database of Atkin modular curves, returns the Atkin modular polynomial Xi_N(X, Y).
CanonicalModularPolynomial(N) : RngIntElt -> RngMPolElt
Given a prime number N represented in the database of canonical modular curves, returns the canonical modular polynomial Psi_N(X, Y).
ClassicalModularPolynomial(N) : RngIntElt -> RngMPolElt
Given an integer N represented in the database of classical modular curves, returns the defining classical modular polynomial Phi_N(X, Y).
ModularCurveDatabase(t) : MonStgElt -> DB
ModularCurveDatabase(t,i) : MonStgElt, RngIntElt -> DB
Given an identifier string t, which must be one of "Atkin", "Canonical", or "Classical", returns the corresponding database object of modular curves X_0(N).

Because of its size, the Atkin database is split into database objects of levels 200(i - 1) + 1 <= N < 200i for i in (1, 2, 3, 4, 5), of which only the first two are provided by default. Additional datafiles can be obtained by request. The canonical database consists a subset of the prime levels below 200, and only levels below 60 are present in the classical modular curve database.

N in D: RngIntElt, DB -> BoolElt
Returns true if and only if N is a level represented in the given modular curve database D.
ExistsModularCurveDatabase(t) : MonStgElt -> BoolElt
ExistsModularCurveDatabase(t,i) : MonStgElt, RngIntElt -> BoolElt
Returns true if and only if the data file given by the string t and integer i exists

Example CrvMod_Modular polynomials (H107E2)

Here we compare the defining polynomials for the Atkin, Canonical, and Classical models for the modular curves X_0(N). For the modular curve X_0(3) we have the polynomials which follow.

> P2<x,j> := PolynomialRing(Integers(),2);
> P2!AtkinModularPolynomial(3);    
x^4 - x^3*j + 744*x^3 + 193752*x^2 + 2348*x*j + 19712160*x + j^2 
  + 24528*j + 538141968
> P2!CanonicalModularPolynomial(3);
x^4 + 36*x^3 + 270*x^2 - x*j + 756*x + 729
> P2!ClassicalModularPolynomial(3);
x^4 - x^3*j^3 + 2232*x^3*j^2 - 1069956*x^3*j + 36864000*x^3 + 
    2232*x^2*j^3 + 2587918086*x^2*j^2 + 8900222976000*x^2*j + 
    452984832000000*x^2 - 1069956*x*j^3 + 8900222976000*x*j^2 - 
    770845966336000000*x*j + 1855425871872000000000*x + j^4 + 
    36864000*j^3 + 452984832000000*j^2 + 1855425871872000000000*j
For larger values of N the Atkin modular polynomials tend to have smaller coefficients.

> P2!CanonicalModularPolynomial(11);
x^12 - 5940*x^11 + 14701434*x^10 - 139755*x^9*j - 19264518900*x^9 + 
    723797800*x^8*j + 13849401061815*x^8 + 67496*x^7*j^2 - 
    1327909897380*x^7*j - 4875351166521000*x^7 + 2291468355*x^6*j^2 + 
    1036871615940600*x^6*j + 400050977713074380*x^6 - 5346*x^5*j^3 + 
    4231762569540*x^5*j^2 - 310557763459301490*x^5*j + 
    122471154456433615800*x^5 + 161201040*x^4*j^3 + 
    755793774757450*x^4*j^2 + 17309546645642506200*x^4*j + 
    6513391734069824031615*x^4 + 132*x^3*j^4 - 49836805205*x^3*j^3 + 
    6941543075967060*x^3*j^2 - 64815179429761398660*x^3*j + 
    104264884483130180036700*x^3 + 468754*x^2*j^4 + 51801406800*x^2*j^3
    + 214437541826475*x^2*j^2 + 77380735840203400*x^2*j + 
    804140494949359194*x^2 - x*j^5 + 3732*x*j^4 - 4586706*x*j^3 + 
    2059075976*x*j^2 - 253478654715*x*j + 2067305393340*x + 1771561
> P2!CanonicalModularPolynomial(13);
x^14 + 26*x^13 + 325*x^12 + 2548*x^11 + 13832*x^10 + 54340*x^9 + 
    157118*x^8 + 333580*x^7 + 509366*x^6 + 534820*x^5 + 354536*x^4 + 
    124852*x^3 + 15145*x^2 - x*j + 746*x + 13
> P2!AtkinModularPolynomial(11);      
x^12 - x^11*j + 744*x^11 + 196680*x^10 + 187*x^9*j + 21354080*x^9 + 
    506*x^8*j + 830467440*x^8 - 11440*x^7*j + 16875327744*x^7 - 
    57442*x^6*j + 208564958976*x^6 + 184184*x^5*j + 1678582287360*x^5 +
    1675784*x^4*j + 9031525113600*x^4 + 1867712*x^3*j + 
    32349979904000*x^3 - 8252640*x^2*j + 74246810880000*x^2 - 
    19849600*x*j + 98997734400000*x + j^2 - 8720000*j + 58411072000000
> P2!AtkinModularPolynomial(13);
x^14 - x^13*j + 744*x^13 + 196716*x^12 + 156*x^11*j + 21377304*x^11 + 
    364*x^10*j + 835688022*x^10 - 8502*x^9*j + 17348897592*x^9 - 
    37596*x^8*j + 224269358092*x^8 + 149786*x^7*j + 1949972557416*x^7 +
    1161420*x^6*j + 11858099339697*x^6 + 700323*x^5*j + 
    51262531538400*x^5 - 9614956*x^4*j + 157275877324800*x^4 - 
    23669490*x^3*j + 335383326720000*x^3 - 5859360*x^2*j + 
    473336381440000*x^2 + 32384000*x*j + 397934592000000*x + j^2 + 
    24576000*j + 150994944000000
We note however that tn general the Atkin modular polynomials have coefficients of a smaller size when N = 11 mod 12 and are largest when N = 1 mod 13, while the converse is true for the canonical modular polynomials.

 [Next][Prev] [Right] [Left] [Up] [Index] [Root]