mathlib documentation

data.polynomial.derivative

The derivative map on polynomials #

Main definitions #

noncomputable def polynomial.derivative {R : Type u} [semiring R] :

derivative p is the formal derivative of the polynomial p

Equations
theorem polynomial.derivative_apply {R : Type u} [semiring R] (p : R[X]) :
polynomial.derivative p = p.sum (λ (n : ) (a : R), (polynomial.C (a * n)) * polynomial.X ^ (n - 1))
theorem polynomial.coeff_derivative {R : Type u} [semiring R] (p : R[X]) (n : ) :
(polynomial.derivative p).coeff n = (p.coeff (n + 1)) * (n + 1)
@[simp]
@[simp]
@[simp]
@[simp]
@[simp]
theorem polynomial.derivative_C {R : Type u} [semiring R] {a : R} :
@[simp]
@[simp]
theorem polynomial.derivative_sum {R : Type u} {ι : Type y} [semiring R] {s : finset ι} {f : ι → R[X]} :
polynomial.derivative (∑ (b : ι) in s, f b) = ∑ (b : ι) in s, polynomial.derivative (f b)
@[simp]
theorem polynomial.derivative_smul {R : Type u} [semiring R] (r : R) (p : R[X]) :
@[simp]
@[simp]

We can't use derivative_mul here because we want to prove this statement also for noncommutative rings.

theorem polynomial.derivative_eval {R : Type u} [comm_semiring R] (p : R[X]) (x : R) :
polynomial.eval x (polynomial.derivative p) = p.sum (λ (n : ) (a : R), (a * n) * x ^ (n - 1))
theorem polynomial.derivative_pow_succ {R : Type u} [comm_semiring R] (p : R[X]) (n : ) :
theorem polynomial.derivative_pow {R : Type u} [comm_semiring R] (p : R[X]) (n : ) :
theorem polynomial.derivative_prod {R : Type u} {ι : Type y} [comm_semiring R] {s : multiset ι} {f : ι → R[X]} :
theorem polynomial.of_mem_support_derivative {R : Type u} [comm_semiring R] {p : R[X]} {n : } (h : n (polynomial.derivative p).support) :
n + 1 p.support
theorem polynomial.degree_derivative_lt {R : Type u} [comm_semiring R] {p : R[X]} (hp : p 0) :
noncomputable def polynomial.derivative_lhom (R : Type u_1) [comm_ring R] :

The formal derivative of polynomials, as linear homomorphism.

Equations
theorem polynomial.eval_multiset_prod_X_sub_C_derivative {R : Type u} [comm_ring R] {S : multiset R} {r : R} (hr : r S) :
@[simp]
theorem polynomial.degree_derivative_eq {R : Type u} [ring R] [is_domain R] [char_zero R] (p : R[X]) (hp : 0 < p.nat_degree) :