Page 1 of 1

Combinatorial automorphisms

Posted: 02 Jun 2014, 19:28
by kundor
I have constructed a combinatorial polytope, by specifying VERTICES_IN_FACETS. I would like to know the size of the combinatorial automorphism group (that is, the automorphisms of the face lattice.) Is there some way to determine this?
Thanks.

Re: Combinatorial automorphisms

Posted: 03 Jun 2014, 11:36
by assarf
yes you can do that with polymake. The client automorphisms does what you want.
automorphisms(m) -> Array<Pair<Array<Int>,Array<Int>>>

Find the automorphism group of the non-symmetric incidence matrix.

Arguments:
IncidenceMatrix<NonSymmetric> m

Returns Array<Pair<Array<Int>,Array<Int>>> each element encodes a permutation of its rows (first) and columns (second).
So lets walk you through an example. Let us take just the combinatorial information of the 3-cube and plug it into the client:

Code: Select all

polytope > $gen = automorphisms(cube(3)->VERTICES_IN_FACETS); polytope > print $gen; (<0 1 4 5 2 3> <0 1 4 5 2 3 6 7>) (<2 3 0 1 4 5> <0 2 1 3 4 6 5 7>) (<1 0 2 3 4 5> <1 0 3 2 5 4 7 6>)
What you see here are generators of automorphism group of the cube. Every row is a generator. The first entry in each row is a permutation, which operates on the facets, and the second entry is a permutation, which operates on the vertices. To find out the order of that group, you should take the generators and plug it into a polymake group object. You may do it like this:

Code: Select all

polytope > $genarray = [map {$_->[1]} @$gen]; polytope > $G = new group::Group(GENERATORS=>$genarray);
What this code snippet does is, it takes the second entry of each row and writes it into a new array. This array then gets used as the generators of a group. To see the order of that group you just write:

Code: Select all

polytope > print $G->ORDER; 48
let me know if that helped, and if this was what you want.

Re: Combinatorial automorphisms

Posted: 03 Jun 2014, 17:08
by kundor
Thank you, that worked perfectly. That little snippet of Perl wizardry to create $genarray would have taken me forever!