Face #
This file defines the concept of a face of a pointed cone. It also defines the complete lattice structure on the collection of all faces of such a cone.
Main definitions #
Face C: the face lattice ofC.Face.prod: the product of two faces of pointed cones, together with projectionsfstandsnd.Face.prodOrderIso: proves that the face lattices of a product cone is the product of the face lattices of the individual cones.
Implementation notes #
This is separate from faces of general convex sets in affine spaces, since the empty set is not a face of a convex cone, but of the corresponding convex set. The notion we use here allows a clean correspondence between the face lattice of convex sets and their homogenization cones.
The face lattice of a pointed cone C.
- isFaceOf : IsFaceOf self.toSubmodule C
Instances For
Converts a face of a pointed cone into a pointed cone.
Equations
- ↑F = F.toSubmodule
Instances For
Equations
Equations
- PointedCone.Face.instSetLike = { coe := fun (C_1 : C.Face) => ↑↑C_1, coe_injective := ⋯ }
Equations
Infimum, supremum and lattice #
The infimum of two faces F₁, F₂ of C is the intersection of the cones F₁ and F₂.
Equations
- One or more equations did not get rendered due to their size.
Equations
- PointedCone.Face.instSemilatticeInf = { toPartialOrder := PointedCone.Face.instPartialOrder, inf := min, inf_le_left := ⋯, inf_le_right := ⋯, le_inf := ⋯ }
Equations
- PointedCone.Face.instCompleteSemilatticeInf = { toPartialOrder := PointedCone.Face.instSemilatticeInf.toPartialOrder, toInfSet := PointedCone.Face.instInfSet, isGLB_sInf := ⋯ }
Equations
- One or more equations did not get rendered due to their size.
Equations
- PointedCone.Face.instInhabited = { default := ⊤ }
The bottom face of C is its lineality space.
Product #
The face of C₁ × C₂ obtained by taking the (submodule) product of faces F₁ ≤ C₁ and
F₂ ≤ C₂.
Instances For
The face of C₁ obtained by projecting to the first component of a face F ≤ C₁ × C₂.
Equations
- F.fst = { toSubmodule := PointedCone.map (LinearMap.fst R M N) F.toSubmodule, isFaceOf := ⋯ }
Instances For
The face of C₁ obtained by projecting to the second component of a face F ≤ C₁ × C₂.
Equations
- F.snd = { toSubmodule := PointedCone.map (LinearMap.snd R M N) F.toSubmodule, isFaceOf := ⋯ }
Instances For
The face lattice of the product of two cones is isomorphic to the product of their face lattices.
Equations
- One or more equations did not get rendered due to their size.