polyhedron H-representation: variables determined by equations

25 views
Skip to first unread message

Daniel Krenn

unread,
Feb 25, 2019, 5:10:24 AM2/25/19
to sage-s...@googlegroups.com
The H-representation consists of equations and inequalities and the
equations seem to be in some canonical form. Is there a method that
returns the non-free variables (or indices), i.e. that are the variables
completely determined by the equations meaning once a value for the
other variables is fixed, then one can compute them and no further
restrictions apply.

E.g. for

sage: polytopes.simplex(2).Hrepresentation()
(An equation (1, 1, 1) x - 1 == 0,
An inequality (0, -1, -1) x + 1 >= 0,
An inequality (0, 1, 0) x + 0 >= 0,
An inequality (0, 0, 1) x + 0 >= 0)

I simply want to get the list of indices [0], as the first component is
only determined by (1, 1, 1) x - 1 and does not appear in any of the
inequalities.

jplab

unread,
Sep 1, 2019, 5:47:11 AM9/1/19
to sage-support
Hi Daniel,

As far as I know, no such method is implemented in the polyhedron class.

If I understood your situation, you want to know the set of coordinates "x_i" such that the projection along that axis is an injective function i.e. given a point in the image of the projection, you can lift it back uniquely using equations.

Already here, I see that this can be non-empty if and only if you have equations, 
which is what you want I guess. So, to compute the coordinates for which this 
property is true, I would compute a basis for the affine hull of the polyhedron 
(essentially, being lazy, I would just compute the polyhedron by dropping the 
inequalities and take the lines as my basis) and if that basis has a canonical 
vector e_i, then that vector is in the complement of the set you're looking for.

Best,
J-P
Reply all
Reply to author
Forward
0 new messages