Computing low-degree factors of lacunary polynomials: a

Computing low-degree factors of lacunary polynomials:
a Newton-Puiseux Approach
Bruno Grenet
LIX — École Polytechnique
Classical factorization algorithms
Factorization of a polynomial f
Find f1 , . . . , ft , irreducible, s.t. f = f1 × · · · × ft .
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
2 / 28
Classical factorization algorithms
Factorization of a polynomial f
Find f1 , . . . , ft , irreducible, s.t. f = f1 × · · · × ft .
◮
Algorithms for polynomials over Z, Q, Q(α), Q, Qp , Fq , R, C, . . .
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
2 / 28
Classical factorization algorithms
Factorization of a polynomial f
Find f1 , . . . , ft , irreducible, s.t. f = f1 × · · · × ft .
◮
Algorithms for polynomials over Z, Q, Q(α), Q, Qp , Fq , R, C, . . .
◮
Complexity: polynomial in deg(f)
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
2 / 28
Classical factorization algorithms
Factorization of a polynomial f
Find f1 , . . . , ft , irreducible, s.t. f = f1 × · · · × ft .
◮
Algorithms for polynomials over Z, Q, Q(α), Q, Qp , Fq , R, C, . . .
◮
Complexity: polynomial in deg(f)
X102 Y 101 + X101 Y 102 − X101 Y 101 − X − Y + 1
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
2 / 28
Classical factorization algorithms
Factorization of a polynomial f
Find f1 , . . . , ft , irreducible, s.t. f = f1 × · · · × ft .
◮
Algorithms for polynomials over Z, Q, Q(α), Q, Qp , Fq , R, C, . . .
◮
Complexity: polynomial in deg(f)
X102 Y 101 + X101 Y 102 − X101 Y 101 − X − Y + 1
= (X + Y − 1) × (X101 Y 101 − 1)
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
2 / 28
Classical factorization algorithms
Factorization of a polynomial f
Find f1 , . . . , ft , irreducible, s.t. f = f1 × · · · × ft .
◮
Algorithms for polynomials over Z, Q, Q(α), Q, Qp , Fq , R, C, . . .
◮
Complexity: polynomial in deg(f)
X102 Y 101 + X101 Y 102 − X101 Y 101 − X − Y + 1
= (X + Y − 1) × (X101 Y 101 − 1)
= (X + Y − 1) × (XY − 1) × (1 + XY + · · · + X100 Y 100 )
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
2 / 28
Descartes’ rule without signs
Let f ∈ K[X], for some field or ring K.
◮
For all K, #ZK (f) 6 deg(f)
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
3 / 28
Descartes’ rule without signs
Let f ∈ K[X], for some field or ring K.
◮
For all K, #ZK (f) 6 deg(f)
◮
If K = Z, Q or R, #ZK (f) 6 2k − 1 where k is the number of
nonzero terms of f.
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
3 / 28
Descartes’ rule without signs
Let f ∈ K[X], for some field or ring K.
◮
For all K, #ZK (f) 6 deg(f)
◮
If K = Z, Q or R, #ZK (f) 6 2k − 1 where k is the number of
nonzero terms of f.
Definition
Let f(X1 , . . . , Xn ) =
k
X
α
α
cj X1 1j · · · Xnnj of degree d
j=1
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
3 / 28
Descartes’ rule without signs
Let f ∈ K[X], for some field or ring K.
◮
For all K, #ZK (f) 6 deg(f)
◮
If K = Z, Q or R, #ZK (f) 6 2k − 1 where k is the number of
nonzero terms of f.
Definition
Let f(X1 , . . . , Xn ) =
k
X
α
α
cj X1 1j · · · Xnnj of degree d
j=1
Lacunary representation: {(cj , α1j , . . . , αnj ) : 1 6 j 6 k}
P
◮ size(f) ≃
j size(cj ) + log(α1j ) + · · · + log(αnj )
6 k maxj (size(cj )) + n log(d)
◮
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
3 / 28
Integral roots of integral polynomials
Theorem
[Cucker-Koiran-Smale’98]
There exists a deterministic polynomial-time algorithm to compute the integer roots of a lacunary polynomial f ∈ Z[X].
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
4 / 28
Integral roots of integral polynomials
Theorem
[Cucker-Koiran-Smale’98]
There exists a deterministic polynomial-time algorithm to compute the integer roots of a lacunary polynomial f ∈ Z[X].
Gap Theorem
Let
[Cucker-Koiran-Smale’98]
f(X) =
ℓ
X
c j X αj +
j=1
|
k
X
cj Xαj ∈ Z[X]
j=ℓ+1
{z
f1
}
|
{z
f2
}
with α1 6 · · · 6 αk and αℓ+1 − αℓ > 1 + maxj (size(cj )). Then
for |x| > 2, f(x) = 0 =⇒ f1 (x) = f2 (x) = 0.
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
4 / 28
Integral roots of integral polynomials
Theorem
[Cucker-Koiran-Smale’98]
There exists a deterministic polynomial-time algorithm to compute the integer roots of a lacunary polynomial f ∈ Z[X].
Gap Theorem
Let
[Cucker-Koiran-Smale’98]
f(X) =
ℓ
X
c j X αj +
j=1
|
k
X
cj Xαj ∈ Z[X]
j=ℓ+1
{z
f1
}
|
{z
f2
}
with α1 6 · · · 6 αk and αℓ+1 − αℓ > 1 + maxj (size(cj )). Then
for |x| > 2, f(x) = 0 =⇒ f1 (x) = f2 (x) = 0.
−9 + X2 + 6 X7 + 2 X8 = −9 + X2 + X7 (6 + 2 X)
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
4 / 28
Factorization of lacunary polynomials
Theorems
There exist deterministic polynomial-time algorithms computing
◮
linear factors of f ∈ Z[X];
[Cucker-Koiran-Smale’98]
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
5 / 28
Factorization of lacunary polynomials
Theorems
There exist deterministic polynomial-time algorithms computing
◮
linear factors of f ∈ Z[X];
◮
low-degree factors of f ∈ Q(α)[X];
[Cucker-Koiran-Smale’98]
[H. Lenstra’99]
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
5 / 28
Factorization of lacunary polynomials
Theorems
There exist deterministic polynomial-time algorithms computing
◮
linear factors of f ∈ Z[X];
◮
low-degree factors of f ∈ Q(α)[X];
◮
low-degree factors of f ∈ Q(α)[X1 , . . . , Xn ].
[Cucker-Koiran-Smale’98]
[H. Lenstra’99]
[Kaltofen-Koiran’06]
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
5 / 28
Factorization of lacunary polynomials
Theorems
There exist deterministic polynomial-time algorithms computing
◮
linear factors of f ∈ Z[X];
◮
low-degree factors of f ∈ Q(α)[X];
◮
low-degree factors of f ∈ Q(α)[X1 , . . . , Xn ].
◮
[Cucker-Koiran-Smale’98]
[H. Lenstra’99]
[Kaltofen-Koiran’06]
Only available for number fields
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
5 / 28
Factorization of lacunary polynomials
Theorems
There exist deterministic polynomial-time algorithms computing
◮
linear factors of f ∈ Z[X];
◮
low-degree factors of f ∈ Q(α)[X];
◮
low-degree factors of f ∈ Q(α)[X1 , . . . , Xn ].
◮
Only available for number fields
◮
Based on number-theoretic results
[Cucker-Koiran-Smale’98]
[H. Lenstra’99]
[Kaltofen-Koiran’06]
theoretical algorithms
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
5 / 28
Factorization of lacunary polynomials
Theorems
There exist deterministic polynomial-time algorithms computing
◮
linear factors of f ∈ Z[X];
◮
low-degree factors of f ∈ Q(α)[X];
◮
low-degree factors of f ∈ Q(α)[X1 , . . . , Xn ].
◮
Only available for number fields
◮
Based on number-theoretic results
[Cucker-Koiran-Smale’98]
[H. Lenstra’99]
[Kaltofen-Koiran’06]
theoretical algorithms
Generalization to other fields? More practical algorithms?
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
5 / 28
Main result
Let K be any field of characteristic 0.
Theorem
[G.’14]
Let f ∈ K[X1 , . . . , Xn ], of degree D with k nonzero terms, and d
an integer. The computation of the degree-d factors of f reduces
to
◮
the computation of the degree-d factors of (nk)O(1) lacunary
polynomials of K[X], and
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
6 / 28
Main result
Let K be any field of characteristic 0.
Theorem
[G.’14]
Let f ∈ K[X1 , . . . , Xn ], of degree D with k nonzero terms, and d
an integer. The computation of the degree-d factors of f reduces
to
◮
the computation of the degree-d factors of (nk)O(1) lacunary
polynomials of K[X], and
◮
the factorization of polynomials of K[X1 , . . . , Xn ] of total degree
sum at most (nk log(D) + d)O(1) ,
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
6 / 28
Main result
Let K be any field of characteristic 0.
Theorem
[G.’14]
Let f ∈ K[X1 , . . . , Xn ], of degree D with k nonzero terms, and d
an integer. The computation of the degree-d factors of f reduces
to
◮
the computation of the degree-d factors of (nk)O(1) lacunary
polynomials of K[X], and
◮
the factorization of polynomials of K[X1 , . . . , Xn ] of total degree
sum at most (nk log(D) + d)O(1) ,
plus at most (nk log D + d)O(1) bit operations.
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
6 / 28
Main result
Let K be any field of characteristic 0.
Theorem
[G.’14]
Let f ∈ K[X1 , . . . , Xn ], of degree D with k nonzero terms, and d
an integer. The computation of the degree-d factors of f reduces
to
◮
the computation of the degree-d factors of (nk)O(1) lacunary
polynomials of K[X], and
◮
the factorization of polynomials of K[X1 , . . . , Xn ] of total degree
sum at most (nk log(D) + d)O(1) ,
plus at most (nk log D + d)O(1) bit operations.
◮
New algorithm for K = Q(α);
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
6 / 28
Main result
Let K be any field of characteristic 0.
Theorem
[G.’14]
Let f ∈ K[X1 , . . . , Xn ], of degree D with k nonzero terms, and d
an integer. The computation of the degree-d factors of f reduces
to
◮
the computation of the degree-d factors of (nk)O(1) lacunary
polynomials of K[X], and
◮
the factorization of polynomials of K[X1 , . . . , Xn ] of total degree
sum at most (nk log(D) + d)O(1) ,
plus at most (nk log D + d)O(1) bit operations.
◮
New algorithm for K = Q(α);
◮
Computation of some factors for K = Q, R, C, Qp ;
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
6 / 28
Main result
Let K be any field of characteristic 0.
Theorem
[G.’14]
Let f ∈ K[X1 , . . . , Xn ], of degree D with k nonzero terms, and d
an integer. The computation of the degree-d factors of f reduces
to
◮
the computation of the degree-d factors of (nk)O(1) lacunary
polynomials of K[X], and
◮
the factorization of polynomials of K[X1 , . . . , Xn ] of total degree
sum at most (nk log(D) + d)O(1) ,
plus at most (nk log D + d)O(1) bit operations.
◮
New algorithm for K = Q(α);
◮
Computation of some factors for K = Q, R, C, Qp ;
◮
Positive characteristic: discussed later.
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
6 / 28
Linear factors of bivariate lacunary polynomials
joint work with
A. Chattopadhyay, P. Koiran, N. Portier & Y. Strozecki
Linear factors of bivariate polynomials
Observation
(Y − uX − v) divides f(X, Y) ⇐⇒ f(X, uX + v) ≡ 0
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
8 / 28
Linear factors of bivariate polynomials
Observation
(Y − uX − v) divides f(X, Y) ⇐⇒ f(X, uX + v) ≡ 0
Gap Theorem
Let
f=
ℓ
X
[Chattopadhyay-G.-Koiran-Portier-Strozecki’13]
αj
cj X (uX + v)
βj
j=1
|
+
k
X
cj Xαj (uX + v)βj
j=ℓ+1
{z
f1
}
|
{z
f2
}
with uv 6= 0, α1 6 · · · 6 αk . If ℓ is the smallest index s.t.
ℓ
αℓ+1 > α1 +
,
2
then f ≡ 0 iff both f1 ≡ 0 and f2 ≡ 0.
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
8 / 28
Bound on the valuation
K: any field of characteristic 0
Definition
val(f) = max {v : Xv divides f}
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
9 / 28
Bound on the valuation
K: any field of characteristic 0
Definition
val(f) = max {v : Xv divides f}
Theorem
ℓ
X
Let f =
cj Xαj (uX+v)βj 6≡ 0, with uv 6= 0 and α1 6 · · · 6 αℓ .
j=1
Then, if the family (Xαj (uX + v)βj )j is linearly independent,
ℓ
.
val(f) 6 α1 +
2
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
9 / 28
The Wronskian
Definition
Let f1 ,. . . , fℓ ∈ K[X]. Then



wr(f1 , . . . , fℓ ) = det 

f1
f1′
..
.
(ℓ−1)
f1
f2
f2′
..
.
...
...
(ℓ−1)
...
f2
fℓ
fℓ′
..
.
(ℓ−1)
fℓ



.

Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
10 / 28
The Wronskian
Definition
Let f1 ,. . . , fℓ ∈ K[X]. Then



wr(f1 , . . . , fℓ ) = det 

Proposition
f1
f1′
..
.
(ℓ−1)
f1
f2
f2′
..
.
...
...
(ℓ−1)
...
f2
fℓ
fℓ′
..
.
(ℓ−1)
fℓ



.

[Bôcher, 1900]
wr(f1 , . . . , fℓ ) 6= 0 ⇐⇒ the fj ’s are linearly independent.
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
10 / 28
Wronskian & valuation
Lemma
val(wr(f1 , . . . , fℓ )) >
ℓ
X
j=1
val(fj ) −
ℓ
2
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
11 / 28
Wronskian & valuation
Lemma
val(wr(f1 , . . . , fℓ )) >
ℓ
X
val(fj ) −
j=1
ℓ
2
Lemma
Let fj = Xαj (uX + v)βj , uv 6= 0, linearly independent, and s.t.
αj , βj > ℓ. Then
ℓ
ℓ
X
X
val(wr(f1 , . . . , fℓ )) 6
αj =
val(fj ).
j=1
j=1
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
11 / 28
Wronskian & valuation
Lemma
val(wr(f1 , . . . , fℓ )) >
ℓ
X
val(fj ) −
j=1
ℓ
2
Lemma
Let fj = Xαj (uX + v)βj , uv 6= 0, linearly independent, and s.t.
αj , βj > ℓ. Then
ℓ
ℓ
X
X
val(wr(f1 , . . . , fℓ )) 6
αj =
val(fj ).
j=1
j=1
Proof of the theorem. wr(f, f2 , . . . , fℓ ) = c1 wr(f1 , . . . , fℓ )
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
11 / 28
Wronskian & valuation
Lemma
val(wr(f1 , . . . , fℓ )) >
ℓ
X
val(fj ) −
j=1
ℓ
2
Lemma
Let fj = Xαj (uX + v)βj , uv 6= 0, linearly independent, and s.t.
αj , βj > ℓ. Then
ℓ
ℓ
X
X
val(wr(f1 , . . . , fℓ )) 6
αj =
val(fj ).
j=1
j=1
Proof of the theorem. wr(f, f2 , . . . , fℓ ) = c1 wr(f1 , . . . , fℓ )
ℓ
ℓ
X
X
ℓ
αj > val(wr(f1 , . . . , fℓ )) > val(f) +
αj −
2
j=1
j=2
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
11 / 28
Finding linear factors
Observation + Gap Theorem (recursively)
(Y − uX − v) divides f(X, Y)
⇐⇒ f(X, uX + v) ≡ 0
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
12 / 28
Finding linear factors
Observation + Gap Theorem (recursively)
(Y − uX − v) divides f(X, Y)
⇐⇒ f(X, uX + v) ≡ 0
⇐⇒ f1 (X, uX + v) ≡ · · · ≡ fs (X, uX + v) ≡ 0
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
12 / 28
Finding linear factors
Observation + Gap Theorem (recursively)
(Y − uX − v) divides f(X, Y)
⇐⇒ f(X, uX + v) ≡ 0
⇐⇒ f1 (X, uX + v) ≡ · · · ≡ fs (X, uX + v) ≡ 0
⇐⇒ (Y − uX − v) divides each ft (X, Y)
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
12 / 28
Finding linear factors
Observation + Gap Theorem (recursively)
(Y − uX − v) divides f(X, Y)
⇐⇒ f(X, uX + v) ≡ 0
⇐⇒ f1 (X, uX + v) ≡ · · · ≡ fs (X, uX + v) ≡ 0
⇐⇒ (Y − uX − v) divides each ft (X, Y)
◮
ft =
jt +ℓ
t −1
X
cj Xαj Y βj with αjt +ℓt −1 − αjt 6
j=jt
ℓt
2
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
12 / 28
Finding linear factors
Observation + Gap Theorem (recursively)
(Y − uX − v) divides f(X, Y)
⇐⇒ f(X, uX + v) ≡ 0
⇐⇒ f1 (X, uX + v) ≡ · · · ≡ fs (X, uX + v) ≡ 0
⇐⇒ (Y − uX − v) divides each ft (X, Y)
◮
ft =
jt +ℓ
t −1
X
cj Xαj Y βj with αjt +ℓt −1 − αjt 6
j=jt
◮
ℓt
2
Independent from u and v
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
12 / 28
Finding linear factors
Observation + Gap Theorem (recursively)
(Y − uX − v) divides f(X, Y)
⇐⇒ f(X, uX + v) ≡ 0
⇐⇒ f1 (X, uX + v) ≡ · · · ≡ fs (X, uX + v) ≡ 0
⇐⇒ (Y − uX − v) divides each ft (X, Y)
◮
ft =
jt +ℓ
t −1
X
cj Xαj Y βj with αjt +ℓt −1 − αjt 6
j=jt
◮
Independent from u and v
◮
X does not play a special role
ℓt
2
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
12 / 28
Example
f = X31 Y 6 − 2 X30 Y 7 + X29 Y 8 − X29 Y 6 + X18 Y 13
− X16 Y 15 + X17 Y 13 + X16 Y 14 + X10 Y 2 − X9 Y 3
+ X9 Y 2 − X5 Y 6 + X3 Y 8 − 2 X3 Y 7 + X3 Y 6
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
13 / 28
Example
f = X31 Y 6 − 2 X30 Y 7 + X29 Y 8 − X29 Y 6 + X18 Y 13
− X16 Y 15 + X17 Y 13 + X16 Y 14 + X10 Y 2 − X9 Y 3
+ X9 Y 2 − X5 Y 6 + X3 Y 8 − 2 X3 Y 7 + X3 Y 6
Y
•
•
15
••
10
5
•
•
• •
•
•
• •
•
••
0
5
10
15
20
25
30 X
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
13 / 28
Example
f = X31 Y 6 − 2 X30 Y 7 + X29 Y 8 − X29 Y 6 + X18 Y 13
− X16 Y 15 + X17 Y 13 + X16 Y 14 + X10 Y 2 − X9 Y 3
+ X9 Y 2 − X5 Y 6 + X3 Y 8 − 2 X3 Y 7 + X3 Y 6
Y
•
•
15
••
10
5
•
•
• •
•
•
• •
•
••
0
5
10
15
20
25
30 X
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
13 / 28
Example
f = X31 Y 6 − 2 X30 Y 7 + X29 Y 8 − X29 Y 6 + X18 Y 13
− X16 Y 15 + X17 Y 13 + X16 Y 14 + X10 Y 2 − X9 Y 3
+ X9 Y 2 − X5 Y 6 + X3 Y 8 − 2 X3 Y 7 + X3 Y 6
Y
•
•
15
••
10
5
•
•
• •
•
•
• •
•
••
0
5
10
15
20
25
30 X
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
13 / 28
Example
f = X31 Y 6 − 2 X30 Y 7 + X29 Y 8 − X29 Y 6 + X18 Y 13
− X16 Y 15 + X17 Y 13 + X16 Y 14 + X10 Y 2 − X9 Y 3
+ X9 Y 2 − X5 Y 6 + X3 Y 8 − 2 X3 Y 7 + X3 Y 6
Y
•
•
15
••
10
5
•
•
• •
•
•
• •
•
••
0
5
10
15
20
25
30 X
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
13 / 28
Example
f = X31 Y 6 − 2 X30 Y 7 + X29 Y 8 − X29 Y 6 + X18 Y 13
− X16 Y 15 + X17 Y 13 + X16 Y 14 + X10 Y 2 − X9 Y 3
+ X9 Y 2 − X5 Y 6 + X3 Y 8 − 2 X3 Y 7 + X3 Y 6
f1 = X3 Y 6 (−X2 + Y 2 − 2Y + 1)
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
13 / 28
Example
f = X31 Y 6 − 2 X30 Y 7 + X29 Y 8 − X29 Y 6 + X18 Y 13
− X16 Y 15 + X17 Y 13 + X16 Y 14 + X10 Y 2 − X9 Y 3
+ X9 Y 2 − X5 Y 6 + X3 Y 8 − 2 X3 Y 7 + X3 Y 6
f1 = X3 Y 6 (X − Y + 1)(1 − X − Y)
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
13 / 28
Example
f = X31 Y 6 − 2 X30 Y 7 + X29 Y 8 − X29 Y 6 + X18 Y 13
− X16 Y 15 + X17 Y 13 + X16 Y 14 + X10 Y 2 − X9 Y 3
+ X9 Y 2 − X5 Y 6 + X3 Y 8 − 2 X3 Y 7 + X3 Y 6
f1 = X3 Y 6 (X − Y + 1)(1 − X − Y)
f2 = X9 Y 2 (X − Y + 1)
f3 = X16 Y 13 (X + Y)(X − Y + 1)
f4 = X29 Y 6 (X + Y − 1)(X − Y + 1)
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
13 / 28
Example
f = X31 Y 6 − 2 X30 Y 7 + X29 Y 8 − X29 Y 6 + X18 Y 13
− X16 Y 15 + X17 Y 13 + X16 Y 14 + X10 Y 2 − X9 Y 3
+ X9 Y 2 − X5 Y 6 + X3 Y 8 − 2 X3 Y 7 + X3 Y 6
f1 = X3 Y 6 (X − Y + 1)(1 − X − Y)
f2 = X9 Y 2 (X − Y + 1)
f3 = X16 Y 13 (X + Y)(X − Y + 1)
f4 = X29 Y 6 (X + Y − 1)(X − Y + 1)
=⇒ linear factors of f: (X − Y + 1, 1)
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
13 / 28
Example
f = X31 Y 6 − 2 X30 Y 7 + X29 Y 8 − X29 Y 6 + X18 Y 13
− X16 Y 15 + X17 Y 13 + X16 Y 14 + X10 Y 2 − X9 Y 3
+ X9 Y 2 − X5 Y 6 + X3 Y 8 − 2 X3 Y 7 + X3 Y 6
f1 = X3 Y 6 (X − Y + 1)(1 − X − Y)
f2 = X9 Y 2 (X − Y + 1)
f3 = X16 Y 13 (X + Y)(X − Y + 1)
f4 = X29 Y 6 (X + Y − 1)(X − Y + 1)
=⇒ linear factors of f: (X − Y + 1, 1), (X, 3), (Y, 2)
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
13 / 28
Complete algorithm for linear factors
[Chattopadhyay-G.-Koiran-Portier-Strozecki’13]
k
X
k in lacunary reprecj Xαj Y βj ∈ Q(α)[X, Y] be given
X
Find linear factors of f(X, Y) =
cj Xαj Y βj
j=1
algosentation. There exists a deterministic polynomial-time
j=1
rithm to compute its linear factors, with multiplicities.
Let f =
monomials
(X, minj αj )
(Y, minj βj )
binomials trinomials
(X − a)
Factors of
P
j
cj X
αj
(Y − uX)
Roots of u 7→
P
βj
j cj u
Univariate lacunary factorization
[H. Lenstra’99]
Common factors of
jt +ℓ
t −1
X
cj Xαj Y βj
ft =
j=jt
(deg(ft ) 6 O(ℓ2t ))
Low-degree factorization
[Kaltofen’82, . . . , Lecerf’07]
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
14 / 28
Complete algorithm for linear factors
[Chattopadhyay-G.-Koiran-Portier-Strozecki’13]
k
X
k in lacunary reprecj Xαj Y βj ∈ Q(α)[X, Y] be given
X
Find linear factors of f(X, Y) =
cj Xαj Y βj
j=1
algosentation. There exists a deterministic polynomial-time
j=1
rithm to compute its linear factors, with multiplicities.
Let f =
monomials
(X, minj αj )
(Y, minj βj )
binomials trinomials
(X − a)
Factors of
P
j
cj X
αj
(Y − uX)
Roots of u 7→
P
βj
j cj u
Univariate lacunary factorization
[H. Lenstra’99]
Common factors of
jt +ℓ
t −1
X
cj Xαj Y βj
ft =
j=jt
(deg(ft ) 6 O(ℓ2t ))
Low-degree factorization
[Kaltofen’82, . . . , Lecerf’07]
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
14 / 28
Complete algorithm for linear factors
[Chattopadhyay-G.-Koiran-Portier-Strozecki’13]
k
X
k in lacunary reprecj Xαj Y βj ∈ Q(α)[X, Y] be given
X
Find linear factors of f(X, Y) =
cj Xαj Y βj
j=1
algosentation. There exists a deterministic polynomial-time
j=1
rithm to compute its linear factors, with multiplicities.
Let f =
monomials
(X, minj αj )
(Y, minj βj )
binomials trinomials
(X − a)
Factors of
P
j
cj X
αj
(Y − uX)
Roots of u 7→
P
βj
j cj u
Univariate lacunary factorization
[H. Lenstra’99]
Common factors of
jt +ℓ
t −1
X
cj Xαj Y βj
ft =
j=jt
(deg(ft ) 6 O(ℓ2t ))
Low-degree factorization
[Kaltofen’82, . . . , Lecerf’07]
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
14 / 28
Complete algorithm for linear factors
[Chattopadhyay-G.-Koiran-Portier-Strozecki’13]
k
X
k in lacunary reprecj Xαj Y βj ∈ Q(α)[X, Y] be given
X
Find linear factors of f(X, Y) =
cj Xαj Y βj
j=1
algosentation. There exists a deterministic polynomial-time
j=1
rithm to compute its linear factors, with multiplicities.
Let f =
monomials
(X, minj αj )
(Y, minj βj )
binomials trinomials
(X − a)
Factors of
P
j
cj X
αj
(Y − uX)
Roots of u 7→
P
βj
j cj u
Univariate lacunary factorization
[H. Lenstra’99]
Common factors of
jt +ℓ
t −1
X
cj Xαj Y βj
ft =
j=jt
(deg(ft ) 6 O(ℓ2t ))
Low-degree factorization
[Kaltofen’82, . . . , Lecerf’07]
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
14 / 28
Complete algorithm for linear factors
[Chattopadhyay-G.-Koiran-Portier-Strozecki’13]
k
X
k in lacunary reprecj Xαj Y βj ∈ Q(α)[X, Y] be given
X
Find linear factors of f(X, Y) =
cj Xαj Y βj
j=1
algosentation. There exists a deterministic polynomial-time
j=1
rithm to compute its linear factors, with multiplicities.
Let f =
monomials
(X, minj αj )
(Y, minj βj )
binomials trinomials
(X − a)
Factors of
P
j
cj X
αj
(Y − uX)
Roots of u 7→
P
βj
j cj u
Univariate lacunary factorization
[H. Lenstra’99]
Common factors of
jt +ℓ
t −1
X
cj Xαj Y βj
ft =
j=jt
(deg(ft ) 6 O(ℓ2t ))
Low-degree factorization
[Kaltofen’82, . . . , Lecerf’07]
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
14 / 28
Finite fields
n
n+1
(1 + X)2 + (1 + X)2
n
= X2 (X + 1)
mod 2
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
15 / 28
Finite fields
n
n+1
(1 + X)2 + (1 + X)2
n
= X2 (X + 1)
mod 2
Theorem
ℓ
X
cj Xαj (uX+v)βj ∈ Fps [X], where p > maxj (αj +βj ). If
Let f =
j=1
α
j
(X (uX + v)βj )
j
is linearly independent, then val(f) 6 α1 +
provided f 6≡ 0.
ℓ
2
,
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
15 / 28
Finite fields
n
n+1
(1 + X)2 + (1 + X)2
n
= X2 (X + 1)
mod 2
Theorem
ℓ
X
cj Xαj (uX+v)βj ∈ Fps [X], where p > maxj (αj +βj ). If
Let f =
j=1
α
j
(X (uX + v)βj )
j
is linearly independent, then val(f) 6 α1 +
provided f 6≡ 0.
ℓ
2
,
Proposition
wr(f1 , . . . , fk ) 6= 0 ⇐⇒ fj ’s linearly independent over Fps [Xp ].
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
15 / 28
Factorization algorithm
Find linear factors of f =
k
X
cj Xαj Y βj
j=1
where cj ∈ Fps and p > deg(f)
monomials
(X, minj αj )
(Y, minj βj )
binomials
trinomials
(uX − vY)
ete s
mmpl uction
o
-c red
Roots
P
NP of Punivariate
r Bpolynomials
lacunary
e
nd
Common factors of
jt +ℓ
t −1
X
ft =
cj Xαj Y βj
[Kipnis-Shamir’99,Bi-Cheng-Rojas’13]
Low-degree factorization
u
j=jt
(deg(ft ) 6 O(ℓ2t ))
[Gao’03, Lecerf’10]
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
16 / 28
Factorization algorithm
Find linear factors of f =
k
X
cj Xαj Y βj
j=1
where cj ∈ Fps and p > deg(f)
binomials
monomials
(X, minj αj )
(Y, minj βj )
trinomials
(uX − vY)
ete s
mmpl uction
o
-c red
Roots
P
NP of Punivariate
r Bpolynomials
lacunary
e
nd
Common factors of
jt +ℓ
t −1
X
ft =
cj Xαj Y βj
[Kipnis-Shamir’99,Bi-Cheng-Rojas’13]
Low-degree factorization
u
j=jt
(deg(ft ) 6 O(ℓ2t ))
[Gao’03, Lecerf’10]
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
16 / 28
Factorization algorithm
Find linear factors of f =
k
X
cj Xαj Y βj
j=1
where cj ∈ Fps and p > deg(f)
monomials
(X, minj αj )
(Y, minj βj )
binomials
trinomials
(uX − vY)
ete s
mmpl uction
o
-c red
Roots
P
NP of Punivariate
r Bpolynomials
lacunary
e
nd
Common factors of
jt +ℓ
t −1
X
ft =
cj Xαj Y βj
[Kipnis-Shamir’99,Bi-Cheng-Rojas’13]
Low-degree factorization
u
j=jt
(deg(ft ) 6 O(ℓ2t ))
[Gao’03, Lecerf’10]
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
16 / 28
Factorization algorithm
Find linear factors of f =
k
X
cj Xαj Y βj
j=1
where cj ∈ Fps and p > deg(f)
monomials
(X, minj αj )
(Y, minj βj )
binomials
trinomials
(uX − vY)
ete s
mmpl uction
o
-c red
Roots
P
NP of Punivariate
r Bpolynomials
lacunary
e
nd
Common factors of
jt +ℓ
t −1
X
ft =
cj Xαj Y βj
[Kipnis-Shamir’99,Bi-Cheng-Rojas’13]
Low-degree factorization
u
j=jt
(deg(ft ) 6 O(ℓ2t ))
[Gao’03, Lecerf’10]
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
16 / 28
Low-degree factors of bivariate lacunary polynomials
Puiseux series
Let g ∈ K[X, Y] of degree d in Y. Then g can be written
g(X, Y) = g0 (X)
d
Y
(Y − φi (X)),
i=1
where g0 ∈ K[X]
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
18 / 28
Puiseux series
Let g ∈ K[X, Y] of degree d in Y. Then g can be written
g(X, Y) = g0 (X)
d
Y
(Y − φi (X)),
i=1
where g0 ∈ K[X], and φ1 , . . . , φd ∈ KhhXii are Puiseux series:
X
φ(X) =
at Xt/n ,
t>t0
with at ∈ K, at0 6= 0.
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
18 / 28
Puiseux series
Let g ∈ K[X, Y] of degree d in Y. Then g can be written
g(X, Y) = g0 (X)
d
Y
(Y − φi (X)),
i=1
where g0 ∈ K[X], and φ1 , . . . , φd ∈ KhhXii are Puiseux series:
X
φ(X) =
at Xt/n ,
t>t0
with at ∈ K, at0 6= 0. The valuation of φ is t0 /n.
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
18 / 28
Puiseux series
Let g ∈ K[X, Y] of degree d in Y. Then g can be written
g(X, Y) = g0 (X)
d
Y
(Y − φi (X)),
i=1
where g0 ∈ K[X], and φ1 , . . . , φd ∈ KhhXii are Puiseux series:
X
φ(X) =
at Xt/n ,
t>t0
with at ∈ K, at0 6= 0. The valuation of φ is t0 /n.
Proposition
Let f, g ∈ K[X, Y], and suppose g irreducible. Then g divides f iff
f(X, φ) = 0 for some/each root φ ∈ KhhXii of g.
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
18 / 28
Valuation bound
Theorem
[G.’14]
Pℓ
Let f1 = j=1 cj Xαj Y βj and g a degree-d irreducible polynomial
with a root φ ∈ KhhXii of valuation v.
If the family (Xαj φβj )j is linearly independent,
ℓ
val(f1 (X, φ)) 6 min(αj + vβj ) + (2d(4d + 1) − v)
.
j
2
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
19 / 28
Valuation bound
Theorem
[G.’14]
Pℓ
Let f1 = j=1 cj Xαj Y βj and g a degree-d irreducible polynomial
with a root φ ∈ KhhXii of valuation v.
If the family (Xαj φβj )j is linearly independent,
ℓ
val(f1 (X, φ)) 6 min(αj + vβj ) + (2d(4d + 1) − v)
.
j
2
◮
Proof along the same lines, using the Wronskian.
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
19 / 28
Gap Theorem
Gap Theorem
Let
[G.’14]
f=
ℓ
X
αj βj
cj X Y
cj Xαj Y βj
j=ℓ+1
j=1
|
+
k
X
{z
f1
}
|
{z
}
f2
with uv 6= 0, α1 + vβ1 6 · · · 6 αk + vβk . Let g a degree-d
irreducible poynomial, with a root of valuation v.
If ℓ is the smallest index s.t.
ℓ
αℓ+1 + vβℓ+1 > (α1 + vβ1 ) + (2d(4d + 1) − v)
,
2
then g divides f iff it divides both f1 and f2 .
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
20 / 28
Gap Theorem
Gap Theorem
Let
[G.’14]
f=
ℓ
X
αj βj
cj X Y
cj Xαj Y βj
j=ℓ+1
j=1
|
+
k
X
{z
f1
}
|
{z
}
f2
with uv 6= 0, α1 + vβ1 6 · · · 6 αk + vβk . Let g a degree-d
irreducible poynomial, with a root of valuation v.
If ℓ is the smallest index s.t.
ℓ
αℓ+1 + vβℓ+1 > (α1 + vβ1 ) + (2d(4d + 1) − v)
,
2
then g divides f iff it divides both f1 and f2 .
◮
Depends on v.
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
20 / 28
Gap Theorem
Gap Theorem
Let
[G.’14]
f=
ℓ
X
αj βj
cj X Y
cj Xαj Y βj
j=ℓ+1
j=1
|
+
k
X
{z
f1
}
|
{z
}
f2
with uv 6= 0, α1 + vβ1 6 · · · 6 αk + vβk . Let g a degree-d
irreducible poynomial, with a root of valuation v.
If ℓ is the smallest index s.t.
ℓ
αℓ+1 + vβℓ+1 > (α1 + vβ1 ) + (2d(4d + 1) − v)
,
2
then g divides f iff it divides both f1 and f2 .
◮
Depends on v.
◮
Does not bound αj , nor βj !
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
20 / 28
Gap Theorem
Gap Theorem
Let
[G.’14]
f=
ℓ
X
αj βj
cj X Y
cj Xαj Y βj
j=ℓ+1
j=1
|
+
k
X
{z
f1
}
|
{z
}
f2
with uv 6= 0, α1 + vβ1 6 · · · 6 αk + vβk . Let g a degree-d
irreducible poynomial, with a root of valuation v.
If ℓ is the smallest index s.t.
ℓ
αℓ+1 + vβℓ+1 > (α1 + vβ1 ) + (2d(4d + 1) − v)
,
2
then g divides f iff it divides both f1 and f2 .
◮
Depends on v.
◮
Does not bound αj , nor βj !
◮
Several distinct valuations needed.
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
20 / 28
Newton polygon
•
X
•
6
•
5
•
4
•
3•
•
•
2
1
•
0
1
•
•
•
•
•
•
•
•
2
•
3
4
5
6
7
•
Y
f = Y 3 + 2 XY − X2 Y 4 + X3 Y 3 − 2 X2 Y 2 − 4 X3 + 2 X4 Y 3 − 2 X5 Y 2
+ X3 Y 6 + 2 X4 Y 4 − X5 Y 7 + X6 Y 6
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
21 / 28
Newton polygon
•
X
•
6
•
5
•
4
•
3•
•
•
2
1
•
0
1
•
•
•
•
•
•
•
•
2
•
3
4
5
6
7
•
Y
f = Y 3 + 2 XY − X2 Y 4 + X3 Y 3 − 2 X2 Y 2 − 4 X3 + 2 X4 Y 3 − 2 X5 Y 2
+ X3 Y 6 + 2 X4 Y 4 − X5 Y 7 + X6 Y 6
= (Y − 2 X2 + X3 Y 4 )(Y 2 + 2 X − X2 Y 3 + X3 Y 2 )
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
21 / 28
Newton polygon and Puiseux series
X
•
6
•
5
•
4
•
3•
•
•
2
1
•
0
1
2
For each edge in the lower hull
of slope −v, f has a root
φ ∈ KhhXii of valuation v.
•
•
•
•
3
4
5
6
7
Y
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
22 / 28
Newton polygon and Puiseux series
X
•
6
•
5
•
4
•
3•
•
•
2
•
•
•
For each edge in the lower hull
of slope −v, f has a root
φ ∈ KhhXii of valuation v.
•
1
•
0
1 2 3 4 5 6 7 Y
P
Two kinds of factors g = j bj Xγj Y βj
◮
Quasi-homogeneous: ∃ p, q, ω s.t. pγj + qβj = ω
the Newton polygon is a line;
◮
Non-homogeneous
the Newton polygon has at least two non-parallel edges.
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
22 / 28
Quasi-homogeneous factors
X
6
•
5
•
4
•
3•
•
•
•
2
•
1
0
1
2
3
4
5
•
6
7
Y
Y 6 −3 X2 Y 2 −X2 Y 7 +2 X3 +2 X3 Y 5 +X3 Y 6 −2 X4 Y 3 −2 X4 Y 4 +X5 Y 2
= (X2 − 2 XY 2 + Y 4 )(Y 2 + 2 X − X2 Y 3 + X3 Y 2 )
(quasi-homogeneous with p = 2, q = 1, ω = 4)
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
23 / 28
Quasi-homogeneous factors
X
6
◮
•
5
•
4
•
3•
•
•
•
2
Write f = f1 + · · · + fs into
quasi-homogeneous parts
•
1
0
1
2
3
4
5
•
6
7
Y
Y 6 −3 X2 Y 2 −X2 Y 7 +2 X3 +2 X3 Y 5 +X3 Y 6 −2 X4 Y 3 −2 X4 Y 4 +X5 Y 2
= (X2 − 2 XY 2 + Y 4 )(Y 2 + 2 X − X2 Y 3 + X3 Y 2 )
(quasi-homogeneous with p = 2, q = 1, ω = 4)
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
23 / 28
Quasi-homogeneous factors
X
6
◮
Write f = f1 + · · · + fs into
quasi-homogeneous parts
◮
g divides f iff it divides each ft
•
5
•
4
•
3•
•
•
•
2
•
1
0
1
2
3
4
5
•
6
7
Y
Y 6 −3 X2 Y 2 −X2 Y 7 +2 X3 +2 X3 Y 5 +X3 Y 6 −2 X4 Y 3 −2 X4 Y 4 +X5 Y 2
= (X2 − 2 XY 2 + Y 4 )(Y 2 + 2 X − X2 Y 3 + X3 Y 2 )
(quasi-homogeneous with p = 2, q = 1, ω = 4)
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
23 / 28
Quasi-homogeneous factors
X
6
◮
Write f = f1 + · · · + fs into
quasi-homogeneous parts
◮
g divides f iff it divides each ft
◮
g divides ft ⇐⇒ g(X1/q , 1)
divides ft (X1/q , 1)
•
5
•
4
•
3•
•
•
•
2
•
1
0
1
2
3
4
5
•
6
7
Y
Y 6 −3 X2 Y 2 −X2 Y 7 +2 X3 +2 X3 Y 5 +X3 Y 6 −2 X4 Y 3 −2 X4 Y 4 +X5 Y 2
= (X2 − 2 XY 2 + Y 4 )(Y 2 + 2 X − X2 Y 3 + X3 Y 2 )
(quasi-homogeneous with p = 2, q = 1, ω = 4)
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
23 / 28
Quasi-homogeneous factors
X
6
•
4
•
3•
•
•
•
2
•
Write f = f1 + · · · + fs into
quasi-homogeneous parts
◮
g divides f iff it divides each ft
◮
g divides ft ⇐⇒ g(X1/q , 1)
divides ft (X1/q , 1)
univariate lacunary
factorization
1
0
◮
•
5
1
2
3
4
5
•
6
7
Y
Y 6 −3 X2 Y 2 −X2 Y 7 +2 X3 +2 X3 Y 5 +X3 Y 6 −2 X4 Y 3 −2 X4 Y 4 +X5 Y 2
= (X2 − 2 XY 2 + Y 4 )(Y 2 + 2 X − X2 Y 3 + X3 Y 2 )
(quasi-homogeneous with p = 2, q = 1, ω = 4)
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
23 / 28
Non-homogeneous factors
Proposition
P
Let f1 = ℓj=1 cj Xαj Y βj and v1 6= v2 such that for all j
αj + v1 βj 6 α1 + v1 β1 + (2d(4d + 1) − v1 ) 2ℓ
αj + v2 βj 6 α2 + v2 β2 + (2d(4d + 1) − v2 ) 2ℓ .
Then for all p, q, |αp − αq | 6 O(ℓ2 d4 ) and |βp − βq | 6 O(ℓ2 d4 ).
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
24 / 28
Non-homogeneous factors
Proposition
P
Let f1 = ℓj=1 cj Xαj Y βj and v1 6= v2 such that for all j
αj + v1 βj 6 α1 + v1 β1 + (2d(4d + 1) − v1 ) 2ℓ
αj + v2 βj 6 α2 + v2 β2 + (2d(4d + 1) − v2 ) 2ℓ .
Then for all p, q, |αp − αq | 6 O(ℓ2 d4 ) and |βp − βq | 6 O(ℓ2 d4 ).
For all pair of non-parallel edges, of slopes v1 and v2 :
◮
Write f = f1 + · · · + fs , using both v1 and v2 ;
◮
Write ft = Xa Y b f◦t with deg(f◦t ) 6 O(ℓ2 d4 );
◮
Factor each f◦t .
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
24 / 28
Non-homogeneous factors
Proposition
P
Let f1 = ℓj=1 cj Xαj Y βj and v1 6= v2 such that for all j
αj + v1 βj 6 α1 + v1 β1 + (2d(4d + 1) − v1 ) 2ℓ
αj + v2 βj 6 α2 + v2 β2 + (2d(4d + 1) − v2 ) 2ℓ .
Then for all p, q, |αp − αq | 6 O(ℓ2 d4 ) and |βp − βq | 6 O(ℓ2 d4 ).
For all pair of non-parallel edges, of slopes v1 and v2 :
◮
Write f = f1 + · · · + fs , using both v1 and v2 ;
◮
Write ft = Xa Y b f◦t with deg(f◦t ) 6 O(ℓ2 d4 );
◮
Factor each f◦t .
low-degree bivariate factorization
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
24 / 28
Extensions
◮
Multivariate polynomial f ∈ K[X1 , . . . , Xn ]:
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
25 / 28
Extensions
◮
Multivariate polynomial f ∈ K[X1 , . . . , Xn ]:
• For all i 6= j, consider f ∈ R[Xi , Xj ] where R is the ring of
polynomials in the other variables;
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
25 / 28
Extensions
◮
Multivariate polynomial f ∈ K[X1 , . . . , Xn ]:
• For all i 6= j, consider f ∈ R[Xi , Xj ] where R is the ring of
polynomials in the other variables;
• Apply the algorithm for the bivariate case;
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
25 / 28
Extensions
◮
Multivariate polynomial f ∈ K[X1 , . . . , Xn ]:
• For all i 6= j, consider f ∈ R[Xi , Xj ] where R is the ring of
polynomials in the other variables;
• Apply the algorithm for the bivariate case;
• Proceed carefully to avoid an exponential complexity in n.
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
25 / 28
Extensions
◮
Multivariate polynomial f ∈ K[X1 , . . . , Xn ]:
• For all i 6= j, consider f ∈ R[Xi , Xj ] where R is the ring of
polynomials in the other variables;
• Apply the algorithm for the bivariate case;
• Proceed carefully to avoid an exponential complexity in n.
◮
Positive characteristic:
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
25 / 28
Extensions
◮
Multivariate polynomial f ∈ K[X1 , . . . , Xn ]:
• For all i 6= j, consider f ∈ R[Xi , Xj ] where R is the ring of
polynomials in the other variables;
• Apply the algorithm for the bivariate case;
• Proceed carefully to avoid an exponential complexity in n.
◮
Positive characteristic:
• Puiseux series
Hahn series;
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
25 / 28
Extensions
◮
Multivariate polynomial f ∈ K[X1 , . . . , Xn ]:
• For all i 6= j, consider f ∈ R[Xi , Xj ] where R is the ring of
polynomials in the other variables;
• Apply the algorithm for the bivariate case;
• Proceed carefully to avoid an exponential complexity in n.
◮
Positive characteristic:
• Puiseux series
Hahn series;
• Wronskian for Hahn series?
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
25 / 28
Complete algorithm
Find degree-d factors of f =
k
X
cj Xαj
j=1
monomials
(Xi , minj αi,j )
quasi-hom. non-hom.
Degree-d factors
of univariate
lacunary polynomials
Available for Q(α) only
Impossible for Q, C
Common factors of
jt +ℓ
t −1
X
ft =
cj Xαj
j=jt
(deg(ft ) 6 O(ℓ2t d4 ))
Low-degree factorization
Q(α), Q, R, C, Qp , etc.
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
26 / 28
Complete algorithm
Find degree-d factors of f =
k
X
cj Xαj
j=1
monomials
(Xi , minj αi,j )
quasi-hom. non-hom.
Degree-d factors
of univariate
lacunary polynomials
Available for Q(α) only
Impossible for Q, C
Common factors of
jt +ℓ
t −1
X
ft =
cj Xαj
j=jt
(deg(ft ) 6 O(ℓ2t d4 ))
Low-degree factorization
Q(α), Q, R, C, Qp , etc.
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
26 / 28
Complete algorithm
Find degree-d factors of f =
k
X
cj Xαj
j=1
monomials
(Xi , minj αi,j )
quasi-hom. non-hom.
Degree-d factors
of univariate
lacunary polynomials
Available for Q(α) only
Impossible for Q, C
Common factors of
jt +ℓ
t −1
X
ft =
cj Xαj
j=jt
(deg(ft ) 6 O(ℓ2t d4 ))
Low-degree factorization
Q(α), Q, R, C, Qp , etc.
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
26 / 28
Complete algorithm
Find degree-d factors of f =
k
X
cj Xαj
j=1
monomials
(Xi , minj αi,j )
quasi-hom. non-hom.
Degree-d factors
of univariate
lacunary polynomials
Available for Q(α) only
Impossible for Q, C
Common factors of
jt +ℓ
t −1
X
ft =
cj Xαj
j=jt
(deg(ft ) 6 O(ℓ2t d4 ))
Low-degree factorization
Q(α), Q, R, C, Qp , etc.
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
26 / 28
Conclusion
Conclusion
◮
Computing low-degree factors of lacunary multivariate polynomials
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
28 / 28
Conclusion
◮
Computing low-degree factors of lacunary multivariate polynomials
univariate lacunary polynomials
• Reduction to
low-degree multivariate polynomials
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
28 / 28
Conclusion
◮
Computing low-degree factors of lacunary multivariate polynomials
univariate lacunary polynomials
• Reduction to
low-degree multivariate polynomials
• “Field-independent”
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
28 / 28
Conclusion
◮
Computing low-degree factors of lacunary multivariate polynomials
univariate lacunary polynomials
• Reduction to
low-degree multivariate polynomials
• “Field-independent”
• Simpler and more general than previous algorithms
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
28 / 28
Conclusion
◮
Computing low-degree factors of lacunary multivariate polynomials
univariate lacunary polynomials
• Reduction to
low-degree multivariate polynomials
• “Field-independent”
• Simpler and more general than previous algorithms
• Partial results in large positive characteristic
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
28 / 28
Conclusion
◮
Computing low-degree factors of lacunary multivariate polynomials
univariate lacunary polynomials
• Reduction to
low-degree multivariate polynomials
•
•
•
•
“Field-independent”
Simpler and more general than previous algorithms
Partial results in large positive characteristic
Implementation: work in progress
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
28 / 28
Conclusion
◮
Computing low-degree factors of lacunary multivariate polynomials
univariate lacunary polynomials
• Reduction to
low-degree multivariate polynomials
•
•
•
•
◮
“Field-independent”
Simpler and more general than previous algorithms
Partial results in large positive characteristic
Implementation: work in progress
Open questions:
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
28 / 28
Conclusion
◮
Computing low-degree factors of lacunary multivariate polynomials
univariate lacunary polynomials
• Reduction to
low-degree multivariate polynomials
•
•
•
•
◮
“Field-independent”
Simpler and more general than previous algorithms
Partial results in large positive characteristic
Implementation: work in progress
Open questions:
• Can we compute lacunary factors in polynomial time?
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
28 / 28
Conclusion
◮
Computing low-degree factors of lacunary multivariate polynomials
univariate lacunary polynomials
• Reduction to
low-degree multivariate polynomials
•
•
•
•
◮
“Field-independent”
Simpler and more general than previous algorithms
Partial results in large positive characteristic
Implementation: work in progress
Open questions:
• Can we compute lacunary factors in polynomial time?
• What can be done in small positive characteristic?
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
28 / 28
Conclusion
◮
Computing low-degree factors of lacunary multivariate polynomials
univariate lacunary polynomials
• Reduction to
low-degree multivariate polynomials
•
•
•
•
◮
“Field-independent”
Simpler and more general than previous algorithms
Partial results in large positive characteristic
Implementation: work in progress
Open questions:
• Can we compute lacunary factors in polynomial time?
• What can be done in small positive characteristic?
• More general settings: arithmetic circuits/straight-line programs
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
28 / 28
Conclusion
◮
Computing low-degree factors of lacunary multivariate polynomials
univariate lacunary polynomials
• Reduction to
low-degree multivariate polynomials
•
•
•
•
◮
“Field-independent”
Simpler and more general than previous algorithms
Partial results in large positive characteristic
Implementation: work in progress
Open questions:
• Can we compute lacunary factors in polynomial time?
• What can be done in small positive characteristic?
• More general settings: arithmetic circuits/straight-line programs
Thank you!
Computing low-degree factors of lacunary polynomials:a Newton-Puiseux Approach
N
28 / 28