Finite convex combinations of polytope vertices #
This file packages membership in the convex hull of the vertex set as a finite family of real weights. Real weights are necessary for an arbitrary real point of a rational polytope: even an interval with rational endpoints contains points which admit no rational convex coefficients.
The support lemmas record the two properties needed by reductions to finite vertex families. A positive summand of a combination lying on an exposed face lies on that face, and a positive summand of a combination equal to a vertex must be that vertex.
The finite set of actual vertices of a rational polytope.
Equations
- P.vertexFinset = ⋯.toFinset
Instances For
A convex combination indexed by the complete finite vertex set of P.
The weight is stored on the ambient coordinate type because this is the form
returned by Finset.mem_convexHull' and is convenient when a later argument
supplies coefficients vertex by vertex. Only its values on vertexFinset
enter the data.
Barycentric weight assigned to each vertex.
- nonnegative (v : RealCoord d) : v ∈ P.vertexFinset → 0 ≤ self.weight v
Instances For
Every point of a rational polytope has a finite convex-combination representation using all of its vertices (with zero weights permitted).
In any finite convex combination equal to an extreme point of P, a
strictly positive summand is that extreme point. The inputs need only lie
in P; they need not themselves be vertices.
This indexed form is convenient for zero-sum reductions, whose coefficients are naturally indexed by the original finite family.
If the represented point lies in an exposed face, every vertex carrying positive weight lies in that face.
In a convex representation of an extreme point of P, every vertex with
positive weight is the represented point itself.
Equivalently, every vertex different from an extreme represented point has zero weight.