Documentation

Mathlib.Analysis.Convex.Strong

Uniformly and strongly convex functions #

In this file, we define uniformly convex functions and strongly convex functions.

For a real normed space E, a uniformly convex function with modulus φ : ℝ → ℝ is a function f : E → ℝ such that f (t • x + (1 - t) • y) ≤ t • f x + (1 - t) • f y - t * (1 - t) * φ ‖x - y‖ for all t ∈ [0, 1].

A m-strongly convex function is a uniformly convex function with modulus fun r ↦ m / 2 * r ^ 2. If E is an inner product space, this is equivalent to x ↦ f x - m / 2 * ‖x‖ ^ 2 being convex.

TODO #

Prove derivative properties of strongly convex functions.

def UniformConvexOn {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] (s : Set E) (φ : ) (f : E) :

A function f from a real normed space is uniformly convex with modulus φ if f (t • x + (1 - t) • y) ≤ t • f x + (1 - t) • f y - t * (1 - t) * φ ‖x - y‖ for all t ∈ [0, 1].

φ is usually taken to be a monotone function such that φ r = 0 ↔ r = 0.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    def UniformConcaveOn {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] (s : Set E) (φ : ) (f : E) :

    A function f from a real normed space is uniformly concave with modulus φ if t • f x + (1 - t) • f y + t * (1 - t) * φ ‖x - y‖ ≤ f (t • x + (1 - t) • y) for all t ∈ [0, 1].

    φ is usually taken to be a monotone function such that φ r = 0 ↔ r = 0.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[simp]
      theorem uniformConvexOn_zero {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {s : Set E} {f : E} :
      @[simp]
      theorem uniformConcaveOn_zero {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {s : Set E} {f : E} :
      theorem ConvexOn.uniformConvexOn_zero {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {s : Set E} {f : E} :

      Alias of the reverse direction of uniformConvexOn_zero.

      theorem ConcaveOn.uniformConcaveOn_zero {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {s : Set E} {f : E} :

      Alias of the reverse direction of uniformConcaveOn_zero.

      theorem UniformConvexOn.mono {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {φ ψ : } {s : Set E} {f : E} (hψφ : ψ φ) (hf : UniformConvexOn s φ f) :
      theorem UniformConcaveOn.mono {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {φ ψ : } {s : Set E} {f : E} (hψφ : ψ φ) (hf : UniformConcaveOn s φ f) :
      theorem UniformConvexOn.convexOn {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {φ : } {s : Set E} {f : E} (hf : UniformConvexOn s φ f) (hφ : 0 φ) :
      theorem UniformConcaveOn.concaveOn {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {φ : } {s : Set E} {f : E} (hf : UniformConcaveOn s φ f) (hφ : 0 φ) :
      theorem UniformConvexOn.strictConvexOn {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {φ : } {s : Set E} {f : E} (hf : UniformConvexOn s φ f) (hφ : ∀ (r : ), r 00 < φ r) :
      theorem UniformConcaveOn.strictConcaveOn {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {φ : } {s : Set E} {f : E} (hf : UniformConcaveOn s φ f) (hφ : ∀ (r : ), r 00 < φ r) :
      theorem UniformConvexOn.add {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {φ ψ : } {s : Set E} {f g : E} (hf : UniformConvexOn s φ f) (hg : UniformConvexOn s ψ g) :
      UniformConvexOn s (φ + ψ) (f + g)
      theorem UniformConcaveOn.add {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {φ ψ : } {s : Set E} {f g : E} (hf : UniformConcaveOn s φ f) (hg : UniformConcaveOn s ψ g) :
      UniformConcaveOn s (φ + ψ) (f + g)
      theorem UniformConvexOn.neg {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {φ : } {s : Set E} {f : E} (hf : UniformConvexOn s φ f) :
      theorem UniformConcaveOn.neg {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {φ : } {s : Set E} {f : E} (hf : UniformConcaveOn s φ f) :
      theorem UniformConvexOn.sub {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {φ ψ : } {s : Set E} {f g : E} (hf : UniformConvexOn s φ f) (hg : UniformConcaveOn s ψ g) :
      UniformConvexOn s (φ + ψ) (f - g)
      theorem UniformConcaveOn.sub {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {φ ψ : } {s : Set E} {f g : E} (hf : UniformConcaveOn s φ f) (hg : UniformConvexOn s ψ g) :
      UniformConcaveOn s (φ + ψ) (f - g)
      def StrongConvexOn {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] (s : Set E) (m : ) :
      (E)Prop

      A function f from a real normed space is m-strongly convex if it is uniformly convex with modulus φ(r) = m / 2 * r ^ 2.

      In an inner product space, this is equivalent to x ↦ f x - m / 2 * ‖x‖ ^ 2 being convex.

      Equations
      Instances For
        def StrongConcaveOn {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] (s : Set E) (m : ) :
        (E)Prop

        A function f from a real normed space is m-strongly concave if is strongly concave with modulus φ(r) = m / 2 * r ^ 2.

        In an inner product space, this is equivalent to x ↦ f x + m / 2 * ‖x‖ ^ 2 being concave.

        Equations
        Instances For
          theorem StrongConvexOn.mono {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {s : Set E} {f : E} {m n : } (hmn : m n) (hf : StrongConvexOn s n f) :
          theorem StrongConcaveOn.mono {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {s : Set E} {f : E} {m n : } (hmn : m n) (hf : StrongConcaveOn s n f) :
          @[simp]
          theorem strongConvexOn_zero {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {s : Set E} {f : E} :
          @[simp]
          theorem strongConcaveOn_zero {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {s : Set E} {f : E} :
          theorem StrongConvexOn.strictConvexOn {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {s : Set E} {f : E} {m : } (hf : StrongConvexOn s m f) (hm : 0 < m) :
          theorem StrongConcaveOn.strictConcaveOn {E : Type u_1} [NormedAddCommGroup E] [NormedSpace E] {s : Set E} {f : E} {m : } (hf : StrongConcaveOn s m f) (hm : 0 < m) :
          theorem strongConvexOn_iff_convex {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {s : Set E} {m : } {f : E} :
          StrongConvexOn s m f ConvexOn s fun (x : E) => f x - m / 2 * x ^ 2
          theorem strongConcaveOn_iff_convex {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {s : Set E} {m : } {f : E} :
          StrongConcaveOn s m f ConcaveOn s fun (x : E) => f x + m / 2 * x ^ 2