|
Extensions of Abstract Polytopes By Direct Products of Cyclic Groups
This page gives information about some GAP scripts mentioned in the article Extensions of Abstract Polytopes by Direct Products of Cyclic Groups. The article is in preparation, I will submit it soon.
The GAP file polyext.gap contains some scripts useful for attempting to find covering polytopes for a given regular polytope. Note that if you just read in the file, it will issue two warnings.
- The variable
noisy is undefined.
- The variable
returnOnlyOne is undefined.
Before reading in the file, you should assign boolean values to these. For example :
gap> noisy := false;
gap> returnOnlyOne := true;
gap> Read("polyext.gap");
- If
noisy is set to true , the functions produce more verbose output.
- If
returnOnlyOne is set to true , certain functions exit as soon as they find a single extension.
The main functions that I expect people to find useful are :
-
extendPolytope(poly, n)
-
extendPolytopeUsingGuesswork(poly, n)
-
isPolytopeInfinitelyExtendable(poly)
In each of these,
-
n is a positive integer, and
-
poly is a List of permutations, the special generators of the automorphism group of the polytope. If the polytope you are interested in is small, you could get such generators from this atlas of small regular polytopes.
As for what each function does...
-
isPolytopeInfinitelyExtendable checks whether the polytope can be extended by some cyclic group Znk, for infinitely many (or even for an infinite) n.
- To extend a polytope by Znk for some specific n,
extendPolytope or extendPolytopeUsingGuesswork may be used. The former uses some clever logic to speed things up, but sometimes misses a potential extension. The latter is more thorough, and is therefore slower. Both methods return lists (possibly empty) of generating sets for the extended polytope's automorphism group. Trivial extensions (that is, extensions by Zn0) are not returned.
By way of example, the following code tries to extend Coxeter and Grunbaum's 11-cell.
noisy := false;
returnOnlyOne := true;
s0 := ( 3,11)( 4, 7)( 5, 6)( 8,10);;
s1 := ( 3, 4)( 5, 9)( 7, 8)(10,11);;
s2 := ( 2, 9)( 4, 5)( 6, 7)( 8,10);;
s3 := ( 1, 2)( 3, 4)( 7,11)( 8,10);;
poly := [s0,s1,s2,s3];;
isPolytopeInfinitelyExtendable(poly); # this returns false
extendPolytope(poly,2); # this fails completely. The 11-cell is universal.
Note that although the 11-cell has 2-fold covers (extensions by Z2), they are of type {3,5,6}, {6,5,3} or {3,10,3}. The scripts only search for extensions with the same facets and vertex figures as the original polytopes. That is, after all, what the article concentrates on.
|