Rockafellar, §12: Conjugates of Convex Functions #
The conjugacy correspondence f ↦ f*, its involutivity on closed proper convex functions, and the
elementary table of operations under which the conjugate transforms by a change of variable. All 9
numbered results of §12 are formalized.
The section's definitions #
- The conjugate
f*isconj (pairing n) f, the backbone'sconjagainst the Euclidean self-pairing, defined by the book's own supremum for an arbitraryf : ℝⁿ → [-∞, +∞]. - Fenchel's inequality is
fenchel_inequality, stated for a properfexactly as the book states it; the hypothesis is not removable. - Symmetry with respect to a set
Gof orthogonal transformations is transcribed literally asSymmetricWrt, withIsOrthogonalEquivfor "orthogonal linear transformation ofℝⁿonto itself" — a linear bijection preserving the inner product. - The monotone conjugate
g⁺ismonotoneConjOrthant, acting onMonotoneOrthantFn:+∞off the non-negative orthant, non-decreasing for the componentwise order, convex, closed, and finite at the origin.monotoneConjOrthant_applyis the book's formulag⁺(z*) = sup {⟨z, z*⟩ - g z | z ≥ 0}.
Rockafellar prints Theorem 12.4 with no proof at all. The argument here avoids the
symmetrisation f x = g (abs x) that the surrounding prose suggests, and with it the question of
whether x ↦ g (abs x) is convex. Writing K for the non-negative orthant, the one fact that
makes the truncation g⁺ = restrict K f* harmless is conj_posPart: f* (y⁺) = f* y, where y⁺
is the componentwise positive part. The supremum defining f** may then be taken over K alone,
and Fenchel–Moreau finishes.
References #
- R. T. Rockafellar, Convex Analysis, Princeton University Press, 1970, §12.
Theorem 12.1 #
Theorem 12.1. A closed convex function f on ℝⁿ is the pointwise supremum
of the collection of all affine functions h such that h ≤ f.
An affine function on ℝⁿ is x ↦ ⟨x, b⟩ - β, indexed here by the pair (b, β); that every affine
function has this form is the identification of ℝⁿ with its own dual that pairing n makes.
Corollary 12.1.1. If f is any function from ℝⁿ to [-∞, ∞], then cl (conv f) is the
pointwise supremum of the collection of all affine functions on ℝⁿ majorized by f. The affine
minorants of cl (conv f) are exactly those of f.
Corollary 12.1.2. Given any proper convex function f on ℝⁿ, there exists some b ∈ ℝⁿ
and β ∈ ℝ such that f x ≥ ⟨x, b⟩ - β for every x. The book states this corollary with no proof
of its own.
Theorem 12.2: Fenchel–Moreau #
Theorem 12.2, first clause: the conjugate of a convex function is convex.
Convexity of f is not needed — f* is a pointwise supremum of affine functions whatever f is —
so the hypothesis of the book's statement is dropped.
Theorem 12.2, second clause: the conjugate of a convex function is closed. Again no
hypothesis on f is needed.
Theorem 12.2, third clause: f* is proper if and only if f is.
Strengthens proper_conj_iff, which asks for f closed as well as convex: on ℝⁿ the closure of
a proper convex function is again proper (Theorem 7.4), so the hypothesis can be discharged, and
conj_clFn transports the conclusion back.
Theorem 12.2, fourth clause: (cl f)* = f*. Convexity is not needed.
Theorem 12.2, the Fenchel–Moreau theorem: f** = cl f for convex f.
On ℝⁿ the two sides of the pairing coincide, so f** is literally conj (pairing n) applied
twice; conj_flip_pairing is what removes the backbone's B.flip.
Corollary 12.2.1. The conjugacy operation f ↦ f* induces a symmetric
one-to-one correspondence in the class of all closed proper convex functions on ℝⁿ.
"Symmetric" is corollary_12_2_1_symm_apply below: the inverse of the correspondence is the
correspondence itself.
Instances For
The correspondence of Corollary 12.2.1 is symmetric: its inverse is itself.
Corollary 12.2.2. For any convex function f on ℝⁿ,
f* x* = sup {⟨x, x*⟩ - f x ∣ x ∈ ri (dom f)}.
Fenchel's inequality #
Fenchel's inequality (Rockafellar, §12, p. 105): ⟨x, x*⟩ ≤ f x + f* x* for any proper
convex function f and its conjugate.
Properness is the book's hypothesis and it is not removable: for f ≡ +∞ the right-hand side is
⊤ + ⊥ = ⊥.
Theorem 12.3 #
Theorem 12.3. Let h be a convex function on ℝⁿ and
f x = h (A (x - a)) + ⟨x, a*⟩ + α with A a one-to-one linear transformation from ℝⁿ onto
ℝⁿ. Then f* x* = h* (A*⁻¹ (x* - a*)) + ⟨x*, a⟩ + α*, where α* = -α - ⟨a, a*⟩.
The book writes A*⁻¹; the adjoint is taken as data, so A' and ⟨A x, z⟩ = ⟨x, A' z⟩ are
hypotheses — over ℝⁿ the adjoint exists and is unique, but it must still be supplied. No
convexity of h is needed.
Corollary 12.3.1 #
An orthogonal linear transformation of ℝⁿ onto itself (Rockafellar, §12, p. 109): a
linear bijection preserving the inner product. The bridge to the backbone's IsAdjointPair is
orthogonalEquiv_adjoint below, which is Rockafellar's A*⁻¹ = A.
Equations
- Rockafellar.IsOrthogonalEquiv A = ∀ (x y : TdafSurface.Rn n), inner ℝ (A x) (A y) = inner ℝ x y
Instances For
The bridge for IsOrthogonalEquiv: for an orthogonal A the adjoint A* is A⁻¹.
Symmetry with respect to a set G of transformations (Rockafellar, §12, p. 109):
f (A x) = f x for every x and every A ∈ G.
Equations
- Rockafellar.SymmetricWrt f G = ∀ A ∈ G, ∀ (x : TdafSurface.Rn n), f (A x) = f x
Instances For
The half of Corollary 12.3.1 that needs no closedness: if f is symmetric under the
orthogonal transformation A, so is f*. This is Theorem 12.3 with h = f, a = 0 = a*,
α = 0, together with A*⁻¹ = A.
Corollary 12.3.1. A closed convex function f is symmetric with respect to a
given set G of orthogonal linear transformations if and only if f* is symmetric with respect
to G.
Theorem 12.4: monotone conjugacy on the non-negative orthant #
The non-negative orthant of ℝⁿ (Rockafellar, §12, p. 111): the set {z | z ≥ 0} for the
componentwise order.
Equations
- Rockafellar.nonnegOrthant n = {z : TdafSurface.Rn n | ∀ (j : Fin n), 0 ≤ z.ofLp j}
Instances For
The componentwise positive part of y, which is y itself on the orthant.
Equations
- Rockafellar.posPart y = WithLp.toLp 2 fun (j : Fin n) => max (y.ofLp j) 0
Instances For
z with the coordinates on which y is negative set to zero. It is the competitor that makes
the truncation in monotoneConjOrthant harmless.
Equations
- Rockafellar.maskNonneg y z = WithLp.toLp 2 fun (j : Fin n) => if 0 ≤ y.ofLp j then z.ofLp j else 0
Instances For
A non-decreasing closed convex function on the non-negative orthant, in the encoding the
book's §4 convention prescribes: a function on all of ℝⁿ that is +∞ off the orthant.
Rockafellar's hypotheses on g (p. 111) are exactly these.
- top_of_notMem ⦃z : TdafSurface.Rn n⦄ : z ∉ nonnegOrthant n → f z = ⊤
fis+∞off the non-negative orthant; the book's "function on the orthant". - mono ⦃z z' : TdafSurface.Rn n⦄ : z ∈ nonnegOrthant n → (∀ (j : Fin n), z.ofLp j ≤ z'.ofLp j) → f z ≤ f z'
f z ≤ f z'whenever0 ≤ z ≤ z': the book's non-decreasing. - convex : Tdaf.ConvexAnalysis.ConvexFn f
fis convex. - closed : Tdaf.ConvexAnalysis.ClosedFn f
fis lower semicontinuous, i.e. closed. f 0is finite: not+∞…… and not
-∞.
Instances For
The monotone conjugate g⁺ of Rockafellar's p. 111: the conjugate, truncated back to the
non-negative orthant so that the correspondence is one between functions on the orthant.
Equations
Instances For
Rockafellar's formula g⁺(z*) = sup {⟨z, z*⟩ - g z ∣ z ≥ 0} (p. 111), on the orthant.
The conjugate of an orthant function is monotone in the dual variable.
The one fact that makes the truncation harmless: f* does not distinguish y from its
positive part. See the module docstring.
Theorem 12.4, first half: the monotone conjugate g⁺ of a non-decreasing
lower semicontinuous convex function on the non-negative orthant, finite at the origin, is another
such function.
The book states Theorem 12.4 with no proof at all. Note g⁺(0) = -g(0), because g attains
its infimum over the orthant at the origin.
Theorem 12.4, second half: the monotone conjugate of g⁺ is in turn g. The book states
Theorem 12.4 with no proof at all; see the module docstring.