Computing low-degree factors of lacunary polynomials: a Newton-Puiseux Approach Bruno Grenet LIRMM — Universit´ e Montpellier 2 JNCF — November 3., 2014
Classical factorization algorithms Factorization of a polynomial f Find f 1 , . . . , f t , irreducible, s.t. f = f 1 × · · · × f t . Bruno Grenet – Computing low-degree factors of lacunary polynomials 2 / 18 �
Classical factorization algorithms Factorization of a polynomial f Find f 1 , . . . , f t , irreducible, s.t. f = f 1 × · · · × f t . ◮ Many algorithms • over Z , Q , Q ( α ) , Q , Q p , F q , R , C , . . . ; • in 1 , 2 , . . . , n variables. ◮ Complexity: polynomial in deg ( f ) Bruno Grenet – Computing low-degree factors of lacunary polynomials 2 / 18 �
Classical factorization algorithms Factorization of a polynomial f Find f 1 , . . . , f t , irreducible, s.t. f = f 1 × · · · × f t . ◮ Many algorithms • over Z , Q , Q ( α ) , Q , Q p , F q , R , C , . . . ; • in 1 , 2 , . . . , n variables. ◮ Complexity: polynomial in deg ( f ) X 102 Y 101 + X 101 Y 102 − X 101 Y 101 − X − Y + 1 = ( X + Y − 1 ) × ( X 101 Y 101 − 1 ) Bruno Grenet – Computing low-degree factors of lacunary polynomials 2 / 18 �
Classical factorization algorithms Factorization of a polynomial f Find f 1 , . . . , f t , irreducible, s.t. f = f 1 × · · · × f t . ◮ Many algorithms • over Z , Q , Q ( α ) , Q , Q p , F q , R , C , . . . ; • in 1 , 2 , . . . , n variables. ◮ Complexity: polynomial in deg ( f ) X 102 Y 101 + X 101 Y 102 − X 101 Y 101 − X − Y + 1 = ( X + Y − 1 ) × ( X 101 Y 101 − 1 ) = ( X + Y − 1 ) × ( XY − 1 ) × ( 1 + XY + · · · + X 100 Y 100 ) Bruno Grenet – Computing low-degree factors of lacunary polynomials 2 / 18 �
Lacunary factorization algorithms Definition k � c j X α 1j · · · X α nj f ( X 1 , . . . , X n ) = n 1 j = 1 � � ◮ size ( f ) ≃ k max j ( size ( c j )) + n log ( deg f ) Bruno Grenet – Computing low-degree factors of lacunary polynomials 3 / 18 �
Lacunary factorization algorithms Definition k � c j X α 1j · · · X α nj f ( X 1 , . . . , X n ) = n 1 j = 1 � � ◮ size ( f ) ≃ k max j ( size ( c j )) + n log ( deg f ) Theorems There exist deterministic polynomial-time algorithms computing ◮ linear factors (integer roots) of f ∈ Z [ X ] ; [Cucker-Koiran-Smale’98] ◮ low-degree factors of f ∈ Q ( α )[ X ] ; [H. Lenstra’99] ◮ low-degree factors of f ∈ Q ( α )[ X 1 , . . . , X n ] . [Kaltofen-Koiran’06] Bruno Grenet – Computing low-degree factors of lacunary polynomials 3 / 18 �
Lacunary factorization algorithms Definition k � c j X α 1j · · · X α nj f ( X 1 , . . . , X n ) = n 1 j = 1 � � ◮ size ( f ) ≃ k max j ( size ( c j )) + n log ( deg f ) Theorems There exist deterministic polynomial-time algorithms computing ◮ linear factors (integer roots) of f ∈ Z [ X ] ; [Cucker-Koiran-Smale’98] ◮ low-degree factors of f ∈ Q ( α )[ X ] ; [H. Lenstra’99] ◮ low-degree factors of f ∈ Q ( α )[ X 1 , . . . , X n ] . [Kaltofen-Koiran’06] It is NP -hard to compute roots of f ∈ F p [ X ] . [Bi-Cheng-Rojas’13] Bruno Grenet – Computing low-degree factors of lacunary polynomials 3 / 18 �
Main result Let K be any field of characteristic 0 . Theorem The computation of the degree- d factors of f ∈ K [ X 1 , . . . , X n ] reduces to ◮ univariate lacunary factorizations plus post-processing, and ◮ multivariate low-degree factorization, in poly ( size ( f ) , d ) bit operations. Bruno Grenet – Computing low-degree factors of lacunary polynomials 4 / 18 �
Main result Let K be any field of characteristic 0 . Theorem The computation of the degree- d factors of f ∈ K [ X 1 , . . . , X n ] reduces to ◮ univariate lacunary factorizations plus post-processing, and ◮ multivariate low-degree factorization, in poly ( size ( f ) , d ) bit operations. ◮ New algorithm for K = Q ( α ) ; some factors for K = Q , R , C , Q p Bruno Grenet – Computing low-degree factors of lacunary polynomials 4 / 18 �
Main result Let K be any field of characteristic 0 . Theorem The computation of the degree- d factors of f ∈ K [ X 1 , . . . , X n ] reduces to ◮ univariate lacunary factorizations plus post-processing, and ◮ multivariate low-degree factorization, in poly ( size ( f ) , d ) bit operations. ◮ New algorithm for K = Q ( α ) ; some factors for K = Q , R , C , Q p ◮ Case d = 1 [G.-Chattopadhyay-Koiran-Portier-Strozecki’13] Bruno Grenet – Computing low-degree factors of lacunary polynomials 4 / 18 �
Two kinds of factors Definition A polynomial g = � j b j X γ j Y δ j is ( p, q ) -homogeneous of order ω if pγ j + qδ j = ω for all j . Otherwise, g is said inhomogeneous . Bruno Grenet – Computing low-degree factors of lacunary polynomials 5 / 18 �
Two kinds of factors Definition A polynomial g = � j b j X γ j Y δ j is ( p, q ) -homogeneous of order ω if pγ j + qδ j = ω for all j . Otherwise, g is said inhomogeneous . Y 6 • 5 • • 4 • • • 3 • • 2 1 • 0 1 2 3 4 5 6 7 X Univariate lacunary factorization Bruno Grenet – Computing low-degree factors of lacunary polynomials 5 / 18 �
Two kinds of factors Definition A polynomial g = � j b j X γ j Y δ j is ( p, q ) -homogeneous of order ω if pγ j + qδ j = ω for all j . Otherwise, g is said inhomogeneous . Y Y • 6 6 • • • 5 5 • • • • 4 4 • • • • • • 3 3 • • • • 2 2 • 1 1 • • 0 1 2 3 4 5 6 7 X 0 1 2 3 4 5 6 7 X Univariate lacunary factorization Multivariate low-degree factorization Bruno Grenet – Computing low-degree factors of lacunary polynomials 5 / 18 �
Weighted-homogeneous factors Y 6 • 5 • • 4 • • • 3 • • 2 1 • 0 1 2 3 4 5 6 7 X Bruno Grenet – Computing low-degree factors of lacunary polynomials 6 / 18 �
Weighted-homogeneous factors Y 6 Reduction to the univariate case • 5 • • 4 If f , g are ( p, q ) -homogeneous, • • • 3 g divides f ⇐ ⇒ • • 2 g ( X 1/q , 1 ) divides f ( X 1/q , 1 ) 1 • 0 1 2 3 4 5 6 7 X Bruno Grenet – Computing low-degree factors of lacunary polynomials 6 / 18 �
Weighted-homogeneous factors Y 6 Reduction to the univariate case • 5 • • 4 If f , g are ( p, q ) -homogeneous, • • • 3 g divides f ⇐ ⇒ • • 2 g ( X 1/q , 1 ) divides f ( X 1/q , 1 ) 1 • 0 1 2 3 4 5 6 7 X For all possible pairs ( p, q ) : 1. Write f = f 1 + · · · + f s as a sum of ( p, q ) -hom. polynomials; 2. Compute the common degree- d factors of the f t ( X 1/q , 1 ) ’s; � univariate lacunary factorization (number fields) 3. Return Y p deg ( g ) g ( X q /Y p ) for each factor g . Bruno Grenet – Computing low-degree factors of lacunary polynomials 6 / 18 �
The multivariate case ◮ Weighted-homogeneous factors � Unidimensional factors : g ∈ K [ Z ] s.t. g ( X 1 , . . . , X n ) = X γ g ( X δ ) ∃ ˜ Bruno Grenet – Computing low-degree factors of lacunary polynomials 7 / 18 �
The multivariate case ◮ Weighted-homogeneous factors � Unidimensional factors : g ∈ K [ Z ] s.t. g ( X 1 , . . . , X n ) = X γ g ( X δ ) ∃ ˜ For all pairs of monomials ( X α 1 , X α 2 ) : 1. Write f = f 1 + · · · + f s as a sum of unidimensional polynomials; 2. Compute the degree- d factors of the ˜ f t ’s; � univariate lacunary factorization 3. Return X γ g ( X δ ) for each factor g . Bruno Grenet – Computing low-degree factors of lacunary polynomials 7 / 18 �
Linear factors of bivariate polynomials [Chattopadhyay-G.-Koiran-Portier-Strozecki’13] Observation ( Y − uX − v ) divides f ( X, Y ) ⇐ ⇒ f ( X, uX + v ) ≡ 0 Bruno Grenet – Computing low-degree factors of lacunary polynomials 8 / 18 �
Linear factors of bivariate polynomials [Chattopadhyay-G.-Koiran-Portier-Strozecki’13] Observation ( Y − uX − v ) divides f ( X, Y ) ⇐ ⇒ f ( X, uX + v ) ≡ 0 Theorem ℓ � ℓ � � c j X α j ( uX + v ) β j � α 1 + if nonzero and uv � = 0 . val 2 j = 1 Bruno Grenet – Computing low-degree factors of lacunary polynomials 8 / 18 �
Linear factors of bivariate polynomials [Chattopadhyay-G.-Koiran-Portier-Strozecki’13] Observation ( Y − uX − v ) divides f ( X, Y ) ⇐ ⇒ f ( X, uX + v ) ≡ 0 Theorem ℓ � ℓ � � c j X α j ( uX + v ) β j � α 1 + if nonzero and uv � = 0 . val 2 j = 1 Gap Theorem � ℓ ( f 1 ) � Suppose that f = f 1 + f 2 with val X ( f 2 ) > val X ( f 1 )+ . Then 2 for all uv � = 0 , ( Y − uX − v ) divides f iff it divides both f 1 and f 2 . Bruno Grenet – Computing low-degree factors of lacunary polynomials 8 / 18 �
Puiseux series Observation for low-degree factors g ( X, Y ) divides f ( X, Y ) ⇐ ⇒ f ( X, φ ( X )) ≡ 0 Bruno Grenet – Computing low-degree factors of lacunary polynomials 9 / 18 �
Puiseux series Observation for low-degree factors g ( X, Y ) divides f ( X, Y ) ⇐ ⇒ f ( X, φ ( X )) ≡ 0 deg Y ( g ) � g ( X, Y ) = g 0 ( X ) ( Y − φ i ( X )) ∈ K ( X )[ Y ] i = 1 Bruno Grenet – Computing low-degree factors of lacunary polynomials 9 / 18 �
Recommend
More recommend