Abstract :
We give an algorithm for modular composition of degree n univariate polynomials over a finite field Fq requiring n 1 + o(1) log1 + o(1) q bit operations; this had earlier been achieved in characteristic no(1) by Umans (2008). As an application, we obtain a randomized algorithm for factoring degree n polynomials over Fq requiring (n1.5 + o(1) + n 1 + o(1) log q) log1 + o(1) q bit operations, improving upon the methods of von zur Gathen & Shoup (1992) and Kaltofen & Shoup (1998). Our results also imply algorithms for irreducibility testing and computing minimal polynomials whose running times are best-possible, up to lower order terms.As in Umans (2008), we reduce modular composition to certain instances of multipoint evaluation of multivariate polynomials. We then give an algorithm that solves this problem optimally (up to lower order terms), in arbitrary characteristic. The main idea is to lift to characteristic 0, apply a small number of rounds of multimodular reduction, and finish with a small number of multidimensional FFTs. The final evaluations are then reconstructed using the Chinese Remainder Theorem. As a bonus, we obtain a very efficient data structure supporting polynomial evaluation queries, which is of independent interest. Our algorithm uses techniques which are commonly employed in practice, so it may be competitive for real problem sizes. This contrasts with previous asymptotically fast methods relying on fast matrix multiplication.
Keywords :
fast Fourier transforms; matrix multiplication; polynomials; Chinese Remainder Theorem; data structure; irreducibility testing; matrix multiplication; modular composition; multidimensional FFT; multimodular reduction; multivariate polynomials; randomized algorithm; univariate polynomials; Application software; Computer science; Data structures; Engineering profession; Flexible printed circuits; Galois fields; Mathematics; Multidimensional systems; Polynomials; Testing; modular composition; multimodular reduction; multipoint evaluation; polynomial factorization;