Documentation

Mathlib.Analysis.Calculus.FDeriv.Norm

Differentiability of the norm in a real normed vector space #

This file provides basic results about the differentiability of the norm in a real vector space. Most are of the following kind: if the norm has some differentiability property (DifferentiableAt, ContDiffAt, HasStrictFDerivAt, HasFDerivAt) at x, then so it has at t • x when t ≠ 0.

Main statements #

Tags #

differentiability, norm

theorem ContDiffAt.contDiffAt_norm_smul {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : WithTop ℕ∞} {x : E} {t : ℝ} (ht : t ≠ 0) (h : ContDiffAt ℝ n (fun (x : E) => ‖x‖) x) :
ContDiffAt ℝ n (fun (x : E) => ‖x‖) (t • x)
theorem contDiffAt_norm_smul_iff {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : WithTop ℕ∞} {x : E} {t : ℝ} (ht : t ≠ 0) :
ContDiffAt ℝ n (fun (x : E) => ‖x‖) x ↔ ContDiffAt ℝ n (fun (x : E) => ‖x‖) (t • x)
theorem ContDiffAt.contDiffAt_norm_of_smul {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {n : WithTop ℕ∞} {x : E} {t : ℝ} (h : ContDiffAt ℝ n (fun (x : E) => ‖x‖) (t • x)) :
ContDiffAt ℝ n (fun (x : E) => ‖x‖) x
theorem HasStrictFDerivAt.hasStrictFDerivAt_norm_smul {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {f : StrongDual ℝ E} {x : E} {t : ℝ} (ht : t ≠ 0) (h : HasStrictFDerivAt (fun (x : E) => ‖x‖) f x) :
HasStrictFDerivAt (fun (x : E) => ‖x‖) (↑(SignType.sign t) • f) (t • x)
theorem HasStrictFDerivAt.hasStrictDerivAt_norm_smul_neg {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {f : StrongDual ℝ E} {x : E} {t : ℝ} (ht : t < 0) (h : HasStrictFDerivAt (fun (x : E) => ‖x‖) f x) :
HasStrictFDerivAt (fun (x : E) => ‖x‖) (-f) (t • x)
theorem HasStrictFDerivAt.hasStrictDerivAt_norm_smul_pos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {f : StrongDual ℝ E} {x : E} {t : ℝ} (ht : 0 < t) (h : HasStrictFDerivAt (fun (x : E) => ‖x‖) f x) :
HasStrictFDerivAt (fun (x : E) => ‖x‖) f (t • x)
theorem HasFDerivAt.hasFDerivAt_norm_smul {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {f : StrongDual ℝ E} {x : E} {t : ℝ} (ht : t ≠ 0) (h : HasFDerivAt (fun (x : E) => ‖x‖) f x) :
HasFDerivAt (fun (x : E) => ‖x‖) (↑(SignType.sign t) • f) (t • x)
theorem HasFDerivAt.hasFDerivAt_norm_smul_neg {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {f : StrongDual ℝ E} {x : E} {t : ℝ} (ht : t < 0) (h : HasFDerivAt (fun (x : E) => ‖x‖) f x) :
HasFDerivAt (fun (x : E) => ‖x‖) (-f) (t • x)
theorem HasFDerivAt.hasFDerivAt_norm_smul_pos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {f : StrongDual ℝ E} {x : E} {t : ℝ} (ht : 0 < t) (h : HasFDerivAt (fun (x : E) => ‖x‖) f x) :
HasFDerivAt (fun (x : E) => ‖x‖) f (t • x)
theorem differentiableAt_norm_smul {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {x : E} {t : ℝ} (ht : t ≠ 0) :
DifferentiableAt ℝ (fun (x : E) => ‖x‖) x ↔ DifferentiableAt ℝ (fun (x : E) => ‖x‖) (t • x)
theorem DifferentiableAt.differentiableAt_norm_of_smul {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {x : E} {t : ℝ} (h : DifferentiableAt ℝ (fun (x : E) => ‖x‖) (t • x)) :
DifferentiableAt ℝ (fun (x : E) => ‖x‖) x
theorem DifferentiableAt.fderiv_norm_self {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {x : E} (h : DifferentiableAt ℝ (fun (x : E) => ‖x‖) x) :
(fderiv ℝ (fun (x : E) => ‖x‖) x) x = ‖x‖
theorem fderiv_norm_smul {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] (x : E) (t : ℝ) :
fderiv ℝ (fun (x : E) => ‖x‖) (t • x) = ↑(SignType.sign t) • fderiv ℝ (fun (x : E) => ‖x‖) x
theorem fderiv_norm_smul_pos {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {x : E} {t : ℝ} (ht : 0 < t) :
fderiv ℝ (fun (x : E) => ‖x‖) (t • x) = fderiv ℝ (fun (x : E) => ‖x‖) x
theorem fderiv_norm_smul_neg {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {x : E} {t : ℝ} (ht : t < 0) :
fderiv ℝ (fun (x : E) => ‖x‖) (t • x) = -fderiv ℝ (fun (x : E) => ‖x‖) x
theorem norm_fderiv_norm {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {x : E} [Nontrivial E] (h : DifferentiableAt ℝ (fun (x : E) => ‖x‖) x) :
‖fderiv ℝ (fun (x : E) => ‖x‖) x‖ = 1