Documentation

Interval.EulerMaclaurin.PartialDerivCommute

Partial derivatives commute #

theorem fderiv_fderiv_comm {E : Type} [NormedAddCommGroup E] [NormedSpace E] {F : Type} [NormedAddCommGroup F] [NormedSpace F] {G : Type} [NormedAddCommGroup G] [NormedSpace G] {f : E × FG} {z : E × F} {dx : E} {dy : F} (sf : ContDiff 2 f) :
(fderiv (fun (x : E) => (fderiv (fun (y : F) => f (x, y)) z.2) dy) z.1) dx = (fderiv (fun (y : F) => (fderiv (fun (x : E) => f (x, y)) z.1) dx) z.2) dy
theorem deriv_deriv_comm {E : Type} [NormedAddCommGroup E] [NormedSpace E] {f : × E} {z : × } (sf : ContDiff 2 f) :
deriv (fun (x : ) => deriv (fun (y : ) => f (x, y)) z.2) z.1 = deriv (fun (y : ) => deriv (fun (x : ) => f (x, y)) z.1) z.2
theorem ContDiff.iteratedDeriv_right {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {f : 𝕜E} {m : WithTop ℕ∞} {n : ℕ∞} {i : } (hf : ContDiff 𝕜 (↑n) f) (hmn : m + i n) :
theorem ContDiff.deriv {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {F : Type u_3} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {f : E𝕜F} {g : E𝕜} {m : WithTop ℕ∞} (fc : ContDiff 𝕜 (Function.uncurry f)) (gc : ContDiff 𝕜 g) :
ContDiff 𝕜 m fun (z : E) => _root_.deriv (fun (y : 𝕜) => f z y) (g z)
theorem ContDiff.iteratedDeriv {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {F : Type u_3} [NormedAddCommGroup F] [NormedSpace 𝕜 F] {f : E𝕜F} {g : E𝕜} {m : WithTop ℕ∞} {n : } (fc : ContDiff 𝕜 (Function.uncurry f)) (gc : ContDiff 𝕜 g) :
ContDiff 𝕜 m fun (z : E) => _root_.iteratedDeriv n (fun (y : 𝕜) => f z y) (g z)
theorem deriv_iteratedDeriv_comm {E : Type} [NormedAddCommGroup E] [NormedSpace E] {f : × E} {z : × } (fc : ContDiff f) (n : ) :
deriv (fun (x : ) => iteratedDeriv n (fun (y : ) => f (x, y)) z.2) z.1 = iteratedDeriv n (fun (y : ) => deriv (fun (x : ) => f (x, y)) z.1) z.2