English
For a normed algebra setting with 𝕂, 𝕊, 𝔸 and x ∈ 𝔸, the map u ↦ exp(𝕂 (u • x)) from 𝕊 to 𝔸 is Frechet differentiable at t, with derivative given by the linear map h ↦ exp(𝕂 (t • x)) (h • x).
Русский
Для обобщённых условий над 𝕂, 𝕊, 𝔸 и x ∈ 𝔸, функция u ↦ exp(𝕂 (u • x)) с поверхности 𝕊 в 𝔸 дифференцируема по Фреше в t, производная удовлетворяет линейному отображению h ↦ exp(𝕂 (t • x)) (h • x).
LaTeX
$$$$ D\big(u \mapsto \exp 𝕂 (u • x)\big)(t)[h] = \exp 𝕂 (t • x) \; (h • x), \quad h \in 𝕊. $$$$
Lean4
theorem hasFDerivAt_exp_smul_const_of_mem_ball (x : 𝔸) (t : 𝕊)
(htx : t • x ∈ EMetric.ball (0 : 𝔸) (expSeries 𝕂 𝔸).radius) :
HasFDerivAt (fun u : 𝕊 => exp 𝕂 (u • x)) (exp 𝕂 (t • x) • (1 : 𝕊 →L[𝕂] 𝕊).smulRight x) t := by
-- TODO: prove this via `hasFDerivAt_exp_of_mem_ball` using the commutative ring
-- `Algebra.elementalAlgebra 𝕊 x`. See https://github.com/leanprover-community/mathlib3/pull/19062 for discussion.
have hpos : 0 < (expSeries 𝕂 𝔸).radius := (zero_le _).trans_lt htx
rw [hasFDerivAt_iff_isLittleO_nhds_zero]
suffices
(fun (h : 𝕊) =>
exp 𝕂 (t • x) * (exp 𝕂 ((0 + h) • x) - exp 𝕂 ((0 : 𝕊) • x) - ((1 : 𝕊 →L[𝕂] 𝕊).smulRight x) h)) =ᶠ[𝓝 0]
fun h => exp 𝕂 ((t + h) • x) - exp 𝕂 (t • x) - (exp 𝕂 (t • x) • (1 : 𝕊 →L[𝕂] 𝕊).smulRight x) h
by
apply (IsLittleO.const_mul_left _ _).congr' this (EventuallyEq.refl _ _)
rw [←
hasFDerivAt_iff_isLittleO_nhds_zero (f := fun u => exp 𝕂 (u • x)) (f' := (1 : 𝕊 →L[𝕂] 𝕊).smulRight x) (x := 0)]
have : HasFDerivAt (exp 𝕂) (1 : 𝔸 →L[𝕂] 𝔸) ((1 : 𝕊 →L[𝕂] 𝕊).smulRight x 0) :=
by
rw [ContinuousLinearMap.smulRight_apply, ContinuousLinearMap.one_apply, zero_smul]
exact hasFDerivAt_exp_zero_of_radius_pos hpos
exact this.comp 0 ((1 : 𝕊 →L[𝕂] 𝕊).smulRight x).hasFDerivAt
have : Tendsto (fun h : 𝕊 => h • x) (𝓝 0) (𝓝 0) :=
by
rw [← zero_smul 𝕊 x]
exact tendsto_id.smul_const x
have : ∀ᶠ h in 𝓝 (0 : 𝕊), h • x ∈ EMetric.ball (0 : 𝔸) (expSeries 𝕂 𝔸).radius :=
this.eventually (EMetric.ball_mem_nhds _ hpos)
filter_upwards [this] with h hh
have : Commute (t • x) (h • x) := ((Commute.refl x).smul_left t).smul_right h
rw [add_smul t h, exp_add_of_commute_of_mem_ball this htx hh, zero_add, zero_smul, exp_zero,
ContinuousLinearMap.smulRight_apply, ContinuousLinearMap.one_apply, ContinuousLinearMap.smul_apply,
ContinuousLinearMap.smulRight_apply, ContinuousLinearMap.one_apply, smul_eq_mul, mul_sub_left_distrib,
mul_sub_left_distrib, mul_one]