Documentation

Books.ConvexAnalysis_Rockafellar_1970.Chapters.Chap03.section12_part3

Corollary 12.2.1. The conjugacy operation f ↦ f* (here f* = fenchelConjugate n f) induces a symmetric one-to-one correspondence in the class of all closed proper convex functions on ℝ^n.

Taking the convex-function closure does not change the Fenchel conjugate.

theorem effectiveDomain_if_eq_intrinsicInterior (n : ) (f : (Fin n)EReal) :
have C := effectiveDomain Set.univ f; have A := intrinsicInterior C; have g := fun (x : Fin n) => if x A then f x else ; effectiveDomain Set.univ g = A

The effective domain of x ↦ if x ∈ ri(dom f) then f x else ⊤ is exactly ri(dom f).

theorem convexFunction_if_eq_top_on_compl (n : ) (f : (Fin n)EReal) (hf : ConvexFunction f) (A : Set (Fin n)) (hA : Convex A) :
ConvexFunction fun (x : Fin n) => if x A then f x else

Extending a convex function by outside a convex set preserves convexity.

theorem fenchelConjugate_if_eq_sSup_image (n : ) (f : (Fin n)EReal) (A : Set (Fin n)) (xStar : Fin n) :
fenchelConjugate n (fun (x : Fin n) => if x A then f x else ) xStar = sSup ((fun (x : Fin n) => ↑(x ⬝ᵥ xStar) - f x) '' A)

For g(x)=f(x) on A and g(x)=⊤ outside, g* is the supremum over A.

Relative interior is idempotent for convex sets in Euclidean space.

theorem fenchelConjugate_eq_sSup_intrinsicInterior_effectiveDomain (n : ) (f : (Fin n)EReal) (hf : ConvexFunction f) (xStar : Fin n) :
fenchelConjugate n f xStar = sSup ((fun (x : Fin n) => ↑(x ⬝ᵥ xStar) - f x) '' intrinsicInterior (effectiveDomain Set.univ f))

Corollary 12.2.2. For a convex function f on ℝ^n, one can compute the Fenchel conjugate f*(x*) = sup_x (⟪x, x*⟫ - f x) by restricting to points x in ri (dom f). Here f* = fenchelConjugate n f, dom f = effectiveDomain Set.univ f, and ri = intrinsicInterior.

def SatisfiesGeneralizedFenchelInequality (n : ) (p : ((Fin n)EReal) × ((Fin n)EReal)) :

Text 12.2.2: A pair of functions (f, g) : (ℝ^n → [-∞, ∞]) × (ℝ^n → [-∞, ∞]) satisfies the generalized Fenchel inequality if ⟪x, y⟫ ≤ f x + g y for all x, y ∈ ℝ^n.

Equations
Instances For
    @[reducible, inline]

    Text 12.2.2: The set 𝓦 of all pairs (f, g) satisfying the generalized Fenchel inequality.

    Equations
    Instances For

      From the generalized Fenchel inequality for (f, g), we get the pointwise bound f* ≤ g.

      theorem satisfiesGeneralizedFenchelInequality_no_bot (n : ) {f g : (Fin n)EReal} (h : SatisfiesGeneralizedFenchelInequality n (f, g)) :
      (∀ (x : Fin n), f x ) ∀ (y : Fin n), g y

      A generalized Fenchel pair cannot take the value in either component.

      theorem generalizedFenchelPairs_exists_fst_ne_top_of_isMin (n : ) (p : GeneralizedFenchelPairs n) (hpmin : IsMin p) :
      ∃ (x : Fin n), (↑p).1 x

      A minimal generalized Fenchel pair has some point where the first component is not .

      theorem generalizedFenchelPairs_exists_snd_ne_top_of_isMin (n : ) (p : GeneralizedFenchelPairs n) (hpmin : IsMin p) :
      ∃ (y : Fin n), (↑p).2 y

      A minimal generalized Fenchel pair has some point where the second component is not .

      Under the generalized Fenchel inequality, swapping the pair preserves the property.

      theorem fenchelConjugate_ne_bot_of_exists_ne_top (n : ) (f : (Fin n)EReal) (h : ∃ (x0 : Fin n), f x0 ) (y : Fin n) :

      If f has no values and is not identically , then f* is never .

      theorem satisfiesGeneralizedFenchelInequality_self_conjugate (n : ) {f : (Fin n)EReal} (hf_bot : ∀ (x : Fin n), f x ) (hf_top : ∃ (x0 : Fin n), f x0 ) :

      Fenchel's inequality: the pair (f, f*) satisfies the generalized Fenchel inequality.

      Text 12.2.2: For 𝓦 the set of pairs satisfying the generalized Fenchel inequality, ordered by (f', g') ≼ (f, g) meaning f' ≤ f and g' ≤ g pointwise, a pair is a minimal element of 𝓦 if and only if f and g are mutually conjugate, i.e. g = f^* and f = g^* (here f^* is fenchelConjugate).

      theorem fenchel_inequality (n : ) (f : (Fin n)EReal) (hf : ProperConvexFunctionOn Set.univ f) (x xStar : Fin n) :
      ↑(x ⬝ᵥ xStar) f x + fenchelConjugate n f xStar

      Text 12.2.3 (Fenchel's inequality): For any proper convex function f on ℝ^n and its conjugate f*, the inequality ⟪x, x*⟫ ≤ f x + f*(x*) holds for every x ∈ ℝ^n and every x* ∈ ℝ^n. Here the conjugate f* is represented by fenchelConjugate n f.

      theorem fenchelConjugate_indicatorFunction_eq_sSup_dotProduct_image (n : ) (L : Submodule (Fin n)) (xStar : Fin n) :
      fenchelConjugate n (indicatorFunction L) xStar = sSup ((fun (x : Fin n) => ↑(x ⬝ᵥ xStar)) '' L)

      The Fenchel conjugate of the indicator of a set is the supremum of the dot product over that set.

      theorem dotProduct_smul_left_real {n : } (a : ) (y xStar : Fin n) :
      a y ⬝ᵥ xStar = a * y ⬝ᵥ xStar

      Scaling the left argument scales the dot product.

      theorem sSup_dotProduct_image_eq_zero_of_forall_mem_eq_zero {n : } (L : Submodule (Fin n)) (xStar : Fin n) (h : xL, x ⬝ᵥ xStar = 0) :
      sSup ((fun (x : Fin n) => ↑(x ⬝ᵥ xStar)) '' L) = 0

      If xStar is orthogonal to every x ∈ L, then the supremum of ⟪x,xStar⟫ over L is 0.

      theorem sSup_dotProduct_image_eq_top_of_exists_mem_ne_zero {n : } (L : Submodule (Fin n)) (xStar : Fin n) (h : yL, y ⬝ᵥ xStar 0) :
      sSup ((fun (x : Fin n) => ↑(x ⬝ᵥ xStar)) '' L) =

      If some y ∈ L has nonzero dot product with xStar, then the supremum over L is +∞.

      Text 12.2.3 (indicator function of a subspace): Let f be the indicator function of a subspace L of ℝ^n, i.e. f(x) = δ(x | L). Then the conjugate function f* is the indicator function of the orthogonal complement L^{⊥} (the set of vectors x* such that ⟪x, x*⟫ = 0 for all x ∈ L), denoted δ(· | L^{⊥}).