Presentation is loading. Please wait.

Presentation is loading. Please wait.

Fast Polynomial Factorization and Modular Composition Chris Umans Caltech joint work with Kiran Kedlaya (MIT) [Umans STOC 08] + [Kedlaya-Umans FOCS 08]

Similar presentations


Presentation on theme: "Fast Polynomial Factorization and Modular Composition Chris Umans Caltech joint work with Kiran Kedlaya (MIT) [Umans STOC 08] + [Kedlaya-Umans FOCS 08]"— Presentation transcript:

1 Fast Polynomial Factorization and Modular Composition Chris Umans Caltech joint work with Kiran Kedlaya (MIT) [Umans STOC 08] + [Kedlaya-Umans FOCS 08]

2 Introduction A basic problem: given: degree n polynomial A(X) output: factorization into irreducible polynomials Example: given: A(X) = x 3 – 1 output: (x 2 + x + 1)(x – 1) Nov. 18, 20092

3 Introduction factoring a degree n polynomial A(X) with coefficients in F q is easy Why? can easily compute (X q i – X) mod A(X) (contains all potential factors of degree dividing i; use GCD, and i = 1,2,3…, n) Nov. 18, 20093

4 4 Introduction polynomial-time factoring in F q [X] [ Berlekamp, Cantor-Zassenhaus ] : –make A(X) square-free –distinct degree factorization: A(X) = A 1 (X)A 2 (X)...A i (X)…A n (X) –equal-degree factorization: A i (X) = g 1 (X)g 2 (X)…g k (X) product of degree i polynomials irreducible factors

5 Nov. 18, Bottleneck in algorithms how to compute this polynomial quickly: (X q i – X) mod A(X) deg(A) = n; i ≤ n

6 Nov. 18, Bottleneck in algorithms how to compute this polynomial quickly: X q i mod A(X) –repeated squaring: log(q i ) = i log q operations “operations” = modular addition, multiplication, composition of degree n polynomials deg(A) = n; i ≤ n

7 Nov. 18, Bottleneck in algorithms how to compute this polynomial quickly: X q i mod A(X) –repeated squaring: log(q i ) = i log q operations –modular composition: log q + log i operations compute X q mod A(X) using repeated squaring compose it with itself (X q ) q = X q 2 compose it with itself again (X q 2 ) q 2 = X q 4 “operations” = modular addition, multiplication, composition of degree n polynomials deg(A) = n; i ≤ n mod A(X) von zur Gathen + Shoup 1992

8 Nov. 18, Operations on polynomials degree n polynomials f(X), g(X), A(X) Operation:Time: f(X) + g(X) mod A(X) O’(n) f(X)g(X) mod A(X)O’(n) f(  0 ), …, f(  n )O’(n) find f(X): f(  0 )=  0, …, f(  n ) =  n O’(n) f(g(X)) mod A(X)O’(n )

9 Nov. 18, Modular composition given deg. n polynomials f(X), g(X), A(X) compute f(g(X)) mod A(X) trivial in time O’(n 2 ) best known [Brent-Kung 1978; Huang-Pan 1997] O’(n ) (= O(n n  2 /2 ) ) –idea: reduce problem to matrix multiplication This work: O’(n)

10 Outline reduce to “ multivariate multipoint evaluation ” new algorithm via multimodular reduction ) data structure for polynomial evaluation ) faster algorithms for polynomial factorization and other problems Nov. 18,

11 Nov. 18, The reduction convert f(X) to multilinear: f(X 0,X 1,…,X log n-1 ) f(X) = f(X, X 2, X 4, X 8, …, X n/2 ) compute g 2 i (X) mod A(X) (call this g i (X)) for i = 0,1,2,…, log n -1 note: f(g(X)) ´ f(g 0 (X), …, g log n-1 (X)) mod A(X) given deg. n=2 m polynomials f(X), g(X), A(X) compute f(g(X)) mod A(X)

12 Nov. 18, The reduction f(X) = f(X, X 2, X 4, X 8, …, X n/2 ) f(g(X)) ´ f(g 0 (X), …, g log n-1 (X)) mod A(X) idea: evaluate at n ¢ log n points; –evaluate each g i at n ¢ log n points –evaluate f at these n ¢ log n points in (F q ) log n then interpolate; reduce modulo A(X) degree n ¢ log n given deg. n=2 m polynomials f(X), g(X), A(X) compute f(g(X)) mod A(X)

13 Nov. 18, Multipoint evaluation Recall univariate case: –given degree n polynomial f(X) 2 F q [X] and points  0,  1, …,  n –can compute f(  0 ), …, f(  n ) in time O’(n) Multivariate case harder: –given f(X 1, X 2, …, X m ) 2 F q [X 1, X 2, …, X m ] with individual degrees · d, and  0,  1, …,  N=d m –can compute f(  0 ), …, f(  N ) in time O’(N  m ) where <  m < [Nüsken-Ziegler 2004]

14 If N points are all of F q m then computable in O’(N) time via (multidimensional, finite field) FFT Nov. 18, Multivariate multipoint evaluation given f(X 1,X 2,…,X m ), ind. deg

15 Assume working over F p Lift coefficients of f and the coordinates of each ® i to {0,1, 2, …, p-1} µ Z In integers, f( ® i ) · d m p dm = M Solve problem mod primes p 1, p 2, …, p k with p 1 p 2 …p k ¸ M (so p j · O(log M)) reconstruct via Chinese Remainder Thm. repeat; magnitude of the p j ! ¼ dm Nov. 18, Multivariate multipoint evaluation

16 What happens to the eval. pts.? Nov. 18, (after few rounds) can afford to compute all evaluations at cost ¼ (dm) m (ideal cost: d m ) (mod 7) (mod 2)(mod 3) (mod 5)

17 Nov. 18, 2009 Multivariate multipoint evaluation given f(X 1,X 2,…,X m ), ind. deg 0, can solve above problem in time (d m + N) 1+ ± log 1+o(1) q provided m · d o(1). 17

18 Data structure for poly. eval. Observation: reduced f’s and tables of evaluations over entire domains don’t depend on the set of evaluation points Nov. 18, Theorem: given degree n poly f(X) over F q, can produce a data structure in nearly- linear time that answers evaluation queries ® 2 F q in time polylog(n) ¢ log 1+o(1) q.

19 Nov. 18, Algorithmic improvements modular composition in nearly-linear time (as well as its “transpose” problem) ) faster algorithms for –polynomial factorization: O’(n nlog q) ¢ log q (best previous O’(n 2 + n log q) ¢ log q or O’(n log q) ¢ log q ) von zur Gathen + Shoup ‘92 Kaltofen + Shoup ‘98 –irreducibility testing: O’(n log q) ¢ log q –finding minimal polynomials: O’(n log q) (improved exponents in all cases)

20 Nov. 18, Open problems Find an O’(n) algebraic algorithm for modular composition/multivariate multipoint evaluation in any characteristic Find a fast algorithm for multivariate multipoint evaluation when m > d o(1) Find a nearly-linear time algorithm for polynomial factorization


Download ppt "Fast Polynomial Factorization and Modular Composition Chris Umans Caltech joint work with Kiran Kedlaya (MIT) [Umans STOC 08] + [Kedlaya-Umans FOCS 08]"

Similar presentations


Ads by Google