Documentation

Books.ConvexAnalysis_Rockafellar_1970.Chapters.Chap03.section16_part4

The Fenchel biconjugate of a convex function agrees with its convex-function closure.

theorem section16_convexFunction_linearImage_sInf {n m : } (A : EuclideanSpace (Fin n) →ₗ[] EuclideanSpace (Fin m)) (f : (Fin n)EReal) (hf : ConvexFunction f) :
ConvexFunction fun (y : Fin m) => sInf ((fun (x : EuclideanSpace (Fin n)) => f x.ofLp) '' {x : EuclideanSpace (Fin n) | (A x).ofLp = y})

Linear images of convex functions via fiberwise sInf are convex.

theorem section16_fenchelConjugate_adjoint_image_eq_precomp_biconjugate {n m : } (A : EuclideanSpace (Fin n) →ₗ[] EuclideanSpace (Fin m)) (g : (Fin m)EReal) :
have gStar := fenchelConjugate m g; have h := fun (xStar : Fin n) => sInf ((fun (yStar : EuclideanSpace (Fin m)) => gStar yStar.ofLp) '' {yStar : EuclideanSpace (Fin m) | (LinearMap.adjoint A) yStar = WithLp.toLp 2 xStar}); fenchelConjugate n h = fun (x : Fin n) => fenchelConjugate m gStar (A (WithLp.toLp 2 x)).ofLp

Applying Theorem 16.3.1 to the adjoint gives a biconjugate identity.

theorem section16_fenchelConjugate_adjoint_image_eq_precomp_convexFunctionClosure {n m : } (A : EuclideanSpace (Fin n) →ₗ[] EuclideanSpace (Fin m)) (g : (Fin m)EReal) (hg : ConvexFunction g) :
have gStar := fenchelConjugate m g; have h := fun (xStar : Fin n) => sInf ((fun (yStar : EuclideanSpace (Fin m)) => gStar yStar.ofLp) '' {yStar : EuclideanSpace (Fin m) | (LinearMap.adjoint A) yStar = WithLp.toLp 2 xStar}); fenchelConjugate n h = fun (x : Fin n) => convexFunctionClosure g (A (WithLp.toLp 2 x)).ofLp

The adjoint-image conjugate equals precomposition by A of the convex-function closure.

Theorem 16.3.2: Let A : ℝ^n →ₗ[ℝ] ℝ^m be a linear transformation. For any convex function g on ℝ^m, one has

((cl g)A)^* = cl (A^* g^*).

Here cl denotes the convex-function closure (modeled as convexFunctionClosure), g^* is the Fenchel conjugate fenchelConjugate m g, and A^* g^* is the direct image of g^* under the adjoint of A (modeled by an sInf over the affine fiber {yStar | A^* yStar = xStar}).

theorem section16_polar_linearImage {n m : } (A : EuclideanSpace (Fin n) →ₗ[] EuclideanSpace (Fin m)) (C : Set (Fin n)) :
{yStar : Fin m | y(fun (x : Fin n) => (A (WithLp.toLp 2 x)).ofLp) '' C, y ⬝ᵥ yStar 1} = (fun (yStar : Fin m) => ((LinearMap.adjoint A) (WithLp.toLp 2 yStar)).ofLp) ⁻¹' {xStar : Fin n | xC, x ⬝ᵥ xStar 1}

Corollary 16.3.2.1. Let A : ℝ^n →ₗ[ℝ] ℝ^m be a linear transformation. For any convex set C ⊆ ℝ^n, one has

(A C)^* = A^{*-1} (C^*),

where C^* denotes the polar set and A^{*-1} denotes the preimage under the adjoint A^*.

Closure of a ≤ 1 sublevel set matches the ≤ 1 sublevel of the convex-function closure.

theorem section16_image_adjoint_polar_subset_sublevel_sInf {n m : } (Aadj : EuclideanSpace (Fin m) →ₗ[] EuclideanSpace (Fin n)) (D : Set (Fin m)) :
(fun (yStar : Fin m) => (Aadj (WithLp.toLp 2 yStar)).ofLp) '' {yStar : Fin m | supportFunctionEReal D yStar 1} {xStar : Fin n | sInf ((fun (yStar : EuclideanSpace (Fin m)) => supportFunctionEReal D yStar.ofLp) '' {yStar : EuclideanSpace (Fin m) | Aadj yStar = WithLp.toLp 2 xStar}) 1}

The adjoint image of the support-function sublevel lies in the fiberwise sInf sublevel.

Helper lemmas for the polar/sublevel closure correspondence.

theorem section16_sInf_fiber_zero_le {n m : } (Aadj : EuclideanSpace (Fin m) →ₗ[] EuclideanSpace (Fin n)) (D : Set (Fin m)) :
sInf ((fun (yStar : EuclideanSpace (Fin m)) => supportFunctionEReal D yStar.ofLp) '' {yStar : EuclideanSpace (Fin m) | Aadj yStar = WithLp.toLp 2 0}) 0

The fiberwise sInf at the origin is bounded by 0.

theorem section16_closure_image_adjoint_polar_eq_closure_sublevel_sInf_reverse {n m : } (Aadj : EuclideanSpace (Fin m) →ₗ[] EuclideanSpace (Fin n)) (D : Set (Fin m)) :
{xStar : Fin n | sInf ((fun (yStar : EuclideanSpace (Fin m)) => supportFunctionEReal D yStar.ofLp) '' {yStar : EuclideanSpace (Fin m) | Aadj yStar = WithLp.toLp 2 xStar}) 1} closure ((fun (yStar : Fin m) => (Aadj (WithLp.toLp 2 yStar)).ofLp) '' {yStar : Fin m | supportFunctionEReal D yStar 1})

Reverse inclusion for section16_closure_image_adjoint_polar_eq_closure_sublevel_sInf.

theorem section16_closure_image_adjoint_polar_eq_closure_sublevel_sInf {n m : } (Aadj : EuclideanSpace (Fin m) →ₗ[] EuclideanSpace (Fin n)) (D : Set (Fin m)) :
closure ((fun (yStar : Fin m) => (Aadj (WithLp.toLp 2 yStar)).ofLp) '' {yStar : Fin m | supportFunctionEReal D yStar 1}) = closure {xStar : Fin n | sInf ((fun (yStar : EuclideanSpace (Fin m)) => supportFunctionEReal D yStar.ofLp) '' {yStar : EuclideanSpace (Fin m) | Aadj yStar = WithLp.toLp 2 xStar}) 1}

The closure of the adjoint image of the polar sublevel equals the closure of the sInf sublevel.

theorem section16_properConvexFunctionOn_h_of_zero_mem_closure {n m : } (Aadj : EuclideanSpace (Fin m) →ₗ[] EuclideanSpace (Fin n)) (D : Set (Fin m)) (hD : Convex D) (h0D : 0 closure D) :
ProperConvexFunctionOn Set.univ fun (xStar : Fin n) => sInf ((fun (yStar : EuclideanSpace (Fin m)) => supportFunctionEReal D yStar.ofLp) '' {yStar : EuclideanSpace (Fin m) | Aadj yStar = WithLp.toLp 2 xStar})

Properness of the fiberwise sInf under 0 ∈ closure D.

theorem section16_iInf_h_lt_one_of_zero_mem_closure {n m : } (Aadj : EuclideanSpace (Fin m) →ₗ[] EuclideanSpace (Fin n)) (D : Set (Fin m)) :
⨅ (xStar : Fin n), sInf ((fun (yStar : EuclideanSpace (Fin m)) => supportFunctionEReal D yStar.ofLp) '' {yStar : EuclideanSpace (Fin m) | Aadj yStar = WithLp.toLp 2 xStar}) < 1

The fiberwise infimum is strictly below 1 under 0 ∈ closure D.

theorem section16_polar_preimage_closure_eq_closure_adjoint_image {n m : } (A : EuclideanSpace (Fin n) →ₗ[] EuclideanSpace (Fin m)) (D : Set (Fin m)) (hD : Convex D) (h0D : 0 closure D) :
{xStar : Fin n | x(fun (x : Fin n) => (A (WithLp.toLp 2 x)).ofLp) ⁻¹' closure D, x ⬝ᵥ xStar 1} = closure ((fun (yStar : Fin m) => ((LinearMap.adjoint A) (WithLp.toLp 2 yStar)).ofLp) '' {yStar : Fin m | yD, y ⬝ᵥ yStar 1})

Corollary 16.3.2.2. Let A be a linear transformation from ℝ^n to ℝ^m. For any convex set D ⊆ ℝ^m with 0 ∈ cl D, one has

(A⁻¹ (cl D))^* = cl (A^* (D^*)),

where cl is the topological closure of sets, D^* is the polar set, and A^* is the adjoint of A.

theorem section16_sInf_image_fiber_eq_sInf_exists {α : Type u_1} (φ : αEReal) (S : Set α) :
sInf (φ '' S) = sInf {z : EReal | yS, z = φ y}

Rewriting sInf of an image by an explicit existential description.

theorem section16_recessionFunction_eq_sSup_unrestricted {n : } {f : (Fin n)EReal} (y : Fin n) :
recessionFunction f y = sSup {r : EReal | ∃ (x : Fin n), r = f (x + y) - f x}

For a proper function, the recession function agrees with the unrestricted formula.