HepLean Documentation

Mathlib.Analysis.Calculus.Deriv.Polynomial

Derivatives of polynomials #

In this file we prove that derivatives of polynomials in the analysis sense agree with their derivatives in the algebraic sense.

For a more detailed overview of one-dimensional derivatives in mathlib, see the module docstring of analysis/calculus/deriv/basic.

TODO #

Keywords #

derivative, polynomial

Derivative of a polynomial #

theorem Polynomial.hasStrictDerivAt {𝕜 : Type u} [NontriviallyNormedField 𝕜] (p : Polynomial 𝕜) (x : 𝕜) :
HasStrictDerivAt (fun (x : 𝕜) => Polynomial.eval x p) (Polynomial.eval x (Polynomial.derivative p)) x

The derivative (in the analysis sense) of a polynomial p is given by p.derivative.

theorem Polynomial.hasStrictDerivAt_aeval {𝕜 : Type u} [NontriviallyNormedField 𝕜] {R : Type u_1} [CommSemiring R] [Algebra R 𝕜] (q : Polynomial R) (x : 𝕜) :
HasStrictDerivAt (fun (x : 𝕜) => (Polynomial.aeval x) q) ((Polynomial.aeval x) (Polynomial.derivative q)) x
theorem Polynomial.hasDerivAt {𝕜 : Type u} [NontriviallyNormedField 𝕜] (p : Polynomial 𝕜) (x : 𝕜) :
HasDerivAt (fun (x : 𝕜) => Polynomial.eval x p) (Polynomial.eval x (Polynomial.derivative p)) x

The derivative (in the analysis sense) of a polynomial p is given by p.derivative.

theorem Polynomial.hasDerivAt_aeval {𝕜 : Type u} [NontriviallyNormedField 𝕜] {R : Type u_1} [CommSemiring R] [Algebra R 𝕜] (q : Polynomial R) (x : 𝕜) :
HasDerivAt (fun (x : 𝕜) => (Polynomial.aeval x) q) ((Polynomial.aeval x) (Polynomial.derivative q)) x
theorem Polynomial.hasDerivWithinAt {𝕜 : Type u} [NontriviallyNormedField 𝕜] (p : Polynomial 𝕜) (x : 𝕜) (s : Set 𝕜) :
HasDerivWithinAt (fun (x : 𝕜) => Polynomial.eval x p) (Polynomial.eval x (Polynomial.derivative p)) s x
theorem Polynomial.hasDerivWithinAt_aeval {𝕜 : Type u} [NontriviallyNormedField 𝕜] {R : Type u_1} [CommSemiring R] [Algebra R 𝕜] (q : Polynomial R) (x : 𝕜) (s : Set 𝕜) :
HasDerivWithinAt (fun (x : 𝕜) => (Polynomial.aeval x) q) ((Polynomial.aeval x) (Polynomial.derivative q)) s x
theorem Polynomial.differentiableAt {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} (p : Polynomial 𝕜) :
DifferentiableAt 𝕜 (fun (x : 𝕜) => Polynomial.eval x p) x
theorem Polynomial.differentiableAt_aeval {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {R : Type u_1} [CommSemiring R] [Algebra R 𝕜] (q : Polynomial R) :
DifferentiableAt 𝕜 (fun (x : 𝕜) => (Polynomial.aeval x) q) x
theorem Polynomial.differentiableWithinAt {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {s : Set 𝕜} (p : Polynomial 𝕜) :
DifferentiableWithinAt 𝕜 (fun (x : 𝕜) => Polynomial.eval x p) s x
theorem Polynomial.differentiableWithinAt_aeval {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {s : Set 𝕜} {R : Type u_1} [CommSemiring R] [Algebra R 𝕜] (q : Polynomial R) :
DifferentiableWithinAt 𝕜 (fun (x : 𝕜) => (Polynomial.aeval x) q) s x
theorem Polynomial.differentiable {𝕜 : Type u} [NontriviallyNormedField 𝕜] (p : Polynomial 𝕜) :
Differentiable 𝕜 fun (x : 𝕜) => Polynomial.eval x p
theorem Polynomial.differentiable_aeval {𝕜 : Type u} [NontriviallyNormedField 𝕜] {R : Type u_1} [CommSemiring R] [Algebra R 𝕜] (q : Polynomial R) :
Differentiable 𝕜 fun (x : 𝕜) => (Polynomial.aeval x) q
theorem Polynomial.differentiableOn {𝕜 : Type u} [NontriviallyNormedField 𝕜] {s : Set 𝕜} (p : Polynomial 𝕜) :
DifferentiableOn 𝕜 (fun (x : 𝕜) => Polynomial.eval x p) s
theorem Polynomial.differentiableOn_aeval {𝕜 : Type u} [NontriviallyNormedField 𝕜] {s : Set 𝕜} {R : Type u_1} [CommSemiring R] [Algebra R 𝕜] (q : Polynomial R) :
DifferentiableOn 𝕜 (fun (x : 𝕜) => (Polynomial.aeval x) q) s
@[simp]
theorem Polynomial.deriv {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} (p : Polynomial 𝕜) :
deriv (fun (x : 𝕜) => Polynomial.eval x p) x = Polynomial.eval x (Polynomial.derivative p)
@[simp]
theorem Polynomial.deriv_aeval {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {R : Type u_1} [CommSemiring R] [Algebra R 𝕜] (q : Polynomial R) :
deriv (fun (x : 𝕜) => (Polynomial.aeval x) q) x = (Polynomial.aeval x) (Polynomial.derivative q)
theorem Polynomial.derivWithin {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {s : Set 𝕜} (p : Polynomial 𝕜) (hxs : UniqueDiffWithinAt 𝕜 s x) :
derivWithin (fun (x : 𝕜) => Polynomial.eval x p) s x = Polynomial.eval x (Polynomial.derivative p)
theorem Polynomial.derivWithin_aeval {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {s : Set 𝕜} {R : Type u_1} [CommSemiring R] [Algebra R 𝕜] (q : Polynomial R) (hxs : UniqueDiffWithinAt 𝕜 s x) :
derivWithin (fun (x : 𝕜) => (Polynomial.aeval x) q) s x = (Polynomial.aeval x) (Polynomial.derivative q)
theorem Polynomial.hasFDerivAt {𝕜 : Type u} [NontriviallyNormedField 𝕜] (p : Polynomial 𝕜) (x : 𝕜) :
HasFDerivAt (fun (x : 𝕜) => Polynomial.eval x p) (ContinuousLinearMap.smulRight 1 (Polynomial.eval x (Polynomial.derivative p))) x
theorem Polynomial.hasFDerivAt_aeval {𝕜 : Type u} [NontriviallyNormedField 𝕜] {R : Type u_1} [CommSemiring R] [Algebra R 𝕜] (q : Polynomial R) (x : 𝕜) :
HasFDerivAt (fun (x : 𝕜) => (Polynomial.aeval x) q) (ContinuousLinearMap.smulRight 1 ((Polynomial.aeval x) (Polynomial.derivative q))) x
theorem Polynomial.hasFDerivWithinAt {𝕜 : Type u} [NontriviallyNormedField 𝕜] {s : Set 𝕜} (p : Polynomial 𝕜) (x : 𝕜) :
HasFDerivWithinAt (fun (x : 𝕜) => Polynomial.eval x p) (ContinuousLinearMap.smulRight 1 (Polynomial.eval x (Polynomial.derivative p))) s x
theorem Polynomial.hasFDerivWithinAt_aeval {𝕜 : Type u} [NontriviallyNormedField 𝕜] {s : Set 𝕜} {R : Type u_1} [CommSemiring R] [Algebra R 𝕜] (q : Polynomial R) (x : 𝕜) :
HasFDerivWithinAt (fun (x : 𝕜) => (Polynomial.aeval x) q) (ContinuousLinearMap.smulRight 1 ((Polynomial.aeval x) (Polynomial.derivative q))) s x
@[simp]
theorem Polynomial.fderiv {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} (p : Polynomial 𝕜) :
fderiv 𝕜 (fun (x : 𝕜) => Polynomial.eval x p) x = ContinuousLinearMap.smulRight 1 (Polynomial.eval x (Polynomial.derivative p))
@[simp]
theorem Polynomial.fderiv_aeval {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {R : Type u_1} [CommSemiring R] [Algebra R 𝕜] (q : Polynomial R) :
fderiv 𝕜 (fun (x : 𝕜) => (Polynomial.aeval x) q) x = ContinuousLinearMap.smulRight 1 ((Polynomial.aeval x) (Polynomial.derivative q))
theorem Polynomial.fderivWithin {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {s : Set 𝕜} (p : Polynomial 𝕜) (hxs : UniqueDiffWithinAt 𝕜 s x) :
fderivWithin 𝕜 (fun (x : 𝕜) => Polynomial.eval x p) s x = ContinuousLinearMap.smulRight 1 (Polynomial.eval x (Polynomial.derivative p))
theorem Polynomial.fderivWithin_aeval {𝕜 : Type u} [NontriviallyNormedField 𝕜] {x : 𝕜} {s : Set 𝕜} {R : Type u_1} [CommSemiring R] [Algebra R 𝕜] (q : Polynomial R) (hxs : UniqueDiffWithinAt 𝕜 s x) :
fderivWithin 𝕜 (fun (x : 𝕜) => (Polynomial.aeval x) q) s x = ContinuousLinearMap.smulRight 1 ((Polynomial.aeval x) (Polynomial.derivative q))