Multiplicative operations on derivatives #
For detailed documentation of the FrΓ©chet derivative,
see the module docstring of Mathlib/Analysis/Calculus/FDeriv/Basic.lean
.
This file contains the usual formulas (and existence assertions) for the derivative of
- composition of continuous linear maps
- application of continuous linear maps to a constant
Derivative of the pointwise composition/application of continuous linear maps #
theorem
HasStrictFDerivAt.clm_comp
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{F : Type u_3}
[NormedAddCommGroup F]
[NormedSpace π F]
{G : Type u_4}
[NormedAddCommGroup G]
[NormedSpace π G]
{x : E}
{H : Type u_5}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β G βL[π] H}
{c' : E βL[π] G βL[π] H}
{d : E β F βL[π] G}
{d' : E βL[π] F βL[π] G}
(hc : HasStrictFDerivAt c c' x)
(hd : HasStrictFDerivAt d d' x)
:
HasStrictFDerivAt (fun (y : E) => (c y).comp (d y))
(((ContinuousLinearMap.compL π F G H) (c x)).comp d' + ((ContinuousLinearMap.compL π F G H).flip (d x)).comp c') x
theorem
HasFDerivWithinAt.clm_comp
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{F : Type u_3}
[NormedAddCommGroup F]
[NormedSpace π F]
{G : Type u_4}
[NormedAddCommGroup G]
[NormedSpace π G]
{x : E}
{s : Set E}
{H : Type u_5}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β G βL[π] H}
{c' : E βL[π] G βL[π] H}
{d : E β F βL[π] G}
{d' : E βL[π] F βL[π] G}
(hc : HasFDerivWithinAt c c' s x)
(hd : HasFDerivWithinAt d d' s x)
:
HasFDerivWithinAt (fun (y : E) => (c y).comp (d y))
(((ContinuousLinearMap.compL π F G H) (c x)).comp d' + ((ContinuousLinearMap.compL π F G H).flip (d x)).comp c') s x
theorem
HasFDerivAt.clm_comp
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{F : Type u_3}
[NormedAddCommGroup F]
[NormedSpace π F]
{G : Type u_4}
[NormedAddCommGroup G]
[NormedSpace π G]
{x : E}
{H : Type u_5}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β G βL[π] H}
{c' : E βL[π] G βL[π] H}
{d : E β F βL[π] G}
{d' : E βL[π] F βL[π] G}
(hc : HasFDerivAt c c' x)
(hd : HasFDerivAt d d' x)
:
HasFDerivAt (fun (y : E) => (c y).comp (d y))
(((ContinuousLinearMap.compL π F G H) (c x)).comp d' + ((ContinuousLinearMap.compL π F G H).flip (d x)).comp c') x
theorem
DifferentiableWithinAt.clm_comp
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{F : Type u_3}
[NormedAddCommGroup F]
[NormedSpace π F]
{G : Type u_4}
[NormedAddCommGroup G]
[NormedSpace π G]
{x : E}
{s : Set E}
{H : Type u_5}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β G βL[π] H}
{d : E β F βL[π] G}
(hc : DifferentiableWithinAt π c s x)
(hd : DifferentiableWithinAt π d s x)
:
DifferentiableWithinAt π (fun (y : E) => (c y).comp (d y)) s x
theorem
DifferentiableAt.clm_comp
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{F : Type u_3}
[NormedAddCommGroup F]
[NormedSpace π F]
{G : Type u_4}
[NormedAddCommGroup G]
[NormedSpace π G]
{x : E}
{H : Type u_5}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β G βL[π] H}
{d : E β F βL[π] G}
(hc : DifferentiableAt π c x)
(hd : DifferentiableAt π d x)
:
DifferentiableAt π (fun (y : E) => (c y).comp (d y)) x
theorem
DifferentiableOn.clm_comp
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{F : Type u_3}
[NormedAddCommGroup F]
[NormedSpace π F]
{G : Type u_4}
[NormedAddCommGroup G]
[NormedSpace π G]
{s : Set E}
{H : Type u_5}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β G βL[π] H}
{d : E β F βL[π] G}
(hc : DifferentiableOn π c s)
(hd : DifferentiableOn π d s)
:
DifferentiableOn π (fun (y : E) => (c y).comp (d y)) s
theorem
Differentiable.clm_comp
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{F : Type u_3}
[NormedAddCommGroup F]
[NormedSpace π F]
{G : Type u_4}
[NormedAddCommGroup G]
[NormedSpace π G]
{H : Type u_5}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β G βL[π] H}
{d : E β F βL[π] G}
(hc : Differentiable π c)
(hd : Differentiable π d)
:
Differentiable π fun (y : E) => (c y).comp (d y)
theorem
fderivWithin_clm_comp
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{F : Type u_3}
[NormedAddCommGroup F]
[NormedSpace π F]
{G : Type u_4}
[NormedAddCommGroup G]
[NormedSpace π G]
{x : E}
{s : Set E}
{H : Type u_5}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β G βL[π] H}
{d : E β F βL[π] G}
(hxs : UniqueDiffWithinAt π s x)
(hc : DifferentiableWithinAt π c s x)
(hd : DifferentiableWithinAt π d s x)
:
fderivWithin π (fun (y : E) => (c y).comp (d y)) s x = ((ContinuousLinearMap.compL π F G H) (c x)).comp (fderivWithin π d s x) + ((ContinuousLinearMap.compL π F G H).flip (d x)).comp (fderivWithin π c s x)
theorem
fderiv_clm_comp
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{F : Type u_3}
[NormedAddCommGroup F]
[NormedSpace π F]
{G : Type u_4}
[NormedAddCommGroup G]
[NormedSpace π G]
{x : E}
{H : Type u_5}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β G βL[π] H}
{d : E β F βL[π] G}
(hc : DifferentiableAt π c x)
(hd : DifferentiableAt π d x)
:
theorem
HasStrictFDerivAt.clm_apply
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{G : Type u_4}
[NormedAddCommGroup G]
[NormedSpace π G]
{x : E}
{H : Type u_5}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β G βL[π] H}
{c' : E βL[π] G βL[π] H}
{u : E β G}
{u' : E βL[π] G}
(hc : HasStrictFDerivAt c c' x)
(hu : HasStrictFDerivAt u u' x)
:
HasStrictFDerivAt (fun (y : E) => (c y) (u y)) ((c x).comp u' + c'.flip (u x)) x
theorem
HasFDerivWithinAt.clm_apply
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{G : Type u_4}
[NormedAddCommGroup G]
[NormedSpace π G]
{x : E}
{s : Set E}
{H : Type u_5}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β G βL[π] H}
{c' : E βL[π] G βL[π] H}
{u : E β G}
{u' : E βL[π] G}
(hc : HasFDerivWithinAt c c' s x)
(hu : HasFDerivWithinAt u u' s x)
:
HasFDerivWithinAt (fun (y : E) => (c y) (u y)) ((c x).comp u' + c'.flip (u x)) s x
theorem
HasFDerivAt.clm_apply
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{G : Type u_4}
[NormedAddCommGroup G]
[NormedSpace π G]
{x : E}
{H : Type u_5}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β G βL[π] H}
{c' : E βL[π] G βL[π] H}
{u : E β G}
{u' : E βL[π] G}
(hc : HasFDerivAt c c' x)
(hu : HasFDerivAt u u' x)
:
HasFDerivAt (fun (y : E) => (c y) (u y)) ((c x).comp u' + c'.flip (u x)) x
theorem
DifferentiableWithinAt.clm_apply
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{G : Type u_4}
[NormedAddCommGroup G]
[NormedSpace π G]
{x : E}
{s : Set E}
{H : Type u_5}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β G βL[π] H}
{u : E β G}
(hc : DifferentiableWithinAt π c s x)
(hu : DifferentiableWithinAt π u s x)
:
DifferentiableWithinAt π (fun (y : E) => (c y) (u y)) s x
theorem
DifferentiableAt.clm_apply
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{G : Type u_4}
[NormedAddCommGroup G]
[NormedSpace π G]
{x : E}
{H : Type u_5}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β G βL[π] H}
{u : E β G}
(hc : DifferentiableAt π c x)
(hu : DifferentiableAt π u x)
:
DifferentiableAt π (fun (y : E) => (c y) (u y)) x
theorem
DifferentiableOn.clm_apply
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{G : Type u_4}
[NormedAddCommGroup G]
[NormedSpace π G]
{s : Set E}
{H : Type u_5}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β G βL[π] H}
{u : E β G}
(hc : DifferentiableOn π c s)
(hu : DifferentiableOn π u s)
:
DifferentiableOn π (fun (y : E) => (c y) (u y)) s
theorem
Differentiable.clm_apply
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{G : Type u_4}
[NormedAddCommGroup G]
[NormedSpace π G]
{H : Type u_5}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β G βL[π] H}
{u : E β G}
(hc : Differentiable π c)
(hu : Differentiable π u)
:
Differentiable π fun (y : E) => (c y) (u y)
theorem
fderivWithin_clm_apply
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{G : Type u_4}
[NormedAddCommGroup G]
[NormedSpace π G]
{x : E}
{s : Set E}
{H : Type u_5}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β G βL[π] H}
{u : E β G}
(hxs : UniqueDiffWithinAt π s x)
(hc : DifferentiableWithinAt π c s x)
(hu : DifferentiableWithinAt π u s x)
:
fderivWithin π (fun (y : E) => (c y) (u y)) s x = (c x).comp (fderivWithin π u s x) + (fderivWithin π c s x).flip (u x)
theorem
fderiv_clm_apply
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{G : Type u_4}
[NormedAddCommGroup G]
[NormedSpace π G]
{x : E}
{H : Type u_5}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β G βL[π] H}
{u : E β G}
(hc : DifferentiableAt π c x)
(hu : DifferentiableAt π u x)
:
Derivative of the application of continuous multilinear maps to a constant #
theorem
HasStrictFDerivAt.continuousMultilinear_apply_const
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{x : E}
{ΞΉ : Type u_5}
[Fintype ΞΉ]
{M : ΞΉ β Type u_6}
[(i : ΞΉ) β NormedAddCommGroup (M i)]
[(i : ΞΉ) β NormedSpace π (M i)]
{H : Type u_7}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β ContinuousMultilinearMap π M H}
{c' : E βL[π] ContinuousMultilinearMap π M H}
(hc : HasStrictFDerivAt c c' x)
(u : (i : ΞΉ) β M i)
:
HasStrictFDerivAt (fun (y : E) => (c y) u) (c'.flipMultilinear u) x
theorem
HasFDerivWithinAt.continuousMultilinear_apply_const
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{x : E}
{s : Set E}
{ΞΉ : Type u_5}
[Fintype ΞΉ]
{M : ΞΉ β Type u_6}
[(i : ΞΉ) β NormedAddCommGroup (M i)]
[(i : ΞΉ) β NormedSpace π (M i)]
{H : Type u_7}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β ContinuousMultilinearMap π M H}
{c' : E βL[π] ContinuousMultilinearMap π M H}
(hc : HasFDerivWithinAt c c' s x)
(u : (i : ΞΉ) β M i)
:
HasFDerivWithinAt (fun (y : E) => (c y) u) (c'.flipMultilinear u) s x
theorem
HasFDerivAt.continuousMultilinear_apply_const
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{x : E}
{ΞΉ : Type u_5}
[Fintype ΞΉ]
{M : ΞΉ β Type u_6}
[(i : ΞΉ) β NormedAddCommGroup (M i)]
[(i : ΞΉ) β NormedSpace π (M i)]
{H : Type u_7}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β ContinuousMultilinearMap π M H}
{c' : E βL[π] ContinuousMultilinearMap π M H}
(hc : HasFDerivAt c c' x)
(u : (i : ΞΉ) β M i)
:
HasFDerivAt (fun (y : E) => (c y) u) (c'.flipMultilinear u) x
theorem
DifferentiableWithinAt.continuousMultilinear_apply_const
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{x : E}
{s : Set E}
{ΞΉ : Type u_5}
[Fintype ΞΉ]
{M : ΞΉ β Type u_6}
[(i : ΞΉ) β NormedAddCommGroup (M i)]
[(i : ΞΉ) β NormedSpace π (M i)]
{H : Type u_7}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β ContinuousMultilinearMap π M H}
(hc : DifferentiableWithinAt π c s x)
(u : (i : ΞΉ) β M i)
:
DifferentiableWithinAt π (fun (y : E) => (c y) u) s x
theorem
DifferentiableAt.continuousMultilinear_apply_const
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{x : E}
{ΞΉ : Type u_5}
[Fintype ΞΉ]
{M : ΞΉ β Type u_6}
[(i : ΞΉ) β NormedAddCommGroup (M i)]
[(i : ΞΉ) β NormedSpace π (M i)]
{H : Type u_7}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β ContinuousMultilinearMap π M H}
(hc : DifferentiableAt π c x)
(u : (i : ΞΉ) β M i)
:
DifferentiableAt π (fun (y : E) => (c y) u) x
theorem
DifferentiableOn.continuousMultilinear_apply_const
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{s : Set E}
{ΞΉ : Type u_5}
[Fintype ΞΉ]
{M : ΞΉ β Type u_6}
[(i : ΞΉ) β NormedAddCommGroup (M i)]
[(i : ΞΉ) β NormedSpace π (M i)]
{H : Type u_7}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β ContinuousMultilinearMap π M H}
(hc : DifferentiableOn π c s)
(u : (i : ΞΉ) β M i)
:
DifferentiableOn π (fun (y : E) => (c y) u) s
theorem
Differentiable.continuousMultilinear_apply_const
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{ΞΉ : Type u_5}
[Fintype ΞΉ]
{M : ΞΉ β Type u_6}
[(i : ΞΉ) β NormedAddCommGroup (M i)]
[(i : ΞΉ) β NormedSpace π (M i)]
{H : Type u_7}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β ContinuousMultilinearMap π M H}
(hc : Differentiable π c)
(u : (i : ΞΉ) β M i)
:
Differentiable π fun (y : E) => (c y) u
theorem
fderivWithin_continuousMultilinear_apply_const
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{x : E}
{s : Set E}
{ΞΉ : Type u_5}
[Fintype ΞΉ]
{M : ΞΉ β Type u_6}
[(i : ΞΉ) β NormedAddCommGroup (M i)]
[(i : ΞΉ) β NormedSpace π (M i)]
{H : Type u_7}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β ContinuousMultilinearMap π M H}
(hxs : UniqueDiffWithinAt π s x)
(hc : DifferentiableWithinAt π c s x)
(u : (i : ΞΉ) β M i)
:
theorem
fderiv_continuousMultilinear_apply_const
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{x : E}
{ΞΉ : Type u_5}
[Fintype ΞΉ]
{M : ΞΉ β Type u_6}
[(i : ΞΉ) β NormedAddCommGroup (M i)]
[(i : ΞΉ) β NormedSpace π (M i)]
{H : Type u_7}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β ContinuousMultilinearMap π M H}
(hc : DifferentiableAt π c x)
(u : (i : ΞΉ) β M i)
:
theorem
fderivWithin_continuousMultilinear_apply_const_apply
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{x : E}
{s : Set E}
{ΞΉ : Type u_5}
[Fintype ΞΉ]
{M : ΞΉ β Type u_6}
[(i : ΞΉ) β NormedAddCommGroup (M i)]
[(i : ΞΉ) β NormedSpace π (M i)]
{H : Type u_7}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β ContinuousMultilinearMap π M H}
(hxs : UniqueDiffWithinAt π s x)
(hc : DifferentiableWithinAt π c s x)
(u : (i : ΞΉ) β M i)
(m : E)
:
Application of a ContinuousMultilinearMap
to a constant commutes with fderivWithin
.
theorem
fderiv_continuousMultilinear_apply_const_apply
{π : Type u_1}
[NontriviallyNormedField π]
{E : Type u_2}
[NormedAddCommGroup E]
[NormedSpace π E]
{x : E}
{ΞΉ : Type u_5}
[Fintype ΞΉ]
{M : ΞΉ β Type u_6}
[(i : ΞΉ) β NormedAddCommGroup (M i)]
[(i : ΞΉ) β NormedSpace π (M i)]
{H : Type u_7}
[NormedAddCommGroup H]
[NormedSpace π H]
{c : E β ContinuousMultilinearMap π M H}
(hc : DifferentiableAt π c x)
(u : (i : ΞΉ) β M i)
(m : E)
:
Application of a ContinuousMultilinearMap
to a constant commutes with fderiv
.