Documentation

Mathlib.Algebra.MvPolynomial.PDeriv

Partial derivatives of polynomials #

This file defines the notion of the formal partial derivative of a polynomial, the derivative with respect to a single variable. This derivative is not connected to the notion of derivative from analysis. It is based purely on the polynomial exponents and coefficients.

Main declarations #

Notation #

As in other polynomial files, we typically use the notation:

def MvPolynomial.pderiv {R : Type u} {σ : Type v} [CommSemiring R] (i : σ) :

pderiv i p is the partial derivative of p with respect to i

Equations
Instances For
    theorem MvPolynomial.pderiv_def {R : Type u} {σ : Type v} [CommSemiring R] [DecidableEq σ] (i : σ) :
    @[simp]
    theorem MvPolynomial.pderiv_monomial {R : Type u} {σ : Type v} {a : R} {s : σ →₀ } [CommSemiring R] {i : σ} :
    (pderiv i) ((monomial s) a) = (monomial (s - Finsupp.single i 1)) (a * (s i))
    theorem MvPolynomial.X_mul_pderiv_monomial {R : Type u} {σ : Type v} [CommSemiring R] {i : σ} {m : σ →₀ } {r : R} :
    X i * (pderiv i) ((monomial m) r) = m i (monomial m) r
    theorem MvPolynomial.pderiv_C {R : Type u} {σ : Type v} {a : R} [CommSemiring R] {i : σ} :
    (pderiv i) (C a) = 0
    theorem MvPolynomial.pderiv_one {R : Type u} {σ : Type v} [CommSemiring R] {i : σ} :
    (pderiv i) 1 = 0
    @[simp]
    theorem MvPolynomial.pderiv_X {R : Type u} {σ : Type v} [CommSemiring R] [DecidableEq σ] (i j : σ) :
    (pderiv i) (X j) = Pi.single i 1 j
    @[simp]
    theorem MvPolynomial.pderiv_X_self {R : Type u} {σ : Type v} [CommSemiring R] (i : σ) :
    (pderiv i) (X i) = 1
    @[simp]
    theorem MvPolynomial.pderiv_X_of_ne {R : Type u} {σ : Type v} [CommSemiring R] {i j : σ} (h : j i) :
    (pderiv i) (X j) = 0
    theorem MvPolynomial.pderiv_eq_zero_of_not_mem_vars {R : Type u} {σ : Type v} [CommSemiring R] {i : σ} {f : MvPolynomial σ R} (h : if.vars) :
    (pderiv i) f = 0
    theorem MvPolynomial.pderiv_monomial_single {R : Type u} {σ : Type v} {a : R} [CommSemiring R] {i : σ} {n : } :
    (pderiv i) ((monomial (Finsupp.single i n)) a) = (monomial (Finsupp.single i (n - 1))) (a * n)
    theorem MvPolynomial.pderiv_mul {R : Type u} {σ : Type v} [CommSemiring R] {i : σ} {f g : MvPolynomial σ R} :
    (pderiv i) (f * g) = (pderiv i) f * g + f * (pderiv i) g
    theorem MvPolynomial.pderiv_pow {R : Type u} {σ : Type v} [CommSemiring R] {i : σ} {f : MvPolynomial σ R} {n : } :
    (pderiv i) (f ^ n) = n * f ^ (n - 1) * (pderiv i) f
    theorem MvPolynomial.pderiv_C_mul {R : Type u} {σ : Type v} {a : R} [CommSemiring R] {f : MvPolynomial σ R} {i : σ} :
    (pderiv i) (C a * f) = C a * (pderiv i) f
    theorem MvPolynomial.pderiv_map {R : Type u} {σ : Type v} [CommSemiring R] {S : Type u_1} [CommSemiring S] {φ : R →+* S} {f : MvPolynomial σ R} {i : σ} :
    (pderiv i) ((map φ) f) = (map φ) ((pderiv i) f)
    theorem MvPolynomial.pderiv_rename {R : Type u} {σ : Type v} [CommSemiring R] {τ : Type u_1} {f : στ} (hf : Function.Injective f) (x : σ) (p : MvPolynomial σ R) :
    (pderiv (f x)) ((rename f) p) = (rename f) ((pderiv x) p)
    theorem MvPolynomial.aeval_sum_elim_pderiv_inl {R : Type u} {σ : Type v} [CommSemiring R] {S : Type u_1} {τ : Type u_2} [CommRing S] [Algebra R S] (p : MvPolynomial (σ τ) R) (f : τS) (j : σ) :
    (aeval (Sum.elim X (C f))) ((pderiv (Sum.inl j)) p) = (pderiv j) ((aeval (Sum.elim X (C f))) p)