Hasse derivatives of multivariate polynomials #
For a multi-index d : σ →₀ ℕ, the d-th Hasse (divided) partial derivative ∂^d of a
multivariate polynomial sends the monomial X^m to (∏ⱼ (mⱼ choose dⱼ)) X^(m - d), which is
zero unless d ≤ m. It is defined over any commutative semiring, so it preserves integrality of
coefficients, and in a single variable k! • ∂^(k eᵢ) is the k-th partial derivative in Xᵢ
(MvPolynomial.factorial_smul_hasseDeriv_single).
Hasse derivatives are the Taylor coefficients of a polynomial: P(X + Y) = ∑_d (∂^d P)(X) Y^d
(see TauCeti.RingTheory.MvPolynomial.HasseDeriv.Taylor). They are the jets used to measure the
vanishing of auxiliary polynomials at a point, as in the index of a polynomial in the proof of
Roth's theorem.
Main definitions #
MvPolynomial.hasseDeriv d: thed-th Hasse derivative, as anR-linear endomorphism ofMvPolynomial σ R.
Main results #
MvPolynomial.hasseDeriv_monomial,MvPolynomial.hasseDeriv_coeff: the values on monomials and the coefficients[X^m] ∂^d P = (∏ⱼ (mⱼ + dⱼ choose dⱼ)) [X^(m + d)] P.MvPolynomial.eval_const_hasseDeriv_monomial: the jet∂^d (a X^m)at a diagonal point(x, …, x).MvPolynomial.abv_coeff_hasseDeriv_le: for an absolute valuev,v([X^m] ∂^d P) ≤ 2 ^ |m + d| v([X^(m + d)] P); with partial degrees≤ rᵢthe factor is at most2 ^ ∑ᵢ rᵢ(MvPolynomial.abv_coeff_hasseDeriv_le_of_degreeOf_le), with coefficients also bounded byBthis isMvPolynomial.abv_coeff_hasseDeriv_le_two_pow_mul, and at a nonarchimedeanvthe factor2 ^ |m + d|disappears (MvPolynomial.abv_coeff_hasseDeriv_le_of_isNonarchimedean).MvPolynomial.hasseDeriv_zero,MvPolynomial.hasseDeriv_C,MvPolynomial.hasseDeriv_one:∂^0is the identity and every other Hasse derivative kills constants.MvPolynomial.hasseDeriv_map,MvPolynomial.hasseDeriv_rename: Hasse derivatives commute with coefficient ring maps and with injective variable renamings.MvPolynomial.hasseDeriv_eq_zero_of_degreeOf_lt,MvPolynomial.degreeOf_hasseDeriv_le: the derivative lowers the degree inXᵢbydᵢ; in particularMvPolynomial.degreeOf_hasseDeriv_le_of_lekeeps any bounddegreeOf i P ≤ L i.MvPolynomial.factorial_smul_hasseDeriv_single:k! • ∂^(k eᵢ) P = (∂/∂Xᵢ)^k P.MvPolynomial.hasseDeriv_single_toMvPolynomial,MvPolynomial.hasseDeriv_toMvPolynomial_eq_zero: on a polynomial in the single variableXᵢ,∂^(k eᵢ)is the univariatek-th Hasse derivative, and∂^dvanishes wheneverddifferentiates in another variableXⱼ.MvPolynomial.hasseDeriv_comp:∂^a ∘ ∂^b = (∏ⱼ (aⱼ + bⱼ choose aⱼ)) • ∂^(a + b).MvPolynomial.hasseDeriv_X,MvPolynomial.hasseDeriv_mul_X: the value on a variable and the Leibniz rule∂^d (P Xᵢ) = ∂^(d - eᵢ) P + (∂^d P) Xᵢ(the first term only whendᵢ ≠ 0).
References #
- L. Pottmeyer, Diophantine Approximation, lecture notes (2022), §2.6, Lemma 2.6.1 and §3.5.3.
- J.-H. Evertse, Diophantine Approximation, lecture notes (2019), ch. 6, p. 117.
- Mathlib's univariate Hasse derivative
Polynomial.hasseDeriv(Mathlib/Algebra/Polynomial/HasseDeriv.lean, Johan Commelin), whose definition bylsumover monomials and whose statements ofhasseDeriv_mapandhasseDeriv_compthis file follows.
The d-th Hasse derivative ∂^d of a multivariate polynomial, the linear map sending the
monomial a X^m to (∏ⱼ (mⱼ choose dⱼ)) a X^(m - d). The coefficient vanishes unless d ≤ m.
Instances For
The Hasse derivative of a monomial: ∂^d (a X^m) = (∏ⱼ (mⱼ choose dⱼ)) a X^(m - d).
The jet ∂^d (a X^m) at the diagonal point (x, …, x) is
(∏ⱼ (mⱼ choose dⱼ)) a x ^ (∑ⱼ (mⱼ - dⱼ)).
The coefficients of a Hasse derivative:
[X^m] ∂^d P = (∏ⱼ (mⱼ + dⱼ choose dⱼ)) [X^(m + d)] P.
An absolute value of a coefficient of a Hasse derivative is at most 2 ^ |m + d| times that
of the coefficient it comes from: v([X^m] ∂^d P) ≤ 2 ^ |m + d| v([X^(m + d)] P).
If P has partial degrees degreeOf i P ≤ r i, then
v([X^m] ∂^d P) ≤ 2 ^ ∑ᵢ rᵢ * v([X^(m + d)] P).
If P has partial degrees degreeOf i P ≤ r i and coefficients of absolute value at most
B, then every coefficient of every Hasse derivative of P has absolute value at most
2 ^ ∑ᵢ rᵢ * B.
At a nonarchimedean absolute value the binomial coefficients of a Hasse derivative are at
most 1, so v([X^m] ∂^d P) ≤ v([X^(m + d)] P).
The 0-th Hasse derivative is the identity.
Every Hasse derivative of positive order kills constants.
Every Hasse derivative of positive order kills the constant polynomial 1.
Hasse derivatives commute with coefficient ring maps.
Hasse derivatives commute with injective variable renamings, with the derivative multi-index pushed forward along the renaming.
If the degree of P in Xᵢ is less than dᵢ, then ∂^d P = 0.
The Hasse derivative ∂^d lowers the degree in Xᵢ by at least dᵢ.
If P has partial degrees degreeOf i P ≤ L i, then so does every Hasse derivative of P.
Differentiating ∂^(k eᵢ) with respect to Xᵢ gives (k + 1) ∂^((k + 1) eᵢ).
The Hasse derivative ∂^(k eᵢ) is the k-th partial derivative in Xᵢ divided by k!:
k! • ∂^(k eᵢ) P = (∂/∂Xᵢ)^k P.
On a polynomial in the single variable Xᵢ, the Hasse derivative ∂^(k eᵢ) is the
univariate k-th Hasse derivative.
On a polynomial in the single variable Xᵢ, every Hasse derivative ∂^d that differentiates
in another variable Xⱼ (that is, dⱼ ≠ 0 for some j ≠ i) vanishes.
The composition rule ∂^a ∘ ∂^b = (∏ⱼ (aⱼ + bⱼ choose aⱼ)) • ∂^(a + b).
The Leibniz rule for multiplication by a variable:
∂^d (P Xᵢ) = ∂^(d - eᵢ) P + (∂^d P) Xᵢ, where the first term is present only when dᵢ ≠ 0.
The Hasse derivative of a variable is the variable in order zero, 1 in its corresponding
first order, and 0 in every other order.