@@ -876,10 +876,31 @@ section Derivatives
876876/-! ### Derivatives of Schwartz functions -/
877877
878878variable (𝕜)
879- variable [RCLike 𝕜] [NormedSpace 𝕜 F] [SMulCommClass ℝ 𝕜 F]
879+ variable [RCLike 𝕜] [NormedSpace 𝕜 F]
880+
881+ variable (F) in
882+ /-- The 1-dimensional derivative on Schwartz space as a continuous `𝕜`-linear map. -/
883+ def derivCLM : 𝓢(ℝ, F) →L[𝕜] 𝓢(ℝ, F) :=
884+ mkCLM (deriv ·) (fun f g _ => deriv_add f.differentiableAt g.differentiableAt)
885+ (fun a f _ => deriv_const_smul a f.differentiableAt)
886+ (fun f => (contDiff_succ_iff_deriv.mp (f.smooth ⊤)).2 .2 ) fun ⟨k, n⟩ =>
887+ ⟨{⟨k, n + 1 ⟩}, 1 , zero_le_one, fun f x => by
888+ simpa only [Real.norm_eq_abs, Finset.sup_singleton, schwartzSeminormFamily_apply, one_mul,
889+ norm_iteratedFDeriv_eq_norm_iteratedDeriv, ← iteratedDeriv_succ'] using
890+ f.le_seminorm' 𝕜 k (n + 1 ) x⟩
891+
892+ @[simp]
893+ theorem derivCLM_apply (f : 𝓢(ℝ, F)) (x : ℝ) : derivCLM 𝕜 F f x = deriv f x :=
894+ rfl
895+
896+ theorem hasDerivAt (f : 𝓢(ℝ, F)) (x : ℝ) : HasDerivAt f (deriv f x) x :=
897+ f.differentiableAt.hasDerivAt
898+
899+ variable [SMulCommClass ℝ 𝕜 F]
880900
881901open LineDeriv
882902
903+ variable (E F) in
883904/-- The Fréchet derivative on Schwartz space as a continuous `𝕜`-linear map. -/
884905def fderivCLM : 𝓢(E, F) →L[𝕜] 𝓢(E, E →L[ℝ] F) :=
885906 mkCLM (fderiv ℝ ·) (fun f g _ => fderiv_add f.differentiableAt g.differentiableAt)
@@ -890,47 +911,30 @@ def fderivCLM : 𝓢(E, F) →L[𝕜] 𝓢(E, E →L[ℝ] F) :=
890911 one_smul, norm_iteratedFDeriv_fderiv, one_mul] using f.le_seminorm 𝕜 k (n + 1 ) x⟩
891912
892913@[simp]
893- theorem fderivCLM_apply (f : 𝓢(E, F)) (x : E) : fderivCLM 𝕜 f x = fderiv ℝ f x :=
914+ theorem fderivCLM_apply (f : 𝓢(E, F)) (x : E) : fderivCLM 𝕜 E F f x = fderiv ℝ f x :=
894915 rfl
895916
896917theorem hasFDerivAt (f : 𝓢(E, F)) (x : E) : HasFDerivAt f (fderiv ℝ f x) x :=
897918 f.differentiableAt.hasFDerivAt
898919
899- /-- The 1-dimensional derivative on Schwartz space as a continuous `𝕜`-linear map. -/
900- def derivCLM : 𝓢(ℝ, F) →L[𝕜] 𝓢(ℝ, F) :=
901- mkCLM (deriv ·) (fun f g _ => deriv_add f.differentiableAt g.differentiableAt)
902- (fun a f _ => deriv_const_smul a f.differentiableAt)
903- (fun f => (contDiff_succ_iff_deriv.mp (f.smooth ⊤)).2 .2 ) fun ⟨k, n⟩ =>
904- ⟨{⟨k, n + 1 ⟩}, 1 , zero_le_one, fun f x => by
905- simpa only [Real.norm_eq_abs, Finset.sup_singleton, schwartzSeminormFamily_apply, one_mul,
906- norm_iteratedFDeriv_eq_norm_iteratedDeriv, ← iteratedDeriv_succ'] using
907- f.le_seminorm' 𝕜 k (n + 1 ) x⟩
908-
909- @[simp]
910- theorem derivCLM_apply (f : 𝓢(ℝ, F)) (x : ℝ) : derivCLM 𝕜 f x = deriv f x :=
911- rfl
912-
913- theorem hasDerivAt (f : 𝓢(ℝ, F)) (x : ℝ) : HasDerivAt f (deriv f x) x :=
914- f.differentiableAt.hasDerivAt
915-
916920/-- The partial derivative (or directional derivative) in the direction `m : E` as a
917921continuous linear map on Schwartz space. -/
918922instance instLineDeriv : LineDeriv E 𝓢(E, F) 𝓢(E, F) where
919- lineDerivOp m f := (SchwartzMap.evalCLM m).comp (fderivCLM 𝕜 ) f
923+ lineDerivOp m f := (SchwartzMap.evalCLM m).comp (fderivCLM ℝ E F ) f
920924
921925instance instLineDerivAdd : LineDerivAdd E 𝓢(E, F) 𝓢(E, F) where
922- lineDerivOp_add m := ((SchwartzMap.evalCLM m).comp (fderivCLM 𝕜 )).map_add
926+ lineDerivOp_add m := ((SchwartzMap.evalCLM m).comp (fderivCLM ℝ E F )).map_add
923927
924928instance instLineDerivSMul : LineDerivSMul 𝕜 E 𝓢(E, F) 𝓢(E, F) where
925- lineDerivOp_smul m := ((SchwartzMap.evalCLM m).comp (fderivCLM 𝕜)).map_smul
929+ lineDerivOp_smul m := ((SchwartzMap.evalCLM m).comp (fderivCLM 𝕜 E F )).map_smul
926930
927931instance instContinuousLineDeriv : ContinuousLineDeriv E 𝓢(E, F) 𝓢(E, F) where
928- continuous_lineDerivOp m := ((SchwartzMap.evalCLM m).comp (fderivCLM 𝕜 )).continuous
932+ continuous_lineDerivOp m := ((SchwartzMap.evalCLM m).comp (fderivCLM ℝ E F )).continuous
929933
930934open LineDeriv
931935
932936theorem lineDerivOpCLM_eq (m : E) :
933- lineDerivOpCLM 𝕜 𝓢(E, F) m = (SchwartzMap.evalCLM m).comp (fderivCLM 𝕜) := rfl
937+ lineDerivOpCLM 𝕜 𝓢(E, F) m = (SchwartzMap.evalCLM m).comp (fderivCLM 𝕜 E F ) := rfl
934938
935939@ [deprecated (since := "2025-11-25" )]
936940alias pderivCLM := lineDerivOpCLM
@@ -1318,8 +1322,8 @@ theorem integral_bilinear_deriv_right_eq_neg_left (f : 𝓢(ℝ, E)) (g : 𝓢(
13181322 (L : E →L[ℝ] F →L[ℝ] V) :
13191323 ∫ (x : ℝ), L (f x) (deriv g x) = -∫ (x : ℝ), L (deriv f x) (g x) :=
13201324 MeasureTheory.integral_bilinear_hasDerivAt_right_eq_neg_left_of_integrable
1321- f.hasDerivAt g.hasDerivAt (pairing L f (derivCLM ℝ g)).integrable
1322- (pairing L (derivCLM ℝ f) g).integrable (pairing L f g).integrable
1325+ f.hasDerivAt g.hasDerivAt (pairing L f (derivCLM ℝ F g)).integrable
1326+ (pairing L (derivCLM ℝ E f) g).integrable (pairing L f g).integrable
13231327
13241328variable [NormedRing 𝕜] [NormedSpace ℝ 𝕜] [IsScalarTower ℝ 𝕜 𝕜] [SMulCommClass ℝ 𝕜 𝕜] in
13251329/-- Integration by parts of Schwartz functions for the 1-dimensional derivative.
0 commit comments