Processing math: 100%
Ask Your Question
2

Polyhedra, facets and vertices

asked 4 years ago

Ingrid gravatar image

updated 4 years ago

slelievre gravatar image

I have a 6-dimensional, convex, compact polyhedron in R12, 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?

Preview: (hide)

1 Answer

Sort by » oldest newest most voted
2

answered 4 years ago

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.

Preview: (hide)
link

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 ( 4 years ago )

Please provide more details so we can reproduce the error.

John Palmieri gravatar imageJohn Palmieri ( 4 years ago )

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 ( 4 years ago )

Some possibilities:

  • put it on pastebin
  • share it via CoCalc
  • upload it somewhere and post a link
slelievre gravatar imageslelievre ( 4 years ago )

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 ( 4 years ago )

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: 4 years ago

Seen: 421 times

Last updated: Feb 12 '21