Documentation

Convex.Function.ConvexFunction

ConvexFunction #

Main results #

This file mainly concentrates on the differentiable convex function and its properties.

The main theorem is given as:

Let f be a smooth function defined on a convex set s. Then the following statement is equivalent

(a) f is convex on s.

(b) (first order condition) f(y) ≥ f(x) + ∇ f(x)^T (y-x) ∀ x, y ∈ s.

(c) (monotonic of gradient) (∇ f(x) - ∇ f(y))^T (x-y) ≥ 0 ∀ x, y ∈ s.

Besides we also proof the corresponding properties for strict convex function.

theorem Convex_first_order_condition {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {f' : EE →L[] } {x : E} {s : Set E} (h : HasFDerivAt f (f' x) x) (hf : ConvexOn s f) (xs : x s) (y : E) :
y sf x + (f' x) (y - x) f y
theorem Convex_first_order_condition_inverse {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {f' : EE →L[] } {s : Set E} (h : xs, HasFDerivAt f (f' x) x) (h₁ : Convex s) (h₂ : xs, ys, f x + (f' x) (y - x) f y) :
theorem Convex_first_order_condition_iff {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {f' : EE →L[] } {s : Set E} (h₁ : Convex s) (h : xs, HasFDerivAt f (f' x) x) :
ConvexOn s f xs, ys, f x + (f' x) (y - x) f y
theorem Convex_monotone_gradient {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {f : E} {f' : EE →L[] } {s : Set E} (hfun : ConvexOn s f) (h : xs, HasFDerivAt f (f' x) x) (x : E) :
x sys, (f' x - f' y) (x - y) 0
theorem Convex_first_order_condition' {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [CompleteSpace E] {f : E} {f' : EE} {s : Set E} {x : E} (h : HasGradientAt f (f' x) x) (hf : ConvexOn s f) (xs : x s) (y : E) :
y sf x + f' x, y - x⟫_ f y
theorem Convex_first_order_condition_inverse' {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [CompleteSpace E] {f : E} {f' : EE} {s : Set E} (h : xs, HasGradientAt f (f' x) x) (h₁ : Convex s) (h₂ : xs, ys, f x + f' x, y - x⟫_ f y) :
theorem Convex_first_order_condition_iff' {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [CompleteSpace E] {f : E} {f' : EE} {s : Set E} (h₁ : Convex s) (h : xs, HasGradientAt f (f' x) x) :
ConvexOn s f xs, ys, f x + f' x, y - x⟫_ f y
theorem Convex_monotone_gradient' {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [CompleteSpace E] {f : E} {f' : EE} {s : Set E} (hfun : ConvexOn s f) (h : xs, HasGradientAt f (f' x) x) (x : E) :
x sys, f' x - f' y, x - y⟫_ 0
theorem monotone_gradient_convex' {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [CompleteSpace E] {f : E} {f' : EE} {s : Set E} (h₁ : Convex s) (hf : xs, HasGradientAt f (f' x) x) (mono : xs, ys, f' x - f' y, x - y⟫_ 0) :
theorem monotone_gradient_iff_convex' {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [CompleteSpace E] {f : E} {f' : EE} {s : Set E} (h₁ : Convex s) (hf : xs, HasGradientAt f (f' x) x) :
ConvexOn s f xs, ys, f' x - f' y, x - y⟫_ 0
theorem monotone_gradient_convex {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [CompleteSpace E] {f : E} {s : Set E} {f' : EE →L[] } (h₁ : Convex s) (hf : xs, HasFDerivAt f (f' x) x) (mono : xs, ys, (f' x - f' y) (x - y) 0) :
theorem montone_gradient_iff_convex {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [CompleteSpace E] {f : E} {s : Set E} {f' : EE →L[] } (h₁ : Convex s) (hf : xs, HasFDerivAt f (f' x) x) :
ConvexOn s f xs, ys, (f' x - f' y) (x - y) 0
theorem monotone_gradient_strict_convex {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [CompleteSpace E] {f : E} {f' : EE} {s : Set E} (hs : Convex s) (hf : xs, HasGradientAt f (f' x) x) (mono : xs, ys, x yf' x - f' y, x - y⟫_ > 0) :
theorem strict_convex_monotone_gradient {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [CompleteSpace E] {f : E} {f' : EE} {s : Set E} (hf : xs, HasGradientAt f (f' x) x) (h₁ : StrictConvexOn s f) (x : E) :
x sys, x yf' x - f' y, x - y⟫_ > 0
theorem strict_convex_iff_monotone_gradient {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [CompleteSpace E] {f : E} {f' : EE} {s : Set E} (hs : Convex s) (h : xs, HasGradientAt f (f' x) x) :
(xs, ys, x yf' x - f' y, x - y⟫_ > 0) StrictConvexOn s f