Documentation

Mathlib.Analysis.SpecialFunctions.ExpDeriv

Complex and real exponential #

In this file we prove that Complex.exp and Real.exp are analytic functions.

Tags #

exp, derivative

Complex.exp #

The function Complex.exp is complex analytic.

The function Complex.exp is complex analytic.

The function Complex.exp is complex analytic.

The function Complex.exp is complex analytic.

theorem AnalyticAt.cexp {E : Type} [NormedAddCommGroup E] [NormedSpace ℂ E] {f : E → ℂ} {x : E} (fa : AnalyticAt ℂ f x) :

exp ∘ f is analytic

theorem AnalyticAt.cexp' {E : Type} [NormedAddCommGroup E] [NormedSpace ℂ E] {f : E → ℂ} {x : E} (fa : AnalyticAt ℂ f x) :
AnalyticAt ℂ (fun (z : E) => Complex.exp (f z)) x

exp ∘ f is analytic

theorem AnalyticWithinAt.cexp {E : Type} [NormedAddCommGroup E] [NormedSpace ℂ E] {f : E → ℂ} {x : E} {s : Set E} (fa : AnalyticWithinAt ℂ f s x) :
AnalyticWithinAt ℂ (fun (z : E) => Complex.exp (f z)) s x
theorem AnalyticOnNhd.cexp {E : Type} [NormedAddCommGroup E] [NormedSpace ℂ E] {f : E → ℂ} {s : Set E} (fs : AnalyticOnNhd ℂ f s) :
AnalyticOnNhd ℂ (fun (z : E) => Complex.exp (f z)) s

exp ∘ f is analytic

theorem AnalyticOn.cexp {E : Type} [NormedAddCommGroup E] [NormedSpace ℂ E] {f : E → ℂ} {s : Set E} (fs : AnalyticOn ℂ f s) :
AnalyticOn ℂ (fun (z : E) => Complex.exp (f z)) s

The complex exponential is everywhere differentiable, with the derivative exp x.

theorem HasStrictDerivAt.cexp {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜 ℂ] {f : 𝕜 → ℂ} {f' : ℂ} {x : 𝕜} (hf : HasStrictDerivAt f f' x) :
HasStrictDerivAt (fun (x : 𝕜) => Complex.exp (f x)) (Complex.exp (f x) * f') x
theorem HasDerivAt.cexp {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜 ℂ] {f : 𝕜 → ℂ} {f' : ℂ} {x : 𝕜} (hf : HasDerivAt f f' x) :
HasDerivAt (fun (x : 𝕜) => Complex.exp (f x)) (Complex.exp (f x) * f') x
theorem HasDerivWithinAt.cexp {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜 ℂ] {f : 𝕜 → ℂ} {f' : ℂ} {x : 𝕜} {s : Set 𝕜} (hf : HasDerivWithinAt f f' s x) :
HasDerivWithinAt (fun (x : 𝕜) => Complex.exp (f x)) (Complex.exp (f x) * f') s x
theorem derivWithin_cexp {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜 ℂ] {f : 𝕜 → ℂ} {x : 𝕜} {s : Set 𝕜} (hf : DifferentiableWithinAt 𝕜 f s x) (hxs : UniqueDiffWithinAt 𝕜 s x) :
derivWithin (fun (x : 𝕜) => Complex.exp (f x)) s x = Complex.exp (f x) * derivWithin f s x
@[simp]
theorem deriv_cexp {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜 ℂ] {f : 𝕜 → ℂ} {x : 𝕜} (hc : DifferentiableAt 𝕜 f x) :
deriv (fun (x : 𝕜) => Complex.exp (f x)) x = Complex.exp (f x) * deriv f x
theorem HasStrictFDerivAt.cexp {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜 ℂ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {f : E → ℂ} {f' : E →L[𝕜] ℂ} {x : E} (hf : HasStrictFDerivAt f f' x) :
HasStrictFDerivAt (fun (x : E) => Complex.exp (f x)) (Complex.exp (f x) • f') x
theorem HasFDerivWithinAt.cexp {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜 ℂ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {f : E → ℂ} {f' : E →L[𝕜] ℂ} {x : E} {s : Set E} (hf : HasFDerivWithinAt f f' s x) :
HasFDerivWithinAt (fun (x : E) => Complex.exp (f x)) (Complex.exp (f x) • f') s x
theorem HasFDerivAt.cexp {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜 ℂ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {f : E → ℂ} {f' : E →L[𝕜] ℂ} {x : E} (hf : HasFDerivAt f f' x) :
HasFDerivAt (fun (x : E) => Complex.exp (f x)) (Complex.exp (f x) • f') x
theorem DifferentiableWithinAt.cexp {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜 ℂ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {f : E → ℂ} {x : E} {s : Set E} (hf : DifferentiableWithinAt 𝕜 f s x) :
DifferentiableWithinAt 𝕜 (fun (x : E) => Complex.exp (f x)) s x
@[simp]
theorem DifferentiableAt.cexp {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜 ℂ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {f : E → ℂ} {x : E} (hc : DifferentiableAt 𝕜 f x) :
DifferentiableAt 𝕜 (fun (x : E) => Complex.exp (f x)) x
theorem DifferentiableOn.cexp {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜 ℂ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {f : E → ℂ} {s : Set E} (hc : DifferentiableOn 𝕜 f s) :
DifferentiableOn 𝕜 (fun (x : E) => Complex.exp (f x)) s
@[simp]
theorem Differentiable.cexp {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜 ℂ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {f : E → ℂ} (hc : Differentiable 𝕜 f) :
Differentiable 𝕜 fun (x : E) => Complex.exp (f x)
theorem ContDiff.cexp {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜 ℂ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {f : E → ℂ} {n : WithTop ℕ∞} (h : ContDiff 𝕜 n f) :
ContDiff 𝕜 n fun (x : E) => Complex.exp (f x)
theorem ContDiffAt.cexp {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜 ℂ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {f : E → ℂ} {x : E} {n : WithTop ℕ∞} (hf : ContDiffAt 𝕜 n f x) :
ContDiffAt 𝕜 n (fun (x : E) => Complex.exp (f x)) x
theorem ContDiffOn.cexp {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜 ℂ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {f : E → ℂ} {s : Set E} {n : WithTop ℕ∞} (hf : ContDiffOn 𝕜 n f s) :
ContDiffOn 𝕜 n (fun (x : E) => Complex.exp (f x)) s
theorem ContDiffWithinAt.cexp {𝕜 : Type u_1} [NontriviallyNormedField 𝕜] [NormedAlgebra 𝕜 ℂ] {E : Type u_2} [NormedAddCommGroup E] [NormedSpace 𝕜 E] {f : E → ℂ} {x : E} {s : Set E} {n : WithTop ℕ∞} (hf : ContDiffWithinAt 𝕜 n f s x) :
ContDiffWithinAt 𝕜 n (fun (x : E) => Complex.exp (f x)) s x
@[simp]
theorem iteratedDeriv_cexp_const_mul (n : ℕ) (c : ℂ) :
(iteratedDeriv n fun (s : ℂ) => Complex.exp (c * s)) = fun (s : ℂ) => c ^ n * Complex.exp (c * s)

Real.exp #

The function Real.exp is real analytic.

The function Real.exp is real analytic.

The function Real.exp is real analytic.

The function Real.exp is real analytic.

theorem AnalyticAt.rexp {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {f : E → ℝ} {x : E} (fa : AnalyticAt ℝ f x) :

exp ∘ f is analytic

theorem AnalyticAt.rexp' {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {f : E → ℝ} {x : E} (fa : AnalyticAt ℝ f x) :
AnalyticAt ℝ (fun (z : E) => Real.exp (f z)) x

exp ∘ f is analytic

theorem AnalyticWithinAt.rexp {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {f : E → ℝ} {s : Set E} {x : E} (fa : AnalyticWithinAt ℝ f s x) :
AnalyticWithinAt ℝ (fun (z : E) => Real.exp (f z)) s x
theorem AnalyticOnNhd.rexp {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {f : E → ℝ} {s : Set E} (fs : AnalyticOnNhd ℝ f s) :
AnalyticOnNhd ℝ (fun (z : E) => Real.exp (f z)) s

exp ∘ f is analytic

theorem AnalyticOn.rexp {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {f : E → ℝ} {s : Set E} (fs : AnalyticOn ℝ f s) :
AnalyticOn ℝ (fun (z : E) => Real.exp (f z)) s
@[simp]

Register lemmas for the derivatives of the composition of Real.exp with a differentiable function, for standalone use and use with simp.

theorem HasStrictDerivAt.exp {f : ℝ → ℝ} {f' x : ℝ} (hf : HasStrictDerivAt f f' x) :
HasStrictDerivAt (fun (x : ℝ) => Real.exp (f x)) (Real.exp (f x) * f') x
theorem HasDerivAt.exp {f : ℝ → ℝ} {f' x : ℝ} (hf : HasDerivAt f f' x) :
HasDerivAt (fun (x : ℝ) => Real.exp (f x)) (Real.exp (f x) * f') x
theorem HasDerivWithinAt.exp {f : ℝ → ℝ} {f' x : ℝ} {s : Set ℝ} (hf : HasDerivWithinAt f f' s x) :
HasDerivWithinAt (fun (x : ℝ) => Real.exp (f x)) (Real.exp (f x) * f') s x
theorem derivWithin_exp {f : ℝ → ℝ} {x : ℝ} {s : Set ℝ} (hf : DifferentiableWithinAt ℝ f s x) (hxs : UniqueDiffWithinAt ℝ s x) :
derivWithin (fun (x : ℝ) => Real.exp (f x)) s x = Real.exp (f x) * derivWithin f s x
@[simp]
theorem deriv_exp {f : ℝ → ℝ} {x : ℝ} (hc : DifferentiableAt ℝ f x) :
deriv (fun (x : ℝ) => Real.exp (f x)) x = Real.exp (f x) * deriv f x

Register lemmas for the derivatives of the composition of Real.exp with a differentiable function, for standalone use and use with simp.

theorem ContDiff.exp {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {f : E → ℝ} {n : WithTop ℕ∞} (hf : ContDiff ℝ n f) :
ContDiff ℝ n fun (x : E) => Real.exp (f x)
theorem ContDiffAt.exp {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {f : E → ℝ} {x : E} {n : WithTop ℕ∞} (hf : ContDiffAt ℝ n f x) :
ContDiffAt ℝ n (fun (x : E) => Real.exp (f x)) x
theorem ContDiffOn.exp {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {f : E → ℝ} {s : Set E} {n : WithTop ℕ∞} (hf : ContDiffOn ℝ n f s) :
ContDiffOn ℝ n (fun (x : E) => Real.exp (f x)) s
theorem ContDiffWithinAt.exp {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {f : E → ℝ} {x : E} {s : Set E} {n : WithTop ℕ∞} (hf : ContDiffWithinAt ℝ n f s x) :
ContDiffWithinAt ℝ n (fun (x : E) => Real.exp (f x)) s x
theorem HasFDerivWithinAt.exp {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {f : E → ℝ} {f' : StrongDual ℝ E} {x : E} {s : Set E} (hf : HasFDerivWithinAt f f' s x) :
HasFDerivWithinAt (fun (x : E) => Real.exp (f x)) (Real.exp (f x) • f') s x
theorem HasFDerivAt.exp {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {f : E → ℝ} {f' : StrongDual ℝ E} {x : E} (hf : HasFDerivAt f f' x) :
HasFDerivAt (fun (x : E) => Real.exp (f x)) (Real.exp (f x) • f') x
theorem HasStrictFDerivAt.exp {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {f : E → ℝ} {f' : StrongDual ℝ E} {x : E} (hf : HasStrictFDerivAt f f' x) :
HasStrictFDerivAt (fun (x : E) => Real.exp (f x)) (Real.exp (f x) • f') x
theorem DifferentiableWithinAt.exp {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {f : E → ℝ} {x : E} {s : Set E} (hf : DifferentiableWithinAt ℝ f s x) :
DifferentiableWithinAt ℝ (fun (x : E) => Real.exp (f x)) s x
@[simp]
theorem DifferentiableAt.exp {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {f : E → ℝ} {x : E} (hc : DifferentiableAt ℝ f x) :
DifferentiableAt ℝ (fun (x : E) => Real.exp (f x)) x
theorem DifferentiableOn.exp {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {f : E → ℝ} {s : Set E} (hc : DifferentiableOn ℝ f s) :
DifferentiableOn ℝ (fun (x : E) => Real.exp (f x)) s
@[simp]
theorem Differentiable.exp {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {f : E → ℝ} (hc : Differentiable ℝ f) :
Differentiable ℝ fun (x : E) => Real.exp (f x)
theorem fderivWithin_exp {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {f : E → ℝ} {x : E} {s : Set E} (hf : DifferentiableWithinAt ℝ f s x) (hxs : UniqueDiffWithinAt ℝ s x) :
fderivWithin ℝ (fun (x : E) => Real.exp (f x)) s x = Real.exp (f x) • fderivWithin ℝ f s x
@[simp]
theorem fderiv_exp {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {f : E → ℝ} {x : E} (hc : DifferentiableAt ℝ f x) :
fderiv ℝ (fun (x : E) => Real.exp (f x)) x = Real.exp (f x) • fderiv ℝ f x
@[simp]
theorem iteratedDeriv_exp_const_mul (n : ℕ) (c : ℝ) :
(iteratedDeriv n fun (s : ℝ) => Real.exp (c * s)) = fun (s : ℝ) => c ^ n * Real.exp (c * s)