Skip to content

Commit 9afedb2

Browse files
committed
feat(Analysis/Calculus): norm bound for iterated derivatives of composition with CLM (#32572)
1 parent f5f630e commit 9afedb2

File tree

1 file changed

+16
-5
lines changed

1 file changed

+16
-5
lines changed

Mathlib/Analysis/Calculus/ContDiff/Bounds.lean

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -556,17 +556,28 @@ theorem norm_iteratedFDeriv_clm_apply {f : E → F →L[𝕜] G} {g : E → F} {
556556
exact norm_iteratedFDerivWithin_clm_apply hf.contDiffOn hg.contDiffOn uniqueDiffOn_univ
557557
(Set.mem_univ x) hn
558558

559+
theorem ContinuousLinearMap.norm_iteratedFDerivWithin_comp_left (L : F →L[𝕜] G) {f : E → F}
560+
{s : Set E} {x : E} {N : WithTop ℕ∞} {n : ℕ} (hf : ContDiffWithinAt 𝕜 N f s x)
561+
(hs : UniqueDiffOn 𝕜 s) (hx : x ∈ s) (hn : n ≤ N) :
562+
‖iteratedFDerivWithin 𝕜 n (L ∘ f) s x‖ ≤ ‖L‖ * ‖iteratedFDerivWithin 𝕜 n f s x‖ := by
563+
have h := L.norm_compContinuousMultilinearMap_le (iteratedFDerivWithin 𝕜 n f s x)
564+
rwa [← L.iteratedFDerivWithin_comp_left hf hs hx hn] at h
565+
566+
theorem ContinuousLinearMap.norm_iteratedFDeriv_comp_left (L : F →L[𝕜] G) {f : E → F} {x : E}
567+
{N : WithTop ℕ∞} {n : ℕ} (hf : ContDiffAt 𝕜 N f x) (hn : n ≤ N) :
568+
‖iteratedFDeriv 𝕜 n (L ∘ f) x‖ ≤ ‖L‖ * ‖iteratedFDeriv 𝕜 n f x‖ := by
569+
simp only [← iteratedFDerivWithin_univ]
570+
exact L.norm_iteratedFDerivWithin_comp_left hf.contDiffWithinAt uniqueDiffOn_univ (Set.mem_univ x)
571+
hn
572+
559573
theorem norm_iteratedFDerivWithin_clm_apply_const {f : E → F →L[𝕜] G} {c : F} {s : Set E} {x : E}
560574
{N : WithTop ℕ∞} {n : ℕ} (hf : ContDiffWithinAt 𝕜 N f s x) (hs : UniqueDiffOn 𝕜 s)
561575
(hx : x ∈ s) (hn : n ≤ N) :
562576
‖iteratedFDerivWithin 𝕜 n (fun y : E => (f y) c) s x‖ ≤
563577
‖c‖ * ‖iteratedFDerivWithin 𝕜 n f s x‖ := by
564-
let g : (F →L[𝕜] G) →L[𝕜] G := ContinuousLinearMap.apply 𝕜 G c
565-
have h := g.norm_compContinuousMultilinearMap_le (iteratedFDerivWithin 𝕜 n f s x)
566-
rw [← g.iteratedFDerivWithin_comp_left hf hs hx hn] at h
567-
refine h.trans ?_
578+
apply ((ContinuousLinearMap.apply 𝕜 G c).norm_iteratedFDerivWithin_comp_left hf hs hx hn).trans
568579
gcongr
569-
refine g.opNorm_le_bound (norm_nonneg _) fun f => ?_
580+
refine (ContinuousLinearMap.apply 𝕜 G c).opNorm_le_bound (norm_nonneg _) fun f => ?_
570581
rw [ContinuousLinearMap.apply_apply, mul_comm]
571582
exact f.le_opNorm c
572583

0 commit comments

Comments
 (0)