Page 1 of 1

Defining polyhedral complexes

Posted: 07 Sep 2017, 14:26
by camilo
Dear developers,
in my research I often stumble upon collections of combinatorially defined polyhedra, presented as intersection of half-planes, which I suspect constitute a polyhedral complex.

I would like to check whether that is the case. However, according to the documentation,in polymake the input of a polyhedral complex consists of a point configuration together with a collection of point subsets corresponding to vertices of the cells in the complex. In particular, this requires knowledge of the vertex-maximal cell incidences, which is not readily available if all you have are inequality descriptions for your polyhedra.

Would it be possible to relax the input of a polyhedral complex, so that it can be defined by a collection of polyhedra (without prior knowledge of vertices/rays)? The idea would be that polymake produces the vertex/maximal cell incidences, and from that knowledge can test if the collection indeed corresponds to a polyhedral complex, whether it corresponds to a regular subdivision of a polyhedron, whether it is regular, etc.

I am aware that this is not the most general way to construct a polyhedral complex, because it somehow neglects any underlying point configuration on top of which the complex may be defined, but it would be convenient to have it implemented in case you only have inequality descriptions for the cells at hand.

Re: Defining polyhedral complexes

Posted: 11 Sep 2017, 12:07
by gawrilow
Sorry for maybe stupid questions, but I'd like to align on terminology. You are first speaking about "combinatorially defined polyhedra", then about "half-planes". Isn't a half-plane just another name for an inequality, that is a hyperplane with orientation? But then must be specified by its normal vector having some concrete coordinates, which is not a purely combinatorial description. So how does your input look like physically? A list of polyhedra each one described by a list of inequalities? And you'd like to know whether or not they intersect "nicely" so that they comprise a well-formed polyhedral complex?

Re: Defining polyhedral complexes

Posted: 11 Sep 2017, 15:57
by camilo
Thanks for the reply.

Indeed, what I have is a list of polyhedra, each one described by a list of inequalities. Sorry if the wording was confusing; maybe I should have gotten more to the point.

The wish would be then to be able to use such information already as input to define a polyhedral complex (in particular, without prior knowledge of the vertex/maximal cell incidences), so that I can employ the PolyhedralComplex methods on my list of polyhedra.

Re: Defining polyhedral complexes

Posted: 11 Sep 2017, 17:33
by gawrilow
There is a function fan::check_fan_objects which you can feed with a list of Polytopes constructed from INEQUALITIES in a usual way. It will return a PolyhedralFan (if it exists) which you can cast to PolyhedralComplex if you need to:

Code: Select all

$complex=eval { cast<PolyhedralComplex>(check_fan_objects(@polytopes)) };
If the polytopes do not constitute a complex, the result will be an undef.

Admittedly, the function name could be more intuitive...

Re: Defining polyhedral complexes

Posted: 14 Sep 2017, 13:26
by camilo
Thanks, that seems to work!