Documentation

Mathlib.Analysis.Convex.SpecificFunctions.Deriv

Collection of convex functions #

In this file we prove that certain specific functions are strictly convex, including the following:

TODO #

These convexity lemmas are proved by checking the sign of the second derivative. If desired, most of these could also be switched to elementary proofs, like in Analysis.Convex.SpecificFunctions.Basic.

theorem strictConvexOn_pow {n : } (hn : 2 n) :
StrictConvexOn (Set.Ici 0) fun (x : ) => x ^ n

x^n, n : ℕ is strictly convex on [0, +∞) for all n greater than 2.

theorem Even.strictConvexOn_pow {n : } (hn : Even n) (h : n 0) :
StrictConvexOn Set.univ fun (x : ) => x ^ n

x^n, n : ℕ is strictly convex on the whole real line whenever n ≠ 0 is even.

theorem Finset.prod_nonneg_of_card_nonpos_even {α : Type u_1} {β : Type u_2} [LinearOrderedCommRing β] {f : αβ} [DecidablePred fun (x : α) => f x 0] {s : Finset α} (h0 : Even (Finset.filter (fun (x : α) => f x 0) s).card) :
0 s.prod fun (x : α) => f x
theorem int_prod_range_nonneg (m : ) (n : ) (hn : Even n) :
0 (Finset.range n).prod fun (k : ) => m - k
theorem int_prod_range_pos {m : } {n : } (hn : Even n) (hm : mSet.Ico 0 n) :
0 < (Finset.range n).prod fun (k : ) => m - k
theorem strictConvexOn_zpow {m : } (hm₀ : m 0) (hm₁ : m 1) :
StrictConvexOn (Set.Ioi 0) fun (x : ) => x ^ m

x^m, m : ℤ is convex on (0, +∞) for all m except 0 and 1.

theorem hasDerivAt_sqrt_mul_log {x : } (hx : x 0) :
HasDerivAt (fun (x : ) => x.sqrt * x.log) ((2 + x.log) / (2 * x.sqrt)) x
theorem deriv_sqrt_mul_log (x : ) :
deriv (fun (x : ) => x.sqrt * x.log) x = (2 + x.log) / (2 * x.sqrt)
theorem deriv_sqrt_mul_log' :
(deriv fun (x : ) => x.sqrt * x.log) = fun (x : ) => (2 + x.log) / (2 * x.sqrt)
theorem deriv2_sqrt_mul_log (x : ) :
deriv^[2] (fun (x : ) => x.sqrt * x.log) x = -x.log / (4 * x.sqrt ^ 3)