0/1-equivalence for polytopes
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 $Q_n \subset [0,1]^n$, for 0/1-equivalence. This means that there is an automorphism of $Q_n$ that maps $P$ to $Q$. Explicitly, the automorphism should be a combination of permuting the variables and flipping $x_i \to 1 - x_i$.
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!