Saddle-functions and partial conjugacy #
A concave-convex function on U × X is concave in its first argument for each value of the
second and convex in the second for each value of the first; convex-concave functions are the
mirror image, and both are called saddle-functions.
Concave-convex functions are the same data as convex bifunctions. A convex bifunction F from U
to X gives the bracket ⟨Fu, y⟩ = (F u)*(y), concave-convex in (u, y) and closed convex in
y; conversely every such function arises this way, from F u = K (u, ·)*. The bracket is the
conjugate of the graph function of F in its second variable only — one-variable conjugacy applied
uniformly in a parameter.
The two partial closures are not mirror images. partialCl₂ K closes K (u, ·) as a convex
function of the second argument; partialCl₁ K closes K (·, x) as a concave function of the
first.
Main definitions #
ConcaveConvexFn,ConvexConcaveFn,SaddleFn— the three predicates.dom₁ K = {u | ∀ x, K (u, x) > -∞}anddom₂ K = {x | ∀ u, K (u, x) < +∞}— the effective domains: intersections of one-variable domains, not unions.partialCl₁,partialCl₂— Rockafellar'scl₁andcl₂, with fixed pointsConcaveClosedFnandConvexClosedFn.bracket Bx F,concaveBracket Bu G—⟨Fu, y⟩and its concave counterpart⟨u, G y⟩;partialConj₂ Bx fis the uncurried reading of the first.bifunOfSaddle Bx K— the convex bifunctionF u = K (u, ·)*attached to a saddle-function.
Main results #
concaveConvexFn_bracket,closedFn_bracket,clFn_eq_conj_bracket— the bracket of a convex bifunction is concave-convex and closed iny, and inverts ascl (F u) = ⟨F u, ·⟩*.convexBifun_bifunOfSaddle,bracket_bifunOfSaddle— conversely, the bifunction attached to a concave-convexKis convex and its bracket iscl₂ K.convexFn_partialCl₂,concaveConvexFn_partialCl₂,concaveFn_partialCl₁— the partial closures preserve concave-convexity.concaveBracket_adjointBifun_eq_partialCl₁,partialCl₂_concaveBracket_adjointBifun— the two equations⟨u, F* y⟩ = cl₁ ⟨Fu, y⟩andcl₂ ⟨u, F* y⟩ = ⟨(cl F) u, y⟩(Theorem 33.2 in [^1]). One theorem in opposite variables, so the pairing hypotheses differ:Ufor the first,Yfor the second.
References #
[^1]: R. T. Rockafellar, Convex Analysis, Princeton University Press, 1970, §33–§34.
The two effective domains #
Concave-convex functions #
K is concave-convex: concave in the first argument, convex in the second.
K (·, x)is concave for everyx.K (u, ·)is convex for everyu.
Instances For
K is convex-concave: convex in the first argument, concave in the second.
K (·, x)is convex for everyx.K (u, ·)is concave for everyu.
Instances For
A saddle-function is one of the two.
Equations
Instances For
dom₁ of a concave-convex function is convex: it is an intersection of concave domains.
dom₂ of a concave-convex function is convex.
Partial conjugacy #
The conjugate of f in the second variable only: the uncurried reading of bracket,
which is what partialConj₂_graphFn makes precise. Downstream code uses the curried form.
Equations
- Tdaf.ConvexAnalysis.partialConj₂ Bx f p = Tdaf.ConvexAnalysis.conj Bx (fun (x : X) => f (p.1, x)) p.2
Instances For
Partial closures #
Rockafellar's cl₂: close in the second variable, convexly.
Equations
- Tdaf.ConvexAnalysis.partialCl₂ K p = Tdaf.ConvexAnalysis.clFn (fun (x : X) => K (p.1, x)) p.2
Instances For
Rockafellar's cl₁: close in the first variable, concavely.
Equations
- Tdaf.ConvexAnalysis.partialCl₁ K p = Tdaf.ConvexAnalysis.clConcave (fun (u : U) => K (u, p.2)) p.1
Instances For
K is convex-closed when it is unchanged by cl₂.
Equations
Instances For
K is concave-closed when it is unchanged by cl₁.
Equations
Instances For
The bracket of a convex bifunction #
Rockafellar's bracket ⟨Fu, y⟩ = (F u)*(y), read as a function of (u, y).
Equations
- Tdaf.ConvexAnalysis.bracket Bx F u y = Tdaf.ConvexAnalysis.conj Bx (F u) y
Instances For
⟨Fu, ·⟩ is closed as well as convex.
The clauses that use convexity of the bifunction #
The clause with content: ⟨F·, y⟩ is concave in u whenever F is a convex bifunction.
Its negative is the infimal projection of a jointly convex function along (u, x) ↦ u.
The bracket of a convex bifunction is concave-convex.
The inversion formula: cl (F u) is recovered from the bracket by conjugating back. This is
the Fenchel–Moreau theorem, uniformly in u.
The bifunction attached to a saddle-function #
The convex bifunction attached to a saddle-function: F u = K (u, ·)*, the conjugate taken
over the flipped pairing.
Equations
- Tdaf.ConvexAnalysis.bifunOfSaddle Bx K u x = Tdaf.ConvexAnalysis.conj Bx.flip (fun (y : Y) => K (u, y)) x
Instances For
The bifunction attached to a concave-convex K is convex: its graph function is a pointwise
supremum of jointly convex functions.
The bracket of that bifunction is cl₂ K.
Closedness of the partial closures #
cl₂ K is convex-closed.
cl₁ K is concave-closed.
cl₂ preserves convexity in the second variable.
cl₁ preserves concavity in the first variable.
The concave bracket and the bridge to adjoint bifunctions #
Rockafellar's bracket for a concave bifunction. Where bracket conjugates convexly in the
second variable, this one conjugates concavely in the first.
Equations
- Tdaf.ConvexAnalysis.concaveBracket Bu G u y = Tdaf.ConvexAnalysis.concaveConj Bu.flip (G y) u
Instances For
The concave adjoint is the conjugate of the concave bracket — the mirror of
adjointBifun_eq_concaveConj_bracket, with the two conjugations in the opposite order.
For a concave bifunction, ⟨·, G y⟩ is concave, being a concave conjugate.
For a concave bifunction, ⟨u, G ·⟩ is convex. The mirror of concaveFn_bracket, and again
an infimal projection of a jointly convex function.
The concave bracket of a concave bifunction is concave-convex.
The adjoint is the concave conjugate of the bracket. ⟨Fu, y⟩ and F* are the two halves
of one conjugation of the graph function: first convexly in x, then concavely in u. This is
what makes ⟨u, F* y⟩ = cl₁ ⟨Fu, y⟩ a case of concave Fenchel–Moreau.
The adjoint against the two partial closures #
⟨u, F* y⟩ = cl₁ ⟨Fu, y⟩. Once adjointBifun_eq_concaveConj_bracket identifies F* y with
concaveConj Bu ⟨F·, y⟩, this is concave Fenchel–Moreau applied to the concavity of ⟨F·, y⟩.
⟨u, F* y⟩ = cl₁ ⟨Fu, y⟩, in bracket notation.
The general form in which the second equation is proved: for a concave bifunction G, the
bracket of G* is the convex closure in y of the concave bracket of G. Fenchel–Moreau on Y,
uniformly in u.
cl₂ ⟨u, F* y⟩ = ⟨(cl F) u, y⟩. The adjoint of F is concave with no hypothesis on F, so
this is the concave form at F* followed by the biconjugation identity F** = cl F.
The clauses that need the correspondence #
The clause that is not pointwise: cl₂ K is again concave-convex. It is a bracket, and
brackets are concave-convex.