Binary homogenization of a product of linear factors #
Mathlib's Polynomial.homogenize p n is the binary form Y ^ n p(X / Y) of degree n, with
X the variable 0 and Y the variable 1. This file computes it on a product of linear
factors: the homogenization of ∏ (X - a) is ∏ (X - a Y). Consequently, a polynomial with as
many roots as its degree, p = c ∏ (X - a), has degree-(natDegree p) homogenization
F(x, y) = c ∏ (x - a y) at every point (x, y), including the points with y = 0.
More generally, the homogenization of degree n ≥ natDegree p of such a p is
c X₁ ^ (n - natDegree p) ∏ (X₀ - a X₁); since every binary form F of degree n is the
homogenization of its dehomogenization F(X, 1), of degree at most n, this factors binary forms
over an algebraically closed field into linear forms. If F has no squared linear factor, then
X₁ occurs at most once and the roots of F(X, 1) are simple, so the linear factors are pairwise
non-proportional. Conversely, the homogenization of degree natDegree p of a squarefree
polynomial p has no squared linear factor.
This factorisation is the starting point of Liouville- and Roth-type lower bounds for binary forms at integer points.
The file also records the value of the homogenization of degree n at a point (a, b): the sum
of the terms p_k a ^ k b ^ (n - k), which is p(a / b) b ^ n when b ≠ 0 and
natDegree p ≤ n. Substituting linear
polynomials a X + b and c X + d for the two variables, this is the action
p ↦ (c X + d) ^ n p((a X + b) / (c X + d)) of a Möbius transformation on polynomials of degree at
most n.
Homogenization also turns integral normalization into a change of variables. If p has degree
d ≥ 1 and leading coefficient a, and F and G are the homogenizations of p and of the
monic polynomial p.integralNormalization, then G(a x, y) = a ^ (d - 1) F(x, y). Over a domain,
(x, y) ↦ (a x, y) therefore matches the solutions of the Thue equation F(x, y) = m with the
solutions (x', y) of G(x', y) = a ^ (d - 1) m with a ∣ x'. This reduces Thue equations to
the monic case: for p ∈ ℤ[X] the roots of the monic G(X, 1) are algebraic integers, namely the
roots of F(X, 1) multiplied by a.
Main results #
Polynomial.homogenize_multiset_prod_X_sub_C:homogenize (∏ (X - a)) (card s) = ∏ (X - a Y).Polynomial.eval_homogenize_natDegree_of_card_roots: ifphasnatDegree proots, thenF(x) = leadingCoeff p * ∏_{a ∈ roots p} (x 0 - a x 1).Polynomial.sub_mul_dvd_eval_homogenize: for any rootaofpandn ≥ natDegree p, the linear formx 0 - a x 1divides the value atxof the homogenization of degreen.Polynomial.homogenize_eq_C_mul_X_pow_mul_prod: ifphasnatDegree proots andnatDegree p ≤ n, then its homogenization of degreenisleadingCoeff p * X₁ ^ (n - natDegree p) * ∏ (X₀ - a X₁).Polynomial.sub_natDegree_le_one_of_not_sq_dvd_homogenize,Polynomial.nodup_roots_of_not_sq_dvd_homogenize: if neitherX₁ ^ 2nor any(X₀ - a X₁) ^ 2divides the homogenization of degreen(withn ≥ natDegree pfor the second), thenn ≤ natDegree p + 1and the roots ofpare simple.Squarefree.not_sq_dvd_homogenize_natDegree: conversely, the homogenization of degreenatDegree pof a squarefree polynomialphas no squared linear factor.Polynomial.eval_homogenize_integralNormalization:G(a x, y) = a ^ (d - 1) F(x, y)for the homogenizationsFofpandGofp.integralNormalization.Polynomial.bijOn_eval_homogenize_integralNormalization: over a domain,(x, y) ↦ (a x, y)is a bijection from the solutions ofF(x, y) = monto those ofG(x', y) = a ^ (d - 1) mwitha ∣ x'.Polynomial.aeval_homogenize_eq_sum,Polynomial.aeval_homogenize: the value of the homogenization of degreenat(a, b), as a sum of terms and, forb ≠ 0in a semifield algebra andnatDegree p ≤ n, asp(a / b) b ^ n.Polynomial.aeval_homogenize_of_eq_zero,Polynomial.aeval_homogenize_reflect: the value at(a, 0)isp_n a ^ n, and reflectingpatnexchanges the two coordinates.Polynomial.eval_homogenize_geom_sum: the homogenization of degreem (p - 1)of the geometric sum∑_{i < p} (X ^ m) ^ itakes the value∑_{i < p} (a ^ m) ^ i (b ^ m) ^ (p - 1 - i).MvPolynomial.aeval_X_one_map: the dehomogenizationF(X, 1)commutes with mapping the coefficients along a ring homomorphism.MvPolynomial.IsHomogeneous.exists_linear_factors: a binary form of degreedwith no squared linear factor, whose dehomogenization splits, isa ∏_{ℓ ∈ T} (ℓ.1 X₀ + ℓ.2 X₁)fordpairwise non-proportional linear forms.MvPolynomial.IsHomogeneous.mem_span_X_one_pow_of_aeval_eq_smul: over a domain, a binary form of degreedthat is semi-invariant under the universal substitutionx ↦ x - t yis a multiple ofX₁ ^ d.
References #
- [J.-H. Evertse, Diophantine Approximation, lecture notes, Leiden/Mastermath, 2019], Chapter 5, proof of Theorem 5.13, p. 97 (the reduction of Thue equations to the monic case).
The homogenization of ∏_{a ∈ s} (X - a) in degree card s is the product of the linear
binary forms X₀ - a X₁.
The homogenization of p of degree n ≥ natDegree p is X₁ ^ (n - natDegree p) times its
homogenization of degree natDegree p.
If p has as many roots as its degree, its homogenization of degree n ≥ natDegree p is
the binary form leadingCoeff p * X₁ ^ (n - natDegree p) * ∏_{a ∈ roots p} (X₀ - a X₁).
If p has as many roots as its degree, its homogenization F of degree natDegree p
factors at every point as F(x) = leadingCoeff p * ∏_{a ∈ roots p} (x 0 - a x 1).
If a is a root of p and natDegree p ≤ n, then at every point x the value of the
linear form x 0 - a x 1 divides the value of the homogenization of p of degree n. No
splitting of p is needed, and R is an arbitrary commutative ring.
If X₁ ^ 2 does not divide the homogenization of p of degree n, then
n ≤ natDegree p + 1, stated as n - natDegree p ≤ 1.
If no square (X₀ - a X₁) ^ 2 divides the homogenization of p of degree n ≥ natDegree p,
then the roots of p are simple.
The homogenization of degree natDegree p of a squarefree polynomial p over a domain has no
squared linear factor (a X₀ + b X₁) ^ 2.
Homogenized integral normalization. Let p have degree d ≥ 1 and leading coefficient
a, and let F and G be the homogenizations of degree n of p and of the monic polynomial
p.integralNormalization = a ^ (d - 1) p(X / a). Then G(a x, y) = a ^ (d - 1) F(x, y) for all
x, y. This is the binary-form version of
Polynomial.integralNormalization_eval₂_leadingCoeff_mul; it holds for every n, also below the
degree.
Thue equations and integral normalization (Evertse, proof of Theorem 5.13). Over a domain,
let p have degree d ≥ 1 and leading coefficient a, and let F and G be the
homogenizations of degree n of p and of p.integralNormalization. Then
(x, y) ↦ (a x, y) is a bijection from the solutions of F(x, y) = m onto the solutions
(x', y) of G(x', y) = a ^ (d - 1) m with a ∣ x'.
The value of the homogenization of degree n of p at (a, b) is the sum of the terms
p_k a ^ k b ^ l over k + l = n.
For natDegree p ≤ n and x 1 ≠ 0, the homogenization of degree n of p takes the value
p(x 0 / x 1) x 1 ^ n at x, in any semifield that is an algebra over the coefficients. This is
Polynomial.eval_homogenize with the coefficients mapped into the semifield.
At a point whose second coordinate vanishes, the homogenization of degree n of p takes
the value p_n (x 0) ^ n: only the monomial X₀ ^ n survives.
Reflecting p at n exchanges the two variables of its homogenization of degree n: the
homogenization of p.reflect n takes at (a, b) the value that the homogenization of p
takes at (b, a).
The homogenization of the geometric sum ∑_{i < p} (X ^ m) ^ i at degree m (p - 1) takes
the value ∑_{i < p} (a ^ m) ^ i (b ^ m) ^ (p - 1 - i) at (a, b).
The dehomogenization F(X, 1) of a binary form commutes with mapping the coefficients along a
ring homomorphism φ.
Splitting of binary forms. Let F be a binary form of degree d over a domain, with no
squared linear factor (so F ≠ 0), whose dehomogenization F(X, 1) has as many roots as its
degree (for instance, over an algebraically closed field). Then
F = a ∏_{ℓ ∈ T} (ℓ.1 X₀ + ℓ.2 X₁) with a ≠ 0 and d pairwise non-proportional linear forms,
each either X₁ or X₀ - α X₁ with α a root of F(X, 1).
Binary forms semi-invariant under x ↦ x - t y are multiples of yᵈ. Over a domain, if a
binary form f of degree d satisfies f(x - t y, y) = c f(x, y) in R[t][x, y] for some
c ∈ R[t], then f is a multiple of X₁ ^ d.