# Polyhedra, facets and vertices

I have a 6-dimensional, convex, compact polyhedron in $\mathbb{R}^{12}$, that I am calling P1. The polyhedron P1 was specified by giving a large number of inequalities. When I enter P1.faces(5) into Sage, I get the following

(A 5-dimensional face of a Polyhedron in RDF^12 defined as the convex hull of 6 vertices,
A 5-dimensional face of a Polyhedron in RDF^12 defined as the convex hull of 7 vertices,
A 5-dimensional face of a Polyhedron in RDF^12 defined as the convex hull of 7 vertices,
A 6-dimensional face of a Polyhedron in RDF^12 defined as the convex hull of 7 vertices,
A 5-dimensional face of a Polyhedron in RDF^12 defined as the convex hull of 6 vertices,
A 6-dimensional face of a Polyhedron in RDF^12 defined as the convex hull of 8 vertices,
...)


How can there be two 6-dimensional faces, each with a different number of vertices, on the boundary of P1? I have checked that P1 really does have dimension 6.

Also, when I try to find a list of vertices on the boundary of any 5-dimensional face of P1, for example

P1.faces(5).vertices_list()


I get an error message

AttributeError: 'tuple' object has no attribute 'vertices_list'


However, P1.faces(5).vertices() works.

My second question is, how do I get a list of vertices on the boundary of an $n$-dimensional face?

edit retag close merge delete

Sort by » oldest newest most voted

It seems you defined your polyhedron using inequalities with coefficients in RDF.

Polyhedral computations over inexact fields such as RDF tend to give surprising results.

Try working over an exact field such as QQ or AA.

more

Thanks! When I changed to QQ, the two spurious 6-dimensional faces disappeared.

However, now I get the error message "AttributeError: 'tuple' object has no attribute 'vertices'" for P1.faces(5).vertices() as well as for P1.faces(5).vertices_list()

Is there some way I can upload a file? The list of constraints used to define the polyhedron is too big to fit here.

Some possibilities:

• put it on pastebin
• share it via CoCalc

Ah, ok. It would be best if I could share the ipynb file, but I can't put anything on my website without help from someone who speaks Chinese, and everyone is on holiday for the new year celebrations. Cocalc wants a lot of money for me to share files.

P1=Polyhedron(ieqs=Lconstraints, base_ring=QQ)

I've put the list Lconstraints here: https://pastebin.com/Uc8ANHcv

When I enter P1.faces(5).vertices() or P1.faces(5).vertices_list()

I get the error

AttributeError: 'tuple' object has no attribute 'vertices'

Thanks a lot everyone!