Documentation

Tdaf.Analysis.Convex.Optimization.Maximum

The maximum of a convex function #

Maximising a convex function behaves nothing like minimising one. The maximum principle says that a maximiser in the relative interior of C forces f to be constant on C, so maxima live on the boundary: on faces, and ultimately on extreme points. Taking a convex hull raises neither the supremum nor the maximiser set, so the supremum over a closed convex set is already carried by its relative boundary and — when C contains no lines and f is bounded above on each half-line of C — by the extreme points of C. That boundedness is what makes the extreme directions invisible: f x = x on C = [0, ∞) has supremum ⊤ over C and 0 over the one extreme point, and ConvexFn.iSup_extremePoints_add_coneHull is the unconditional statement keeping them.

Main definitions #

Main results #

Implementation notes #

Maximisation is spelled ∀ z ∈ C, f z ≤ f x rather than IsMaxOn, the form every proof consumes; isMaxOn_iff bridges. The lineality space L of C is quotiented out by intersecting with a complement N rather than by passing to E ⧸ L: C = L + (C ∩ N) holds for any N, so no inner product is needed where the book takes N = L⊥.

References #

[^1]: R. T. Rockafellar, Convex Analysis, Princeton University Press, 1970, §32.

The maximum principle #

theorem Tdaf.ConvexAnalysis.ConvexFn.eq_of_isMaxOn_mem_relint {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {f : E → EReal} {C : Set E} (hf : ConvexFn f) (hCdom : C ⊆ dom f) {z : E} (hz : z ∈ intrinsicInterior ℝ C) (hmax : ∀ w ∈ C, f w ≤ f z) {x : E} (hx : x ∈ C) :
f x = f z

The maximum principle: a convex function attaining its supremum over a convex C ⊆ dom f at a relative interior point of C is constant on C.

theorem Tdaf.ConvexAnalysis.exists_isFace_forall_eq_of_isMaxOn {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] {f : E → EReal} {C : Set E} [FiniteDimensional ℝ E] (hf : ConvexFn f) (hC : Convex ℝ C) (hCdom : C ⊆ dom f) {z : E} (hz : z ∈ C) (hmax : ∀ w ∈ C, f w ≤ f z) :
∃ (C' : Set E), IsFace C C' ∧ z ∈ C' ∧ ∀ x ∈ C', f x = f z

Every maximiser lies in a face of C on which f is constant, so the maximiser set is a union of faces: the maximum principle applied on the face whose relative interior contains it.

Passing to the convex hull #

theorem Tdaf.ConvexAnalysis.ConvexFn.iSup_convexHull {E : Type u_1} [AddCommGroup E] [Module ℝ E] {f : E → EReal} (hf : ConvexFn f) (S : Set E) :
⨆ x ∈ (convexHull ℝ) S, f x = ⨆ x ∈ S, f x

Taking the convex hull does not raise the supremum of a convex function: the sublevel set at the supremum over S is convex and contains S, hence contains conv S.

theorem Tdaf.ConvexAnalysis.exists_eq_of_isMaxOn_convexHull {E : Type u_1} [AddCommGroup E] [Module ℝ E] {f : E → EReal} {S : Set E} (hf : ConvexFn f) {x : E} (hx : x ∈ (convexHull ℝ) S) (hmax : ∀ z ∈ (convexHull ℝ) S, f z ≤ f x) :
∃ z ∈ S, f z = f x

The convex hull creates no new maximisers either, because the strict sublevel set is convex too.

The supremum over the relative boundary #

A closed convex set that is neither an affine set nor a closed half of one is the convex hull of its relative boundary.

theorem Tdaf.ConvexAnalysis.ConvexFn.iSup_sdiff_relint {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] {f : E → EReal} {C : Set E} (hf : ConvexFn f) (hC : Convex ℝ C) (hCcl : IsClosed C) (hhalf : ¬IsAffineHalf C) :
⨆ x ∈ C, f x = ⨆ x ∈ C \ intrinsicInterior ℝ C, f x

The supremum over a closed convex set is already its supremum over the relative boundary. The hypothesis — C neither an affine set nor a closed half of one — cannot be dropped: over [0, ∞) the relative boundary is {0}, yet f x = x has supremum ⊤.

theorem Tdaf.ConvexAnalysis.exists_notMem_relint_eq_of_isMaxOn {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] {f : E → EReal} {C : Set E} (hf : ConvexFn f) (hC : Convex ℝ C) (hCcl : IsClosed C) (hhalf : ¬IsAffineHalf C) {x : E} (hx : x ∈ C) (hmax : ∀ z ∈ C, f z ≤ f x) :
∃ z ∈ C \ intrinsicInterior ℝ C, f z = f x

Attainment: a maximiser can be replaced by one on the relative boundary.

theorem Tdaf.ConvexAnalysis.ConvexFn.iSup_sdiff_relint_of_containsNoLine {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] {f : E → EReal} {C : Set E} (hf : ConvexFn f) (hC : Convex ℝ C) (hCcl : IsClosed C) (hnl : ContainsNoLine C) (hne : C.Nonempty) (hdim : 2 ≤ Module.finrank ℝ ↥(vectorSpan ℝ C)) :
⨆ x ∈ C, f x = ⨆ x ∈ C \ intrinsicInterior ℝ C, f x

The relative-boundary supremum under a hypothesis easier to check: a closed convex set of dimension at least two containing no lines is neither affine nor a closed half of an affine set.

The extreme point principle #

theorem Tdaf.ConvexAnalysis.ConvexFn.add_le_of_forall_add_smul_le {E : Type u_1} [AddCommGroup E] [Module ℝ E] {f : E → EReal} (hf : ConvexFn f) {u v : E} {β : ℝ} (hray : ∀ (t : ℝ), 0 ≤ t → f (u + t • v) ≤ ↑β) :
f (u + v) ≤ f u

A convex function bounded above on a half-line does not increase along it: if f (u + t • v) ≤ β for every t ≥ 0 then f (u + v) ≤ f u.

theorem Tdaf.ConvexAnalysis.ConvexFn.add_le_of_mem_recessionCone {E : Type u_1} [AddCommGroup E] [Module ℝ E] {f : E → EReal} {C : Set E} (hf : ConvexFn f) {β : ℝ} (hbdd : ∀ x ∈ C, f x ≤ ↑β) {u v : E} (hu : u ∈ C) (hv : v ∈ recessionCone C) :
f (u + v) ≤ f u

Bounded above on C implies non-increasing along a direction of recession of C — the analytic core of the extreme point principle.

def Tdaf.ConvexAnalysis.BddAboveOnRays {E : Type u_1} [AddCommGroup E] [Module ℝ E] (f : E → EReal) (C : Set E) :

f is bounded above on every half-line of C: for every u and v with u + t • v ∈ C for all t ≥ 0, some real β bounds f there. The direction v = 0 makes it say C ⊆ dom f as well, so this one predicate carries both standing hypotheses of the extreme point principle.

Equations
Instances For
    theorem Tdaf.ConvexAnalysis.bddAboveOnRays_of_forall_le {E : Type u_1} [AddCommGroup E] [Module ℝ E] {f : E → EReal} {C : Set E} {β : ℝ} (hbdd : ∀ x ∈ C, f x ≤ ↑β) :
    theorem Tdaf.ConvexAnalysis.BddAboveOnRays.mono {E : Type u_1} [AddCommGroup E] [Module ℝ E] {f : E → EReal} {C C' : Set E} (hray : BddAboveOnRays f C) (hsub : C' ⊆ C) :
    theorem Tdaf.ConvexAnalysis.BddAboveOnRays.subset_dom {E : Type u_1} [AddCommGroup E] [Module ℝ E] {f : E → EReal} {C : Set E} (hray : BddAboveOnRays f C) :
    C ⊆ dom f

    The degenerate half-lines — the points — of C already force C ⊆ dom f.

    theorem Tdaf.ConvexAnalysis.ConvexFn.add_le_of_bddAboveOnRays {E : Type u_1} [AddCommGroup E] [Module ℝ E] {f : E → EReal} {C : Set E} (hf : ConvexFn f) (hray : BddAboveOnRays f C) {u v : E} (hu : u ∈ C) (hv : v ∈ recessionCone C) :
    f (u + v) ≤ f u

    The previous bound weakened to the one half-line the proof actually uses.

    theorem Tdaf.ConvexAnalysis.ConvexFn.add_eq_of_mem_linealitySpace {E : Type u_1} [AddCommGroup E] [Module ℝ E] {f : E → EReal} {C : Set E} (hf : ConvexFn f) (hray : BddAboveOnRays f C) {u v : E} (hu : u ∈ C) (hv : v ∈ linealitySpace C) :
    f (u + v) = f u

    Bounded above on the half-lines of C implies constant along the lineality space of C: the two opposite directions of recession give inequalities that close on each other.

    theorem Tdaf.ConvexAnalysis.ConvexFn.exists_mem_inter_eq_of_isCompl {E : Type u_1} [AddCommGroup E] [Module ℝ E] {f : E → EReal} {C : Set E} (hf : ConvexFn f) (hray : BddAboveOnRays f C) {N : Submodule ℝ E} (hN : IsCompl (linealitySubmodule C) N) {w : E} (hw : w ∈ C) :
    ∃ q ∈ C ∩ ↑N, f w = f q

    Reduction of C to C ∩ N at the level of values: for any complement N of the lineality space of C, every point of C carries the same value of f as some point of C ∩ N. The decomposition C = L + (C ∩ N) is algebraic: no closedness, no finite dimension.

    theorem Tdaf.ConvexAnalysis.ConvexFn.eq_of_forall_le {E : Type u_1} [AddCommGroup E] [Module ℝ E] {f : E → EReal} (hf : ConvexFn f) {β : ℝ} (hbdd : ∀ (x : E), f x ≤ ↑β) (x y : E) :
    f x = f y

    A convex function bounded above on the whole space is constant — the unbounded companion of the maximum principle, where the absence of any boundary replaces ri C.

    theorem Tdaf.ConvexAnalysis.ConvexFn.exists_mem_convexHull_extremePoints_le {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] {f : E → EReal} {C : Set E} (hf : ConvexFn f) (hC : Convex ℝ C) (hCcl : IsClosed C) (hnl : ContainsNoLine C) (hray : BddAboveOnRays f C) {x : E} (hx : x ∈ C) :
    ∃ u ∈ (convexHull ℝ) (Set.extremePoints ℝ C), f x ≤ f u

    Every point of C is dominated by a point of conv (ext C), for f bounded above on the half-lines of a closed convex line-free C; the representation of C splits x as u + v.

    theorem Tdaf.ConvexAnalysis.ConvexFn.iSup_extremePoints_of_containsNoLine {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] {f : E → EReal} {C : Set E} (hf : ConvexFn f) (hC : Convex ℝ C) (hCcl : IsClosed C) (hnl : ContainsNoLine C) (hray : BddAboveOnRays f C) :
    ⨆ x ∈ C, f x = ⨆ x ∈ Set.extremePoints ℝ C, f x

    The extreme point principle for L = 0: the supremum of a convex function over a closed convex C with no lines, bounded above on every half-line of C, is its supremum over ext C. BddAboveOnRays is genuinely weaker than a uniform bound: f (ξ₁, ξ₂) = ξ₁ on C = {(ξ₁, ξ₂) | ξ₁² ≤ ξ₂} is bounded on each half-line and unbounded on C.

    theorem Tdaf.ConvexAnalysis.exists_mem_extremePoints_eq_of_isMaxOn_of_containsNoLine {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] {f : E → EReal} {C : Set E} (hf : ConvexFn f) (hC : Convex ℝ C) (hCcl : IsClosed C) (hnl : ContainsNoLine C) {x : E} (hx : x ∈ C) (hxt : f x ≠ ⊤) (hmax : ∀ z ∈ C, f z ≤ f x) :
    ∃ z ∈ Set.extremePoints ℝ C, f z = f x

    A supremum over a closed convex line-free set, if attained at all, is attained at an extreme point. No boundedness hypothesis is needed, but f x ≠ ⊤ is: on [0, ∞) with f = 0 on [0, 1) and ⊤ beyond, ⊤ is a maximum yet the extreme point carries 0.

    theorem Tdaf.ConvexAnalysis.ConvexFn.iSup_extremePoints_add_coneHull {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] {f : E → EReal} {C : Set E} (hf : ConvexFn f) (hC : Convex ℝ C) (hCcl : IsClosed C) (hnl : ContainsNoLine C) :
    ⨆ x ∈ C, f x = ⨆ x ∈ Set.extremePoints ℝ C + ↑(PointedCone.hull ℝ (extremeDirections C)), f x

    The extreme point principle in representation form, with no boundedness hypothesis: the supremum over a closed convex line-free set is the supremum over the sums of an extreme point and a non-negative combination of extreme directions.

    The lineality space quotiented out #

    theorem Tdaf.ConvexAnalysis.ConvexFn.iSup_extremePoints_inter_of_isCompl {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] {f : E → EReal} {C : Set E} (hf : ConvexFn f) (hC : Convex ℝ C) (hCcl : IsClosed C) (hray : BddAboveOnRays f C) {N : Submodule ℝ E} (hN : IsCompl (linealitySubmodule C) N) :
    ⨆ x ∈ C, f x = ⨆ x ∈ Set.extremePoints ℝ (C ∩ ↑N), f x

    The extreme point principle in full: for any complement N of the lineality space of a closed convex C, the supremum of a convex function bounded above on the half-lines of C is its supremum over the extreme points of C ∩ N. The book takes N = L⊥; every complement works.

    theorem Tdaf.ConvexAnalysis.exists_mem_extremePoints_inter_eq_of_isMaxOn_of_isCompl {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] {f : E → EReal} {C : Set E} (hf : ConvexFn f) (hC : Convex ℝ C) (hCcl : IsClosed C) (hray : BddAboveOnRays f C) {N : Submodule ℝ E} (hN : IsCompl (linealitySubmodule C) N) {x : E} (hx : x ∈ C) (hmax : ∀ w ∈ C, f w ≤ f x) :
    ∃ z ∈ Set.extremePoints ℝ (C ∩ ↑N), f z = f x

    Attainment for an arbitrary complement N of the lineality space: a maximiser over C can be replaced by an extreme point of C ∩ N.

    Finitely generated sets #

    The extreme point principle for a finitely generated set: bounded above on every half-line of a nonempty finitely generated line-free convex set, f attains its supremum at an extreme point — of which there are only finitely many.

    theorem Tdaf.ConvexAnalysis.exists_mem_extremePoints_isMaxOn_of_finitelyGenerated {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] {f : E → EReal} {C : Set E} (hf : ConvexFn f) (hC : FinitelyGenerated C) (hnl : ContainsNoLine C) (hne : C.Nonempty) {β : ℝ} (hbdd : ∀ x ∈ C, f x ≤ ↑β) :
    ∃ z ∈ Set.extremePoints ℝ C, ∀ w ∈ C, f w ≤ f z

    A convex function bounded above on a nonempty polyhedral convex set containing no lines attains its supremum at one of its finitely many extreme points.

    theorem Tdaf.ConvexAnalysis.exists_isMaxOn_of_polyhedral_of_bddAboveOnRays {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] {f : E → EReal} {C : Set E} (hf : ConvexFn f) (hC : Polyhedral C) (hne : C.Nonempty) (hray : BddAboveOnRays f C) :
    ∃ z ∈ C, ∀ w ∈ C, f w ≤ f z

    A convex function bounded above on every half-line of a nonempty polyhedral convex C ⊆ dom f attains its supremum relative to C. Unlike the previous result this asks nothing about lines in C, and claims nothing about extreme points of C — a set containing a line has none. The maximiser is an extreme point of C ∩ N and depends on the complement N chosen, hence the bare attainment conclusion.

    The extreme point principle, compact case #

    theorem Tdaf.ConvexAnalysis.ConvexFn.iSup_extremePoints {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] {f : E → EReal} {C : Set E} (hf : ConvexFn f) (hcomp : IsCompact C) (hconv : Convex ℝ C) :
    ⨆ x ∈ C, f x = ⨆ x ∈ Set.extremePoints ℝ C, f x

    For compact C the supremum over the set is its supremum over the extreme points: Minkowski's theorem fed to the convex hull identity.

    theorem Tdaf.ConvexAnalysis.exists_mem_extremePoints_eq_of_isMaxOn {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] {f : E → EReal} {C : Set E} (hf : ConvexFn f) (hcomp : IsCompact C) (hconv : Convex ℝ C) {x : E} (hx : x ∈ C) (hmax : ∀ z ∈ C, f z ≤ f x) :
    ∃ z ∈ Set.extremePoints ℝ C, f z = f x

    A maximiser over a compact convex set is matched by an extreme point.

    theorem Tdaf.ConvexAnalysis.exists_mem_extremePoints_isMaxOn_of_isCompact {E : Type u_1} [NormedAddCommGroup E] [NormedSpace ℝ E] [FiniteDimensional ℝ E] {f : E → EReal} {C : Set E} (hf : ConvexFn f) (hp : Proper f) (hcomp : IsCompact C) (hconv : Convex ℝ C) (hne : C.Nonempty) (hCri : C ⊆ intrinsicInterior ℝ (dom f)) :
    ∃ z ∈ Set.extremePoints ℝ C, ∀ w ∈ C, f w ≤ f z

    The "supremum is attained" clause: a convex function attains its supremum over a nonempty compact convex C ⊆ ri (dom f) at an extreme point. The hypothesis is C ⊆ ri (dom f), not the book's C ⊆ dom f, under which the clause is false.

    Subgradients at a maximiser #

    theorem Tdaf.ConvexAnalysis.mem_normalCone_of_mem_subgradient_of_isMaxOn {E : Type u_1} {F : Type u_2} [AddCommGroup E] [Module ℝ E] [AddCommGroup F] [Module ℝ F] {B : E →ₗ[ℝ] F →ₗ[ℝ] ℝ} {f : E → EReal} {C : Set E} {x : E} {y : F} (hxb : f x ≠ ⊥) (hxt : f x ≠ ⊤) (hmax : ∀ z ∈ C, f z ≤ f x) (hy : y ∈ subgradient B f x) :
    y ∈ normalCone B C x

    At a point where f attains its supremum over C, every subgradient of f is normal to C. All that is needed is that f x be real.

    theorem Tdaf.ConvexAnalysis.ne_zero_of_mem_subgradient_of_isMaxOn {E : Type u_1} {F : Type u_2} [AddCommGroup E] [Module ℝ E] [AddCommGroup F] [Module ℝ F] {B : E →ₗ[ℝ] F →ₗ[ℝ] ℝ} {f : E → EReal} {C : Set E} {x : E} {y : F} (hmax : ∀ z ∈ C, f z ≤ f x) {z₀ : E} (hz₀ : z₀ ∈ C) (hne : f z₀ ≠ f x) (hy : y ∈ subgradient B f x) :
    y ≠ 0

    Non-vanishing clause: if f is not constant on C, no subgradient at a maximiser can be zero.

    theorem Tdaf.ConvexAnalysis.le_of_mem_normalCone {E : Type u_1} {F : Type u_2} [AddCommGroup E] [Module ℝ E] [AddCommGroup F] [Module ℝ F] {B : E →ₗ[ℝ] F →ₗ[ℝ] ℝ} {C : Set E} {x : E} {y : F} (hy : y ∈ normalCone B C x) {z : E} (hz : z ∈ C) :
    (B z) y ≤ (B x) y

    A vector normal to C at x is one whose linear functional attains its supremum over C at x.