Right scalar multiplication and homogenisation #
Two operations built from scalar multiplication of epigraphs.
Right scalar multiplication fλ is the function whose epigraph is λ • epi f; for λ > 0 it is
(fλ) x = λ * f (λ⁻¹ • x), and f0 = δ(· | 0). It is a monoid action of ([0, ∞), *) on
functions, and positive homogeneity of f is exactly fλ = f for all λ > 0.
Homogenisation hom f is the positively homogeneous convex function on ℝ × E assembled from
the functions fλ, one for each λ ≥ 0; its epigraph is the convex cone generated by
{1} ×ˢ epi f, one dimension up, with one ray added. It is the function generated by the level-1
lift of f, not the one generated by f itself — only the first keeps the λ variable that
recession functions, support functions of level sets and the two-step homogenisation used for
polarity all integrate over.
Main definitions #
smulRight f a— Rockafellar'sfa, defined asofEpi (a • epi f);smulRightHompackages it as a monoid homomorphismℝ≥0 →* Function.End (E → EReal).levelOneLift f— the level-1 lifth (λ, x) = f xifλ = 1,⊤otherwise.hom f— the positively homogeneous convex function onℝ × Egenerated bylevelOneLift f.homCone f— the convex cone generated byepi (levelOneLift f), which is whathom fisofEpiof;homEpiConebundlesepi (hom f)as aConvexCone ℝ ((ℝ × E) × ℝ).
Main results #
smulRight_apply_pos,smulRight_zero— the values offafora > 0and fora = 0.epi_smulRight—epi (fa) = a • epi f, fora > 0only; see below.convexFn_smulRight,smulRight_one,smulRight_smulRight,posHomogeneous_iff_smulRight_eq— convexity is preserved,fais a monoid action, andfis positively homogeneous exactly whenfa = ffor alla > 0.hom_apply_pos,hom_apply_one,hom_apply_neg,hom_apply_smul— the defining equations.posHomogeneous_hom,convexFn_hom,hom_ne_bot—hom fis positively homogeneous, convex as soon asfis, and avoids-∞as soon asfdoes.hom_isGreatest— the maximality property:hom fis the greatest positively homogeneous convexgwithg 0 ≤ 0andg ≤ levelOneLift f.hom_eq_ofEpi_homCone,epi_hom,homCone_eq_preimage,prodAssoc_image_homCone— the cone description, and the shuffle relating it to the cone over{1} ×ˢ epi finℝ × (E × ℝ).
Implementation notes #
epi (fa) = a • epi f fails at a = 0: there 0 • epi f is {(0, 0)} whenever epi f is
nonempty, which is not an epigraph, so epi (f0) = {0} ×ˢ Ici 0 is strictly larger. The definition
fa = ofEpi (a • epi f) still delivers Rockafellar's value, since ofEpi sees only the lower
boundary; the same degeneracy reappears one dimension up in epi_hom. The side condition f ≢ +∞
on f0 = δ(· | 0) is likewise not decoration: for f ≡ +∞, epi f = ∅ and fa = +∞ for every
a. It is needed in smulRight_zero, hom_eq_ofEpi_homCone, epi_hom and the membership half of
hom_isGreatest, and nowhere else.
References #
- R. T. Rockafellar, Convex Analysis, Princeton University Press, 1970, §5.
Auxiliary facts about epigraphs and ofEpi #
Right scalar multiplication #
Right scalar multiplication fa: the function determined by the scaled epigraph
a • epi f. For a > 0 this is (fa) x = a * f (a⁻¹ • x) and its epigraph really is
a • epi f; at a = 0 the epigraph identity fails, but the definition still delivers
Rockafellar's value f0 = δ(· | 0).
Equations
Instances For
A positively scaled epigraph is an epigraph: scaling epi f by a > 0 is the epigraph of
x ↦ a * f (a⁻¹ • x). This is the computation behind every statement about fa for a > 0.
Right scalar multiplication by a > 0 is scalar multiplication of the epigraph.
The hypothesis 0 < a is essential: see not_isEpiLike_zero_smul_epi.
The function determined by the single point (0, 0) is δ(· | 0).
f0 = δ(· | 0) when f ≢ +∞.
0 • epi f is never an epigraph, unless f ≡ +∞: its vertical section over the origin is the
single point {0}, which is not upward closed. This is why epi_smulRight is stated for
a > 0 only — epi (f0) = {0} ×ˢ Ici 0 is strictly larger than 0 • epi f.
δ(· | 0) ≤ f0, with no hypothesis on f: the two sides agree when f ≢ +∞ and the right-hand
side is +∞ otherwise. This is the uniform form of smulRight_zero.
Right scalar multiplication preserves convexity. No sign hypothesis on a is needed,
although fa is only intended for 0 ≤ a < ∞, the range in which it has its meaning.
f1 = f: right scalar multiplication by 1 is the identity.
f is positively homogeneous if and only if fa = f for every a > 0;
both directions read a • epi f = epi f through ofEpi_epi and epi_smulRight.
f0 is positively homogeneous, whatever f is: it is either δ(· | 0), the indicator of a
cone, or +∞. This is the degenerate case that makes posHomogeneous_hom work at λ = 0.
Scaling an epigraph by 0 does not see the difference between a set and the epigraph it
determines: both are empty together, and otherwise both collapse to {(0, 0)}.
Right scalar multiplication is an action, f(ab) = (fa)b. The case b = 0
is where the failure of epi (fa) = a • epi f at a = 0 is shown not to propagate.
Right scalar multiplication as a monoid action of ([0, ∞), *) on E → EReal, packaged as
a monoid homomorphism into Function.End (E → EReal); smulRight_one and smulRight_smulRight
are the two axioms. It is deliberately not a MulAction ℝ≥0 (E → EReal) instance, since on the
bare Pi type • already means the pointwise action; MulAction.ofEndHom turns it into an action
on demand.
Equations
- Tdaf.ConvexAnalysis.smulRightHom = { toFun := fun (a : NNReal) (f : E → EReal) => Tdaf.ConvexAnalysis.smulRight f ↑a, map_one' := ⋯, map_mul' := ⋯ }
Instances For
The monoid homomorphism smulRightHom is right scalar multiplication.
The level-1 lift #
The level-1 lift of f to ℝ × E: h (λ, x) = f x if λ = 1, and +∞ otherwise.
hom f is the positively homogeneous convex function generated by this lift,
not the one generated by f.
Equations
Instances For
The level-1 lift, evaluated on the hyperplane λ = 1.
The epigraph of the level-1 lift is {1} ×ˢ epi f, read in (ℝ × E) × ℝ through the
associativity shuffle.
The level-1 lift of a convex function is convex: its epigraph is a linear preimage of the
convex set {1} ×ˢ epi f.
Homogenisation #
The positively homogeneous convex function generated by the level-1 lift of f,
assembled slice by slice out of the right scalar multiples fλ:
hom f (λ, x) = (fλ) x for λ ≥ 0, and +∞ for λ < 0. No closure is taken.
Equations
- Tdaf.ConvexAnalysis.hom f p = if 0 ≤ p.1 then Tdaf.ConvexAnalysis.smulRight f p.1 p.2 else ⊤
Instances For
hom f (λ, λ x) = λ * f x for λ ≥ 0: the substitution y = λ x that turns homogenisation
into left scalar multiplication. At λ = 0 both sides are 0, by f0 = δ(· | 0) and
0 · ∞ = 0.
hom f never exceeds the level-1 lift, and agrees with it at λ = 1.
hom f is positively homogeneous, with no hypothesis on f at all. The λ = 0 slice is
where the a = 0 degeneracy of right scalar multiplication is absorbed, by positive homogeneity
of f0.
The upper-bound half of the maximality property: every positively homogeneous g with
g 0 ≤ 0 that is majorised by the level-1 lift of f is majorised by hom f. Convexity of g is
not used, and neither is f ≢ +∞. The hypothesis g 0 ≤ 0 is not removable: for f ≡ 0 on
E = ℝ, the indicator of {λ > 0} is positively homogeneous, convex and below the level-1 lift,
yet takes the value +∞ > 0 = hom f 0 at the origin.
The cone generated by the level-1 lift #
The convex cone in (ℝ × E) × ℝ generated by the epigraph of the level-1 lift of f: the
origin together with all positive multiples of epi (levelOneLift f). This is the cone from which
hom f is recovered by ofEpi. It is not itself an epigraph; epi_hom describes the ray that
has to be added.
Equations
- Tdaf.ConvexAnalysis.homCone f = {0} ∪ ⋃ (a : ℝ), ⋃ (_ : a > 0), a • Tdaf.ConvexAnalysis.epi (Tdaf.ConvexAnalysis.levelOneLift f)
Instances For
hom f is ofEpi of the convex cone generated by the epigraph of the level-1 lift of
f. The hypothesis f ≢ +∞ is needed: for
f ≡ +∞ the cone degenerates to {0}, whose associated function is δ(· | 0).
The maximality property of hom f. It is the greatest positively homogeneous convex g
on ℝ × E with g 0 ≤ 0 and g ≤ levelOneLift f. The side condition
g 0 ≤ 0 cannot be dropped (see le_hom), and f ≢ +∞ is needed only for membership: for
f ≡ +∞ one has hom f ≡ +∞, and the greatest element of the set is δ(· | 0) instead.
The epigraph of hom f against the cone that generates it. epi (hom f) is not
homCone f: the cone meets the hyperplane λ = 0 in the single point 0, whereas an epigraph
must contain the whole ray above it. The two differ exactly by that ray, {0} ×ˢ Ici 0.
The epigraph of hom f, bundled as a Mathlib ConvexCone: posHomogeneous_hom and
convexFn_hom say precisely that epi (hom f) is a convex cone in (ℝ × E) × ℝ. Unlike
PosHomogeneous.epiCone, this needs no ∀ x, f x ≠ ⊥, because closure under addition comes from
convexity of the cone rather than from subadditivity.
Equations
- Tdaf.ConvexAnalysis.homEpiCone hf = { carrier := Tdaf.ConvexAnalysis.epi (Tdaf.ConvexAnalysis.hom f), smul_mem' := ⋯, add_mem' := ⋯ }
Instances For
The carrier of homEpiCone is the epigraph of hom f.
The associativity shuffle #
epi (hom f) and homCone f live in (ℝ × E) × ℝ, while the cone generated by {1} ×ˢ epi f —
the form the downstream applications use — lives in ℝ × (E × ℝ). LinearEquiv.prodAssoc ℝ ℝ E ℝ
relates them.
The generated cone, read in ℝ × (E × ℝ): it is the cone generated by {1} ×ˢ epi f, pulled
back along the associativity shuffle.
The generated cone, transported to ℝ × (E × ℝ): it is the convex cone generated by
{1} ×ˢ epi f.