-
-
Notifications
You must be signed in to change notification settings - Fork 685
Description
A ConvexHPolyhedralSet_base is defined by finitely many linear equations and linear inequalities, some of which may be strict.
Example: { (x,y) : x >= 0, y >= 0 } \ (0,0) = { x>=0, y>=0, x+y > 0 }
A ConvexVPolyhedralSet_base is generated by finitely many convex/conic generators; some generators may restrict their coefficients to be strictly positive.
Example: (0,0) u { (x,y) : x > 0, y > 0 } = { a (1,0) + b (0,1) + c (1,1), a>0, b>0, c>=0 }
A ConvexPolyhedralSet_base has both descriptions.
Any instance of these three classes can be written as a disjoint union of relative interiors of faces of their closure.
In this ticket, we only refactor Polyhedron_base (closed polyhedra) through the new class ConvexHPolyhedralSet_base, and make it possible to use an instance of a ConvexHPolyhedralSet_base subclass as a container for a (non-minimal) H-representation, for example as input to the Polyhedron constructor.
Follow-ups:
- We introduce new method names for the Vrepresentation that do not assume minimality of the distinguished representation:
convex_generatorsinstead ofverticesetc. (see Polyhedron constructors: minimal vs. non-minimal input representations; input both Vrep and Hrep #26366). - PolyhedronRepresentation: Add subclasses StrictInequality, StrictRay #32159 will add the necessary representation objects to handle the general case.
CC: @yuan-zhou
Component: geometry
Branch/Commit: u/mkoeppe/convexvpolyhedralset_base__convexhpolyhedralset_base @ ee138b0
Issue created by migration from https://trac.sagemath.org/ticket/34327