Hasse derivative of polynomials #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
The kth Hasse derivative of a polynomial ∑ a_i X^i is ∑ (i.choose k) a_i X^(i-k).
It is a variant of the usual derivative, and satisfies k! * (hasse_deriv k f) = derivative^[k] f.
The main benefit is that is gives an atomic way of talking about expressions such as
(derivative^[k] f).eval r / k!, that occur in Taylor expansions, for example.
Main declarations #
In the following, we write D k for the k-th Hasse derivative hasse_deriv k.
polynomial.hasse_deriv: thek-th Hasse derivative of a polynomialpolynomial.hasse_deriv_zero: the0th Hasse derivative is the identitypolynomial.hasse_deriv_one: the1st Hasse derivative is the usual derivativepolynomial.factorial_smul_hasse_deriv: the identityk! • (D k f) = derivative^[k] fpolynomial.hasse_deriv_comp: the identity(D k).comp (D l) = (k+l).choose k • D (k+l)polynomial.hasse_deriv_mul: the "Leibniz rule"D k (f * g) = ∑ ij in antidiagonal k, D ij.1 f * D ij.2 g
For the identity principle, see polynomial.eq_zero_of_hasse_deriv_eq_zero
in data/polynomial/taylor.lean.
Reference #
The kth Hasse derivative of a polynomial ∑ a_i X^i is ∑ (i.choose k) a_i X^(i-k).
It satisfies k! * (hasse_deriv k f) = derivative^[k] f.
Equations
- polynomial.hasse_deriv k = polynomial.lsum (λ (i : ℕ), (polynomial.monomial (i - k)).comp (distrib_mul_action.to_linear_map R R (i.choose k)))