Cyclotomic Polynomial Factorization In Finite Fields

2017 ◽  
pp. 125-150
2020 ◽  
Vol 54 (3) ◽  
pp. 65-85
Author(s):  
Joris van der Hoeven ◽  
Michael Monagan

Let p be a prime of the form p = σ2 k + 1 with σ small and let F p denote the finite field with p elements. Let P ( z ) be a polynomial of degree d in F p [ z ] with d distinct roots in F p . For p =5 · 2 55 + 1 we can compute the roots of such polynomials of degree 10 9 . We believe we are the first to factor such polynomials of size one billion. We used a multi-core computer with two 10 core Intel Xeon E5 2680 v2 CPUs and 128 gigabytes of RAM. The factorization takes just under 4,000 seconds on 10 cores and uses 121 gigabytes of RAM. We used the tangent Graeffe root finding algorithm from [27, 19] which is a factor of O (log d ) faster than the Cantor-Zassenhaus algorithm. We implemented the tangent Graeffe algorithm in C using our own library of 64 bit integer FFT based in-place polynomial algorithms then parallelized the FFT and main steps using Cilk C. In this article we discuss the steps of the tangent Graeffe algorithm, the sub-algorithms that we used, how we parallelized them, and how we organized the memory so we could factor a polynomial of degree 10 9 . We give both a theoretical and practical comparison of the tangent Graeffe algorithm with the Cantor-Zassenhaus algorithm for root finding. We improve the complexity of the tangent Graeffe algorithm by a factor of 2. We present a new in-place product tree multiplication algorithm that is fully parallelizable. We present some timings comparing our software with Magma's polynomial factorization command. Polynomial root finding over smooth finite fields is a key ingredient for algorithms for sparse polynomial interpolation that are based on geometric sequences. This application was also one of our main motivations for the present work.


1981 ◽  
Vol 36 (153) ◽  
pp. 281-281 ◽  
Author(s):  
Hiroshi Gunji ◽  
Dennis Arnon

2019 ◽  
Vol 19 (1&2) ◽  
pp. 1-13
Author(s):  
Javad Dolizkani

We present a randomized quantum algorithm for polynomial factorization over finite fields. For polynomials of degree n over a finite field F_q, the average-case complexity of our algorithm is an expected O(n^{1 + o(1)} \log^{2 + o(1)}q) bit operations. Only for a negligible subset of polynomials of degree $n$ our algorithm has a higher complexity of O(n^{4/3 + o(1)} \log^{2 + o(1)}q) bit operations. This breaks the classical 3/2-exponent barrier for polynomial factorization over finite fields \cite{guo2016alg}.


Sign in / Sign up

Export Citation Format

Share Document