What exactly do you mean by "detect this face" ?
The hasse diagram contains both an interior and an exterior description of any face and because of the homogenization in polymake it is very easy to construct the corresponding face and dual face.
Code: Select all
# the indices of the vertices defining face $i:
$p->HASSE_DIAGRAM->FACES->[$i];
# the indices of the facets that are satisfied with equality at face $i:
$p->HASSE_DIAGRAM->dual_faces->[$i]
Hence, you can define the face of $p as a new polytope via:
Code: Select all
$f = new Polytope(VERTICES=>$p->VERTICES->minor($p->HASSE_DIAGRAM->FACES->[$i],All)); And the corresponding dual face is defined by:
Code: Select all
$fd = new Polytope(VERTICES=>$p->FACETS->minor($p->HASSE_DIAGRAM->dual_faces->[$i],All));
If you first computed the HASSE_DIAGRAM (or at least VERTICES_IN_FACETS) of $p then the indices of vertices of $p correspond directly to indices of facets of the polar $pd (and vice versa).
Benjamin