Documentation

Tdaf.Analysis.Convex.Polyhedral.NormalForm

The normal form of a polyhedral convex function #

A polyhedral convex function is exactly a pointwise maximum of finitely many affine functions, restricted to a polyhedral convex set: f = h + δ(· | C) with

h x = max {⟨x, b₁⟩ - β₁, …, ⟨x, b_k⟩ - β_k} and C = {x | ⟨x, b_j⟩ ≤ β_j, j = k+1, …, m}.

The two descriptions are the two kinds of closed half-space that can appear in a polyhedral description of epi f ⊆ E × ℝ: those whose bounding hyperplane is non-vertical, which are the epigraphs of affine functions, and those that are vertical, which constrain only x. There is no third kind, because epi f is upward closed and so no constraint can bound the vertical variable above; reading a polyhedral system for epi f off in the two groups is the whole proof.

Main definitions #

Main results #

Implementation notes #

The ⊥-freeness hypothesis is not decoration: EReal has ⊥ + ⊤ = ⊥, so a normal form can take the value ⊥ only on C. The function that is ⊥ on a proper nonempty polyhedral C and ⊤ elsewhere is convex with polyhedral epigraph C ×ˢ univ and has no normal form. The classical convention makes polyhedral convex functions proper, so ∀ x, f x ≠ ⊥ is the weaker hypothesis. The forward direction needs no finite-dimensionality; only the converse uses Minkowski–Weyl, through PolyhedralFn.add.

References #

noncomputable def Tdaf.ConvexAnalysis.maxAffineFn {E : Type u_1} [AddCommGroup E] [Module ℝ E] (s : Finset ((E →ₗ[ℝ] ℝ) × ℝ)) :
E → EReal

The pointwise maximum of the finite family of affine functions x ↦ q.1 x - q.2, q ∈ s, valued in EReal. The empty family gives the constant ⊥, which is the value the extended arithmetic assigns to an empty supremum.

Equations
Instances For
    theorem Tdaf.ConvexAnalysis.maxAffineFn_le_coe {E : Type u_1} [AddCommGroup E] [Module ℝ E] {s : Finset ((E →ₗ[ℝ] ℝ) × ℝ)} {x : E} {c : ℝ} :
    maxAffineFn s x ≤ ↑c ↔ ∀ q ∈ s, q.1 x - q.2 ≤ c

    A real number bounds a finite maximum of affine functions exactly when it bounds each of them.

    theorem Tdaf.ConvexAnalysis.coe_le_maxAffineFn {E : Type u_1} [AddCommGroup E] [Module ℝ E] {s : Finset ((E →ₗ[ℝ] ℝ) × ℝ)} {x : E} {q : (E →ₗ[ℝ] ℝ) × ℝ} (hq : q ∈ s) :
    ↑(q.1 x - q.2) ≤ maxAffineFn s x

    Every value of a finite maximum of affine functions is a lower bound for that family.

    A non-empty family of affine functions has a maximum that is nowhere ⊥.

    @[simp]

    An empty family of affine functions has the constant ⊥ as its maximum.

    A finite maximum of affine functions is a polyhedral convex function: its epigraph is cut out by the system q.1 x - μ ≤ q.2.

    The constant ⊥ is a polyhedral convex function: its epigraph is everything.

    The normal form is always polyhedral. For any finite family of affine functions and any polyhedral convex set C, the function h + δ(· | C) is a polyhedral convex function.

    For a non-empty family this is PolyhedralFn.add applied to polyhedralFn_maxAffineFn and polyhedralFn_indicatorFn; for the empty family h + δ(· | C) is the constant ⊥, because ⊥ + ⊤ = ⊥.

    The normal form of a polyhedral convex function. A polyhedral convex function that nowhere takes the value ⊥ is a pointwise maximum of finitely many affine functions plus the indicator of a polyhedral convex set, and the set may be taken to be dom f.

    The affine pieces come from the non-vertical inequalities of a polyhedral system for epi f, each rescaled by minus its (negative) coefficient on the vertical variable. The vertical inequalities constrain x alone and hold throughout dom f, which is why dom f itself serves as the set; it is polyhedral by PolyhedralFn.polyhedral_dom. No inequality can have a positive vertical coefficient, since epi f is upward closed.

    The normal form characterises polyhedral convex functions. A function that nowhere takes the value ⊥ is polyhedral convex exactly when it is a pointwise maximum of finitely many affine functions plus the indicator of a polyhedral convex set.