Ask Your Question
2

Polyhedra, facets and vertices

asked 2021-02-06 10:10:56 +0100

Ingrid gravatar image

updated 2021-02-12 12:16:06 +0100

slelievre gravatar image

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)[0].vertices_list()

I get an error message

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

However, P1.faces(5)[0].vertices() works.

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

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
2

answered 2021-02-06 11:14:59 +0100

slelievre gravatar image

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.

edit flag offensive delete link more

Comments

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)[0].vertices() as well as for P1.faces(5)[0].vertices_list()

Ingrid gravatar imageIngrid ( 2021-02-06 12:05:50 +0100 )edit

Please provide more details so we can reproduce the error.

John Palmieri gravatar imageJohn Palmieri ( 2021-02-06 22:39:12 +0100 )edit

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

Ingrid gravatar imageIngrid ( 2021-02-07 04:24:22 +0100 )edit

Some possibilities:

  • put it on pastebin
  • share it via CoCalc
  • upload it somewhere and post a link
slelievre gravatar imageslelievre ( 2021-02-07 16:58:13 +0100 )edit

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!

Ingrid gravatar imageIngrid ( 2021-02-08 04:19:45 +0100 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2021-02-06 10:10:56 +0100

Seen: 371 times

Last updated: Feb 12 '21