wiki

Landau–Mignotte bound

The Landau–Mignotte bound is an upper bound on the size of the coefficients of any factor of a polynomial with integer coefficients, computed from the polynomial alone[1]. It is needed because divisibility does not make coefficients smaller: a factor can have larger coefficients than the product. The polynomial has coefficients 0 and , yet its factor, the cyclotomic polynomial , has a coefficient . Algorithms that recover a factor or a gcd from its image modulo some large number , such as Hensel lifting and the modular gcd, need to know in advance how large must be for the image to determine the integer coefficients uniquely, and the bound tells them. Maurice Mignotte proved it in 1974[1] from an inequality of Edmund Landau of 1905[2].

§ 01

Statement

For , write . If divides in , then[1][4]:

and so and . Since , a factor of degree has coefficients of at most about bits.

§ 02

Proof

The Mahler measure of is

It is multiplicative, , and for every , so a factor of satisfies . Landau's inequality states that [2]; Mahler later derived it from Jensen's formula[3]. Finally, each coefficient of is times an elementary symmetric function of its roots, a sum of products of roots, each at most in absolute value. So , and combining the inequalities gives the bound[1][4].

§ 03

Factors with larger coefficients

Cyclotomic polynomials, factors of xⁿ − 1, computed by exact division, recording each n for which the largest coefficient of Φₙ reaches a new height.

open Zpoly
(* Cyclotomic polynomials by division: x^n - 1 is the product of Phi_d
over the divisors d of n. Their coefficients are small, but not all 1. *)
let cyclotomic = Hashtbl.create 64
let rec phi n =
match Hashtbl.find_opt cyclotomic n with
| Some p -> p
| None ->
let xn1 = sub (shift one n) one in
let p = List.fold_left (fun acc d ->
if n mod d = 0 && d < n then fst (divmod_exact acc (phi d)) else acc) xn1 (List.init n (fun i -> i + 1)) in
Hashtbl.replace cyclotomic n p; p

Running it.

Phi_105: degree 48, largest coefficient 2; factor of x^105 - 1, whose coefficients are 1
Phi_385: degree 240, largest coefficient 3; factor of x^385 - 1, whose coefficients are 1
Phi_1365: degree 576, largest coefficient 4; factor of x^1365 - 1, whose coefficients are 1
Phi_1785: degree 768, largest coefficient 5; factor of x^1785 - 1, whose coefficients are 1
Phi_2805: degree 1280, largest coefficient 6; factor of x^2805 - 1, whose coefficients are 1
bound on the coefficients of a degree-48 factor of x^105 - 1: binom(48, 24) * 2 = 64495207366200

All the factors have larger coefficients than . Migotti showed in 1883 that has only the coefficients 0 and when has at most two distinct odd prime factors[9], which makes the smallest candidate. The coefficients of cyclotomic polynomials are unbounded, but they grow slowly, and the bound, some fourteen digits for a factor of degree 48, is extremely pessimistic here. Mignotte also showed that the exponential dependence on the degree cannot be avoided in general: there are polynomials with small coefficients whose factors have coefficients exponentially large in the degree[1].

§ 04

Use in algorithms

To recover an integer polynomial from its image modulo , one takes each coefficient in the symmetric range ; this is correct if every coefficient of is smaller than in absolute value. With the Landau–Mignotte bound, suffices. Factorization over the integers lifts a factorization modulo to one modulo with [7][8], and the modular gcd collects primes until their product exceeds [4].

Random factors g of one-digit coefficients multiplied by a random polynomial of degree 20: the size of g against the bound computed from the product.

open Zpoly
(* f = g h for random g and h with one-digit coefficients: the actual size
of the factor g against the bound computed from f alone. *)
let random n = normalize (Array.init (n + 1) (fun i ->
if i = n then Z.of_int (1 + Random.int 9) else Z.of_int (Random.int 19 - 9)))

Running it.

deg g deg f bits of f bits of g bits of bound
4 24 7 4 11
8 28 8 4 15
12 32 8 4 19
16 36 9 4 23
20 40 9 4 27
24 44 8 4 31
28 48 8 4 35
32 52 9 4 39
36 56 8 4 43
40 60 9 4 47
01020304050010203040degree of the factor gbitsbound computed from ffthe factor g
The bound grows by about one bit per unit of degree, while typical factors, like the polynomial itself, stay small. The gap costs extra lifting steps or primes, which is why practical algorithms also stop early once a candidate factor is found that divides exactly.

Because the bound is usually far from tight, implementations use sharper variants, such as bounds based on the Bombieri norm[5], or compare several bounds and take the smallest[6], and they test candidates before the bound is reached.

§ 05

History

Landau proved his inequality for the product of the absolute values of the roots outside the unit circle in 1905, in the context of complex analysis[2]. Mahler introduced the measure that bears his name and related it to Jensen's formula in 1960[3]. The need for coefficient bounds arose with Zassenhaus's algorithm for factoring integer polynomials by Hensel lifting in 1969[7], and Mignotte's paper of 1974 gave the bound that is now standard[1]. Refinements based on other norms followed from the 1990s[5][6].

see also

further reading

  1. [1]M. Mignotte, “An inequality about factors of polynomials”, Mathematics of Computation 28 (1974).
  2. [2]E. Landau, “Sur quelques théorèmes de M. Petrovitch relatifs aux zéros des fonctions analytiques”, Bulletin de la Société Mathématique de France 33 (1905).
  3. [3]K. Mahler, “An application of Jensen’s formula to polynomials”, Mathematika 7 (1960).
  4. [4]J. von zur Gathen, J. Gerhard, Modern Computer Algebra, §6.6, Cambridge University Press (3rd ed., 2013).
  5. [5]B. Beauzamy, V. Trevisan, P. S. Wang, “Polynomial factorization: sharp bounds, efficient algorithms”, Journal of Symbolic Computation 15 (1993).
  6. [6]J. Abbott, “Bounds on factors in Z[x]”, Journal of Symbolic Computation 50 (2013).
  7. [7]H. Zassenhaus, “On Hensel factorization, I”, Journal of Number Theory 1 (1969).
  8. [8]D. E. Knuth, The Art of Computer Programming, Vol. 2: Seminumerical Algorithms, §4.6.2, Addison-Wesley (3rd ed., 1997).
  9. [9]A. Migotti, “Zur Theorie der Kreisteilungsgleichung”, Sitzungsberichte der Mathematisch-Naturwissenschaftlichen Classe der Kaiserlichen Akademie der Wissenschaften, Wien 87 (1883).

last updated