Abstract

We analyse and compare the complexity of several algorithms for computing modular polynomials. Under the assumption that rounding errors do not influence the correctness of the result, which appears to be satisfied in practice, we show that an algorithm relying on floating point evaluation of modular functions and on interpolation has a complexity that is up to logarithmic factors linear in the size of the computed polynomials. In particular, it obtains the classical modular polynomial $\Phi _\ell$ of prime level $\ell$ in time \[ O \left (\ell ^2 \log ^3 \ell M (\ell ) \right ) \subseteq O \left ( \ell ^3 \log ^{4 + \varepsilon }\ell \right ), \] where $M(\ell )$ is the time needed to multiply two $\ell$-bit numbers. Besides treating modular polynomials for $\Gamma ^0 (\ell )$, which are an important ingredient in many algorithms dealing with isogenies of elliptic curves, the algorithm is easily adapted to more general situations. Composite levels are handled just as easily as prime levels, as well as polynomials between a modular function and its transform of prime level, such as the Schläfli polynomials and their generalisations. Our distributed implementation of the algorithm confirms the theoretical analysis by computing modular equations of record level around $10000$ in less than two weeks on ten processors.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call