Dual pairs #
Convex duality — conjugacy, support functions, polarity, the dual operations, normal cones — is a
theory about a pairing B : E →ₗ[ℝ] F →ₗ[ℝ] ℝ between two real vector spaces, not about ℝⁿ and
not about a space and its topological dual. This file collects the vocabulary the rest of the
development is stated against. The topology on E relates to the pairing in two graded ways:
IsContinuousPairing B says every ⟨·, y⟩ is a continuous functional on E, and
IsCompatiblePairing B says moreover that every continuous functional on E is one. Half of the
theory — the conjugate is closed, the polar is closed, f* does not see cl f — needs only the
first, and the decisive example is a Banach space paired with its dual in the dual's norm
topology: that pairing is continuous on both sides, but compatible only if E is reflexive.
Main definitions #
affineFn B y c— the affine functionx ↦ ⟨x, y⟩ - c. Conjugacy is bookkeeping for the affine functions below a convex function, and these are they.IsContinuousPairing B,IsCompatiblePairing B— the two classes above, with unbundled fieldscontinuous_pairingandexists_pairing_eq, andevalCLM B : F →ₗ[ℝ] StrongDual ℝ E.IsAdjointPair B B' A A'—A : E →ₗ[ℝ] GandA' : H →ₗ[ℝ] Fare adjoint for the pairingsBandB'.prodPairing Bu Bx,negFst B— the pairing ofU × XwithV × Y, and the sign flip on the first factor that the adjoint of a convex bifunction is stated against.
Main results #
convexFn_affineFn,closedFn_affineFn,affineFn_le_iff— the affine functions of the pairing are closed proper convex, andaffineFn B y c ≤ fis the inequality the conjugate measures.isAdjointPair_adjoint,isAdjointPair_topDualPairing— the two sources of an adjoint datum: a real inner-product space paired with itself, and a space paired with its topological dual.instIsCompatiblePairingTopDual— a topological vector space is compatibly paired with its own continuous dual in its own topology. This is how Fenchel–Moreau is applied in practice.instIsContinuousPairingProd,instIsCompatiblePairingProd,isContinuousPairing_prodPairing_flip— a product of continuous (resp. compatible) pairings is continuous (resp. compatible), on either side.exists_unique_dual_prod— a continuous linear functional onE × ℝis(x, μ) ↦ y x + c μfor a unique pair(y, c). Fenchel–Moreau needs this twice, to split a separating functional into a horizontal part and a vertical coefficient before recognising it as an affine minorant.
Implementation notes #
There is no transpose: for A : E →ₗ[ℝ] G between arbitrarily paired spaces Aᵀ need not exist,
and when it does it is extra data, which is why IsAdjointPair is a four-space predicate on a
supplied pair rather than an operation. A separating pairing is Mathlib's LinearMap.Nondegenerate.
Where a statement of Rockafellar's needs a hypothesis the book does not write, it is always one of
two kinds: a linear map has to be assumed continuous, or a subspace closed. Both are automatic
in finite dimensions.
References #
- R. T. Rockafellar, Convex Analysis, Princeton University Press, 1970, §12.
- H. H. Schaefer, Topological Vector Spaces, Springer, 1966, Chapter IV (dual pairs).
The affine functions of a pairing #
The affine function x ↦ ⟨x, y⟩ - c of the pairing B, as an EReal-valued function. These
are the affine minorants conjugacy quantifies over: such a function lies below f exactly when
its epigraph contains epi f, and f*(y) is the least c for which that happens.
Equations
- Tdaf.ConvexAnalysis.affineFn B y c x = ↑((B x) y) - ↑c
Instances For
A multiple of one affine function plus another is again an affine function — the algebraic content of the "vertical half-space" step in the affine-minorant argument.
The inequality that the conjugate measures. affineFn B y c ≤ f says exactly that c
dominates every value of ⟨x, y⟩ - f x, with no properness hypothesis.
Affine functions and topology #
An affine function of the pairing is a closed convex function as soon as the pairing is
continuous. In WeakBilin B — and hence in any finer topology — this holds for every y.
Adjoint pairs #
A : E →ₗ[ℝ] G and A' : H →ₗ[ℝ] F are adjoint with respect to the pairings
B : E →ₗ[ℝ] F →ₗ[ℝ] ℝ and B' : G →ₗ[ℝ] H →ₗ[ℝ] ℝ when ⟨A x, z⟩' = ⟨x, A' z⟩.
The adjoint is data, not a property of A: between arbitrarily paired spaces a transpose need
not exist, and when it does it need not be unique unless B is right-separating.
Equations
- Tdaf.ConvexAnalysis.IsAdjointPair B B' A A' = ∀ (x : E) (z : H), (B' (A x)) z = (B x) (A' z)
Instances For
The adjoint is unique when the pairing B is right-separating.
Adjoint pairs from Mathlib's adjoints #
A real Hilbert space paired with itself. ContinuousLinearMap.adjoint supplies the adjoint
datum for a continuous linear map between complete real inner-product spaces.
Rockafellar's ℝⁿ. In finite dimension every linear map has an adjoint, and
LinearMap.adjoint supplies the datum.
A space paired with its topological dual. For topDualPairing the adjoint datum of a
continuous linear map is precomposition; no completeness or finite-dimensionality is needed.
Products of pairings #
The pairing of U × X with V × Y determined by pairings of the factors. This is the pairing
that a convex bifunction U → X → EReal is conjugated against.
Equations
- Tdaf.ConvexAnalysis.prodPairing Bu Bx = LinearMap.mk₂ ℝ (fun (p : U × X) (q : V × Y) => (Bu p.1) q.1 + (Bx p.2) q.2) ⋯ ⋯ ⋯ ⋯
Instances For
The sign flip on the first factor: negFst B p q = B (-p.1, p.2) q. This is the pairing
the adjoint F* of a convex bifunction is conjugated against; prodPairing alone has the opposite
sign on the first factor.
Equations
Instances For
The sign flip of a product pairing is a product pairing, with the first factor negated.
Stated as an equation of linear maps rather than pointwise (negFst_prodPairing_apply), so that
negFst (prodPairing Bu Bx) inherits continuity and compatibility from the factors by instance
search.
The topological dual of E × ℝ #
A continuous linear functional on E × ℝ is (x, μ) ↦ y x + c μ, for a unique (y, c).
The classification of the closed half-spaces of E × ℝ into vertical (c = 0), upper
(c < 0) and lower (c > 0) is read off from this decomposition.
Continuous and compatible topologies #
The two conditions are two classes, in the order the definitions force: the base class, then the
evaluation map evalCLM, then the extension asserting that it is onto. Mathlib's
LinearMap.IsContPerfPair is not usable in their place: it asks for joint continuity of
(x, y) ↦ B x y (so F would need a topology) and for bijectivity on both sides where
surjectivity on one is enough.
The pairing B is continuous in its first variable: every ⟨·, y⟩ is a continuous linear
functional on E. This is all that closedness needs — closedFn_conj, conj_clFn,
isClosed_polarCone, isClosed_subgradient — and it is strictly weaker than
IsCompatiblePairing.
- continuous_left (y : F) : Continuous fun (x : E) => (B x) y
Every
⟨·, y⟩is continuous.
Instances
The evaluation map of a continuous pairing, y ↦ ⟨·, y⟩, into the continuous dual of E.
It turns half-space characterisations that quantify over StrongDual ℝ E into statements about
F, and its surjectivity is what IsCompatiblePairing asserts.
Equations
Instances For
B.flip.flip is B definitionally but not syntactically, and instance search does not unfold
LinearMap.flip; every result stated for one side and then used at B.flip asks for this
instance.
The topology on E is compatible with the pairing B: on top of continuity, evalCLM is
onto, so every continuous linear functional on E is ⟨·, y⟩ for some y : F.
This is the hypothesis under which conjugacy is an involution. It says nothing about which
compatible topology E carries: σ(E, F) is the coarsest, but a Banach space paired with its own
dual satisfies it in the norm topology.
- surjective_eval : Function.Surjective ⇑(evalCLM B)
Every continuous linear functional on
Earises as some⟨·, y⟩.
Instances
Negated pairings #
-B is a pairing of the same two spaces, and the minimax theory uses it constantly: the concave
argument of a saddle-function pairs against -Bu.
A topological vector space is compatibly paired with its own continuous dual, in its own topology. This is the instance that Fenchel–Moreau is applied through in practice.
A normed space is continuously paired with its continuous dual in the norm topology of
that dual. Compatibility fails here unless E is reflexive, which is why the closedness results
are stated over IsContinuousPairing.
Every continuous linear functional on the dual of a finite-dimensional normed space is
evaluation at a point: reflexivity, in the form the half-space arguments downstream need.
Equivalently, topDualPairing ℝ E — as opposed to its flip — is a compatible pairing when E is
finite-dimensional.
A finite-dimensional normed space is compatibly paired with its continuous dual from the
dual's side as well. With instIsCompatiblePairingTopDual this makes both topDualPairing ℝ E and
its flip compatible, which is what lets a conjugate f* be treated as a function in its own
right.
A real Hilbert space is compatibly paired with itself by the inner product (Fréchet–Riesz).
A product of compatible pairings is compatible: a continuous linear functional on U × X
splits as g (u, x) = g (u, 0) + g (0, x).
The pairing an adjoint is conjugated against is continuous whenever the factors are.
The pairing an adjoint bifunction is conjugated against is compatible whenever the factors are.
The pairing of the two dual factors is continuous whenever each of its halves is. Not an
instance, because (prodPairing Bu Bx).flip is not syntactically a prodPairing;
prodPairing_flip is what turns it into one.
The dual side of the adjoint's pairing. Unlike isContinuousPairing_prodPairing_flip this
is an instance, (negFst (prodPairing Bu Bx)).flip being a syntactic match.
The compatible counterpart of instIsContinuousPairingNegFstProdFlip.