Derivatives of power function on ℂ, ℝ, ℝ≥0, and ℝ≥0∞ #
We also prove differentiability and provide derivatives for the power functions x ^ y.
theorem
HasStrictFDerivAt.cpow
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℂ E]
{f g : E → ℂ}
{f' g' : StrongDual ℂ E}
{x : E}
(hf : HasStrictFDerivAt f f' x)
(hg : HasStrictFDerivAt g g' x)
(h0 : f x ∈ Complex.slitPlane)
:
theorem
HasStrictFDerivAt.const_cpow
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℂ E]
{f : E → ℂ}
{f' : StrongDual ℂ E}
{x : E}
{c : ℂ}
(hf : HasStrictFDerivAt f f' x)
(h0 : c ≠ 0 ∨ f x ≠ 0)
:
HasStrictFDerivAt (fun (x : E) => c ^ f x) ((c ^ f x * Complex.log c) • f') x
theorem
HasFDerivAt.cpow
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℂ E]
{f g : E → ℂ}
{f' g' : StrongDual ℂ E}
{x : E}
(hf : HasFDerivAt f f' x)
(hg : HasFDerivAt g g' x)
(h0 : f x ∈ Complex.slitPlane)
:
theorem
HasFDerivAt.const_cpow
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℂ E]
{f : E → ℂ}
{f' : StrongDual ℂ E}
{x : E}
{c : ℂ}
(hf : HasFDerivAt f f' x)
(h0 : c ≠ 0 ∨ f x ≠ 0)
:
HasFDerivAt (fun (x : E) => c ^ f x) ((c ^ f x * Complex.log c) • f') x
theorem
HasFDerivWithinAt.cpow
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℂ E]
{f g : E → ℂ}
{f' g' : StrongDual ℂ E}
{x : E}
{s : Set E}
(hf : HasFDerivWithinAt f f' s x)
(hg : HasFDerivWithinAt g g' s x)
(h0 : f x ∈ Complex.slitPlane)
:
theorem
HasFDerivWithinAt.const_cpow
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℂ E]
{f : E → ℂ}
{f' : StrongDual ℂ E}
{x : E}
{s : Set E}
{c : ℂ}
(hf : HasFDerivWithinAt f f' s x)
(h0 : c ≠ 0 ∨ f x ≠ 0)
:
HasFDerivWithinAt (fun (x : E) => c ^ f x) ((c ^ f x * Complex.log c) • f') s x
theorem
DifferentiableAt.cpow
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℂ E]
{f g : E → ℂ}
{x : E}
(hf : DifferentiableAt ℂ f x)
(hg : DifferentiableAt ℂ g x)
(h0 : f x ∈ Complex.slitPlane)
:
DifferentiableAt ℂ (fun (x : E) => f x ^ g x) x
theorem
DifferentiableAt.const_cpow
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℂ E]
{f : E → ℂ}
{x : E}
{c : ℂ}
(hf : DifferentiableAt ℂ f x)
(h0 : c ≠ 0 ∨ f x ≠ 0)
:
DifferentiableAt ℂ (fun (x : E) => c ^ f x) x
theorem
DifferentiableAt.cpow_const
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℂ E]
{f : E → ℂ}
{x : E}
{c : ℂ}
(hf : DifferentiableAt ℂ f x)
(h0 : f x ∈ Complex.slitPlane)
:
DifferentiableAt ℂ (fun (x : E) => f x ^ c) x
theorem
DifferentiableWithinAt.cpow
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℂ E]
{f g : E → ℂ}
{x : E}
{s : Set E}
(hf : DifferentiableWithinAt ℂ f s x)
(hg : DifferentiableWithinAt ℂ g s x)
(h0 : f x ∈ Complex.slitPlane)
:
DifferentiableWithinAt ℂ (fun (x : E) => f x ^ g x) s x
theorem
DifferentiableWithinAt.const_cpow
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℂ E]
{f : E → ℂ}
{x : E}
{s : Set E}
{c : ℂ}
(hf : DifferentiableWithinAt ℂ f s x)
(h0 : c ≠ 0 ∨ f x ≠ 0)
:
DifferentiableWithinAt ℂ (fun (x : E) => c ^ f x) s x
theorem
DifferentiableWithinAt.cpow_const
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℂ E]
{f : E → ℂ}
{x : E}
{s : Set E}
{c : ℂ}
(hf : DifferentiableWithinAt ℂ f s x)
(h0 : f x ∈ Complex.slitPlane)
:
DifferentiableWithinAt ℂ (fun (x : E) => f x ^ c) s x
theorem
DifferentiableOn.cpow
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℂ E]
{f g : E → ℂ}
{s : Set E}
(hf : DifferentiableOn ℂ f s)
(hg : DifferentiableOn ℂ g s)
(h0 : Set.MapsTo f s Complex.slitPlane)
:
DifferentiableOn ℂ (fun (x : E) => f x ^ g x) s
theorem
DifferentiableOn.const_cpow
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℂ E]
{f : E → ℂ}
{s : Set E}
{c : ℂ}
(hf : DifferentiableOn ℂ f s)
(h0 : c ≠ 0 ∨ ∀ x ∈ s, f x ≠ 0)
:
DifferentiableOn ℂ (fun (x : E) => c ^ f x) s
theorem
DifferentiableOn.cpow_const
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℂ E]
{f : E → ℂ}
{s : Set E}
{c : ℂ}
(hf : DifferentiableOn ℂ f s)
(h0 : ∀ x ∈ s, f x ∈ Complex.slitPlane)
:
DifferentiableOn ℂ (fun (x : E) => f x ^ c) s
theorem
Differentiable.cpow
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℂ E]
{f g : E → ℂ}
(hf : Differentiable ℂ f)
(hg : Differentiable ℂ g)
(h0 : ∀ (x : E), f x ∈ Complex.slitPlane)
:
Differentiable ℂ fun (x : E) => f x ^ g x
theorem
Differentiable.const_cpow
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℂ E]
{f : E → ℂ}
{c : ℂ}
(hf : Differentiable ℂ f)
(h0 : c ≠ 0 ∨ ∀ (x : E), f x ≠ 0)
:
Differentiable ℂ fun (x : E) => c ^ f x
theorem
differentiable_const_cpow_of_neZero
(z : ℂ)
[NeZero z]
:
Differentiable ℂ fun (s : ℂ) => z ^ s
theorem
differentiableAt_const_cpow_of_neZero
(z : ℂ)
[NeZero z]
(t : ℂ)
:
DifferentiableAt ℂ (fun (s : ℂ) => z ^ s) t
theorem
HasStrictDerivAt.cpow
{f g : ℂ → ℂ}
{f' g' x : ℂ}
(hf : HasStrictDerivAt f f' x)
(hg : HasStrictDerivAt g g' x)
(h0 : f x ∈ Complex.slitPlane)
:
theorem
HasStrictDerivAt.const_cpow
{f : ℂ → ℂ}
{f' x c : ℂ}
(hf : HasStrictDerivAt f f' x)
(h : c ≠ 0 ∨ f x ≠ 0)
:
HasStrictDerivAt (fun (x : ℂ) => c ^ f x) (c ^ f x * Complex.log c * f') x
theorem
HasStrictDerivAt.cpow_const
{f : ℂ → ℂ}
{f' x c : ℂ}
(hf : HasStrictDerivAt f f' x)
(h0 : f x ∈ Complex.slitPlane)
:
theorem
HasDerivAt.cpow
{f g : ℂ → ℂ}
{f' g' x : ℂ}
(hf : HasDerivAt f f' x)
(hg : HasDerivAt g g' x)
(h0 : f x ∈ Complex.slitPlane)
:
theorem
HasDerivAt.const_cpow
{f : ℂ → ℂ}
{f' x c : ℂ}
(hf : HasDerivAt f f' x)
(h0 : c ≠ 0 ∨ f x ≠ 0)
:
HasDerivAt (fun (x : ℂ) => c ^ f x) (c ^ f x * Complex.log c * f') x
theorem
HasDerivAt.cpow_const
{f : ℂ → ℂ}
{f' x c : ℂ}
(hf : HasDerivAt f f' x)
(h0 : f x ∈ Complex.slitPlane)
:
theorem
HasDerivWithinAt.cpow
{f g : ℂ → ℂ}
{s : Set ℂ}
{f' g' x : ℂ}
(hf : HasDerivWithinAt f f' s x)
(hg : HasDerivWithinAt g g' s x)
(h0 : f x ∈ Complex.slitPlane)
:
theorem
HasDerivWithinAt.const_cpow
{f : ℂ → ℂ}
{s : Set ℂ}
{f' x c : ℂ}
(hf : HasDerivWithinAt f f' s x)
(h0 : c ≠ 0 ∨ f x ≠ 0)
:
HasDerivWithinAt (fun (x : ℂ) => c ^ f x) (c ^ f x * Complex.log c * f') s x
theorem
HasDerivWithinAt.cpow_const
{f : ℂ → ℂ}
{s : Set ℂ}
{f' x c : ℂ}
(hf : HasDerivWithinAt f f' s x)
(h0 : f x ∈ Complex.slitPlane)
:
theorem
Complex.derivWithin_const_cpow
{f : ℂ → ℂ}
{s : Set ℂ}
{x : ℂ}
(hf : DifferentiableWithinAt ℂ f s x)
(c : ℂ)
:
Although fun x => x ^ r for fixed r is not complex-differentiable along the negative real
line, it is still real-differentiable, and the derivative is what one would formally expect.
See hasDerivAt_ofReal_cpow_const for an alternate formulation.
An alternate formulation of hasDerivAt_ofReal_cpow_const'.
theorem
DifferentiableAt.ofReal_cpow_const
{c : ℂ}
{f : ℝ → ℝ}
{x : ℝ}
(hf : DifferentiableAt ℝ f x)
(h0 : f x ≠ 0)
(h1 : c ≠ 0)
:
DifferentiableAt ℝ (fun (y : ℝ) => ↑(f y) ^ c) x
A version of DifferentiableAt.cpow_const for a real function.
theorem
Real.differentiableAt_rpow_const_of_ne
(p : ℝ)
{x : ℝ}
(hx : x ≠ 0)
:
DifferentiableAt ℝ (fun (x : ℝ) => x ^ p) x
theorem
Real.not_differentiableAt_rpow_const_zero
{r : ℝ}
(hr : r < 1)
(hr' : r ≠ 0)
:
¬DifferentiableAt ℝ (fun (x : ℝ) => x ^ r) 0
This lemma says that fun x => a ^ x is strictly differentiable for a < 0. Note that these
values of a are outside of the "official" domain of a ^ x, and we may redefine a ^ x
for negative a if some other definition will be more convenient.
theorem
Real.contDiffAt_rpow_const_of_ne
{x p : ℝ}
{n : WithTop ℕ∞}
(h : x ≠ 0)
:
ContDiffAt ℝ n (fun (x : ℝ) => x ^ p) x
theorem
Real.contDiffAt_rpow_const_of_le
{x p : ℝ}
{n : ℕ}
(h : ↑n ≤ p)
:
ContDiffAt ℝ (↑n) (fun (x : ℝ) => x ^ p) x
theorem
HasFDerivWithinAt.rpow
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f g : E → ℝ}
{f' g' : StrongDual ℝ E}
{x : E}
{s : Set E}
(hf : HasFDerivWithinAt f f' s x)
(hg : HasFDerivWithinAt g g' s x)
(h : 0 < f x)
:
theorem
HasFDerivAt.rpow
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f g : E → ℝ}
{f' g' : StrongDual ℝ E}
{x : E}
(hf : HasFDerivAt f f' x)
(hg : HasFDerivAt g g' x)
(h : 0 < f x)
:
theorem
HasStrictFDerivAt.rpow
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f g : E → ℝ}
{f' g' : StrongDual ℝ E}
{x : E}
(hf : HasStrictFDerivAt f f' x)
(hg : HasStrictFDerivAt g g' x)
(h : 0 < f x)
:
theorem
DifferentiableWithinAt.rpow
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f g : E → ℝ}
{x : E}
{s : Set E}
(hf : DifferentiableWithinAt ℝ f s x)
(hg : DifferentiableWithinAt ℝ g s x)
(h : f x ≠ 0)
:
DifferentiableWithinAt ℝ (fun (x : E) => f x ^ g x) s x
theorem
DifferentiableAt.rpow
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f g : E → ℝ}
{x : E}
(hf : DifferentiableAt ℝ f x)
(hg : DifferentiableAt ℝ g x)
(h : f x ≠ 0)
:
DifferentiableAt ℝ (fun (x : E) => f x ^ g x) x
theorem
DifferentiableOn.rpow
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f g : E → ℝ}
{s : Set E}
(hf : DifferentiableOn ℝ f s)
(hg : DifferentiableOn ℝ g s)
(h : ∀ x ∈ s, f x ≠ 0)
:
DifferentiableOn ℝ (fun (x : E) => f x ^ g x) s
theorem
Differentiable.rpow
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f g : E → ℝ}
(hf : Differentiable ℝ f)
(hg : Differentiable ℝ g)
(h : ∀ (x : E), f x ≠ 0)
:
Differentiable ℝ fun (x : E) => f x ^ g x
theorem
HasFDerivWithinAt.rpow_const
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{f' : StrongDual ℝ E}
{x : E}
{s : Set E}
{p : ℝ}
(hf : HasFDerivWithinAt f f' s x)
(h : f x ≠ 0 ∨ 1 ≤ p)
:
theorem
HasFDerivAt.rpow_const
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{f' : StrongDual ℝ E}
{x : E}
{p : ℝ}
(hf : HasFDerivAt f f' x)
(h : f x ≠ 0 ∨ 1 ≤ p)
:
theorem
HasStrictFDerivAt.rpow_const
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{f' : StrongDual ℝ E}
{x : E}
{p : ℝ}
(hf : HasStrictFDerivAt f f' x)
(h : f x ≠ 0 ∨ 1 ≤ p)
:
theorem
DifferentiableWithinAt.rpow_const
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{x : E}
{s : Set E}
{p : ℝ}
(hf : DifferentiableWithinAt ℝ f s x)
(h : f x ≠ 0 ∨ 1 ≤ p)
:
DifferentiableWithinAt ℝ (fun (x : E) => f x ^ p) s x
@[simp]
theorem
DifferentiableAt.rpow_const
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{x : E}
{p : ℝ}
(hf : DifferentiableAt ℝ f x)
(h : f x ≠ 0 ∨ 1 ≤ p)
:
DifferentiableAt ℝ (fun (x : E) => f x ^ p) x
theorem
DifferentiableOn.rpow_const
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{s : Set E}
{p : ℝ}
(hf : DifferentiableOn ℝ f s)
(h : ∀ x ∈ s, f x ≠ 0 ∨ 1 ≤ p)
:
DifferentiableOn ℝ (fun (x : E) => f x ^ p) s
theorem
Differentiable.rpow_const
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{p : ℝ}
(hf : Differentiable ℝ f)
(h : ∀ (x : E), f x ≠ 0 ∨ 1 ≤ p)
:
Differentiable ℝ fun (x : E) => f x ^ p
theorem
HasFDerivWithinAt.const_rpow
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{f' : StrongDual ℝ E}
{x : E}
{s : Set E}
{c : ℝ}
(hf : HasFDerivWithinAt f f' s x)
(hc : 0 < c)
:
theorem
HasFDerivAt.const_rpow
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{f' : StrongDual ℝ E}
{x : E}
{c : ℝ}
(hf : HasFDerivAt f f' x)
(hc : 0 < c)
:
theorem
HasStrictFDerivAt.const_rpow
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{f' : StrongDual ℝ E}
{x : E}
{c : ℝ}
(hf : HasStrictFDerivAt f f' x)
(hc : 0 < c)
:
theorem
ContDiffWithinAt.rpow
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f g : E → ℝ}
{x : E}
{s : Set E}
{n : WithTop ℕ∞}
(hf : ContDiffWithinAt ℝ n f s x)
(hg : ContDiffWithinAt ℝ n g s x)
(h : f x ≠ 0)
:
ContDiffWithinAt ℝ n (fun (x : E) => f x ^ g x) s x
theorem
ContDiffAt.rpow
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f g : E → ℝ}
{x : E}
{n : WithTop ℕ∞}
(hf : ContDiffAt ℝ n f x)
(hg : ContDiffAt ℝ n g x)
(h : f x ≠ 0)
:
ContDiffAt ℝ n (fun (x : E) => f x ^ g x) x
theorem
ContDiffOn.rpow
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f g : E → ℝ}
{s : Set E}
{n : WithTop ℕ∞}
(hf : ContDiffOn ℝ n f s)
(hg : ContDiffOn ℝ n g s)
(h : ∀ x ∈ s, f x ≠ 0)
:
ContDiffOn ℝ n (fun (x : E) => f x ^ g x) s
theorem
ContDiffWithinAt.rpow_const_of_ne
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{x : E}
{s : Set E}
{p : ℝ}
{n : WithTop ℕ∞}
(hf : ContDiffWithinAt ℝ n f s x)
(h : f x ≠ 0)
:
ContDiffWithinAt ℝ n (fun (x : E) => f x ^ p) s x
theorem
ContDiffAt.rpow_const_of_ne
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{x : E}
{p : ℝ}
{n : WithTop ℕ∞}
(hf : ContDiffAt ℝ n f x)
(h : f x ≠ 0)
:
ContDiffAt ℝ n (fun (x : E) => f x ^ p) x
theorem
ContDiffOn.rpow_const_of_ne
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{s : Set E}
{p : ℝ}
{n : WithTop ℕ∞}
(hf : ContDiffOn ℝ n f s)
(h : ∀ x ∈ s, f x ≠ 0)
:
ContDiffOn ℝ n (fun (x : E) => f x ^ p) s
theorem
ContDiffWithinAt.rpow_const_of_le
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{x : E}
{s : Set E}
{p : ℝ}
{m : ℕ}
(hf : ContDiffWithinAt ℝ (↑m) f s x)
(h : ↑m ≤ p)
:
ContDiffWithinAt ℝ (↑m) (fun (x : E) => f x ^ p) s x
theorem
ContDiffAt.rpow_const_of_le
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{x : E}
{p : ℝ}
{m : ℕ}
(hf : ContDiffAt ℝ (↑m) f x)
(h : ↑m ≤ p)
:
ContDiffAt ℝ (↑m) (fun (x : E) => f x ^ p) x
theorem
ContDiffOn.rpow_const_of_le
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{s : Set E}
{p : ℝ}
{m : ℕ}
(hf : ContDiffOn ℝ (↑m) f s)
(h : ↑m ≤ p)
:
ContDiffOn ℝ (↑m) (fun (x : E) => f x ^ p) s
theorem
ContDiff.rpow_const_of_le
{E : Type u_1}
[NormedAddCommGroup E]
[NormedSpace ℝ E]
{f : E → ℝ}
{p : ℝ}
{m : ℕ}
(hf : ContDiff ℝ (↑m) f)
(h : ↑m ≤ p)
:
theorem
HasDerivAt.rpow
{f g : ℝ → ℝ}
{f' g' x : ℝ}
(hf : HasDerivAt f f' x)
(hg : HasDerivAt g g' x)
(h : 0 < f x)
:
theorem
derivWithin_rpow_const
{f : ℝ → ℝ}
{x p : ℝ}
{s : Set ℝ}
(hf : DifferentiableWithinAt ℝ f s x)
(hx : f x ≠ 0 ∨ 1 ≤ p)
(hxs : UniqueDiffWithinAt ℝ s x)
:
theorem
derivWithin_const_rpow
{f : ℝ → ℝ}
{x : ℝ}
{s : Set ℝ}
{a : ℝ}
(ha : 0 < a)
(hf : DifferentiableWithinAt ℝ f s x)
: