Processing math: 100%

First time here? Check out the FAQ!

Ask Your Question
0

0/1-equivalence for polytopes

asked 0 years ago

JTS gravatar image

updated 0 years ago

FrédéricC gravatar image

Dear all, for polytopes there is a method P.is_combinatorially_isomorphic(Q) which tests if two polytopes are combinatorially equivalent, i.e. if their face lattices are isomorphic.

I would like to test two 0/1-polytopes, i.e. polytopes which are the convex hull of a subset of the vertices of a (canonically embedded) hypercube Qn[0,1]n, for 0/1-equivalence. This means that there is an automorphism of Qn that maps P to Q. Explicitly, the automorphism should be a combination of permuting the variables and flipping xi1xi.

A reference is Ziegler, Lectures on 0/1-polytopes. He also mentions:

The full-dimensional 0/1-polytopes of dimension d = 4 were first enumerated by Alexx Below: There are 349 different 0/1-equivalence classes. In dimension 5 there are exactly 1226525 different 0/1-equivalence classes of 5-dimensional 0/1-polytopes. This classification was done by Oswin Aichholzer [2]: a considerable achievement, which was possible only by systematic use of all the symmetry that is in- herent in the problem.

It would be great to have access to a database of 0/1-polytopes, and be able to compare all facets of dimension at most 4 of some polytope P to candidates in the database, and classify them, something similar to

G.structure_description()

but for 0/1-polytopes.

Of secondary importance (to me) would be checking two polytopes for for affine equivalence and congruence.

Is this implemented i Sagemath?

Edit: the answer by Max Alekseyev points me in the right direction. I will investigate the polydb and polymake docs. Thanks for the help!

Preview: (hide)

1 Answer

Sort by » oldest newest most voted
0

answered 0 years ago

Max Alekseyev gravatar image

updated 0 years ago

polyDB provides a collection of "0/1-Polytopes up to rotation and reflection" by Oswin Aichholzer. I assume it can be accessed via polymake interface in Sage.

See also https://oeis.org/A105231 and references there.

Preview: (hide)
link

Comments

This looks promising, thanks! Many useful refeernces indeed. Poking around, I found clear instructions for accessing polydb from OSCAR.

When using sagemath, should I use 1) the polymake backend 2) the polymake (pexpect?) interface 3) the python wrapper https://github.com/apaffenholz/pypolydb 4) the python wrapper https://gitlab.com/videlec/pypolymake 5) the package sage-data-polytopes_db 6) something else?

I found lattice_isomorphic_smooth_polytopes(Polytope P1, Polytope P2) in the polymake docs. Suppose I want to use this from sage, how do I do that? Looking at https://doc.sagemath.org/html/en/refe... there is some sort of catch-all polymake.eval(), is this what is recommended?

JTS gravatar imageJTS ( 0 years ago )

I didn't use it myself. It looks like to just access polyDB wrapper #3 may be enough (as an alternative to polymake). If you have specific question about polymake, please post as a new question on this site.

Max Alekseyev gravatar imageMax Alekseyev ( 0 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: 0 years ago

Seen: 114 times

Last updated: Feb 13