> < ^ Date: Wed, 31 Jan 1996 11:11:00 +0100 (MET)
> < ^ From: Heiko Theissen <heiko.theissen@math.rwth-aachen.de >
> ^ Subject: Re: AbStab.g

Dear GAP forum,
Dear David Joyner,

you have asked questions concerning the construction of Cayley graphs
with GRAPE and concerning the `AbStab.g' package in the GAP forum.
Leonard Soicher has already answered the GRAPE part in the GAP forum
and with this message I want to inform you about the `AbStab.g' issue.

The `AbStab.g' file was put in the `pub/incoming' directory on our ftp
server by Philip Osterlund. We encourage authors of such files to
make their GAP-related work available by putting it on our server,
however we do not provide any service for such files. That is, we do
not check the programs or data in this directory and hence in general
we cannot offer help if users have difficulties with them. All we can
do in such cases is inform the author and ask him/her to answer the
request concerning his/her file.

I have in the meantime sent a message to Philip Osterlund and asked
him if he could provide you with some information about the
mathematics behind his algorithm. His answer should go directly to
the GAP forum.

I have used the `AbStab.g' library quite a bit for Rubik's Cube. I
never encountered a problem at all. Could it be that the problems you
have with ``solutions'' not working in Maple arise because the model
you use in Maple is slightly different from the one used in GAP (e.g.,
different order of generators)? Note that the ``solutions'' found by
`AbStab.g' are still not optimal. In the case of Rubik's Cube, they
are usually about an order of magnitude too long.

By the way: While trying to play with `AbStab.g' I have noticed that
the function `MakeAbStabChain' runs into an error in GAP V3R4P3, but
succeeds in GAP V3R4P2. The reason is that third update included a
modification of the function `List'. In GAP V3R4P2 the first argument
could have holes (even though the manual forbids this), so e.g.

List( [, 1 ], x -> x ^ 2 )  returned  [ 1 ]

while in GAP V3R4P3 this now results in an error. I suppose that your
experiments with `AbStab.g' were done in GAP V3R4P2 (or earlier). Is
this right?

The following change fixes `AbStab.g' enough so that one can use
`MakeAbStabChain' and `Shrink' in GAP V3R4P3 (but there maybe other
places in `AbStab.g' that need to be adapted likewise).

--- AbStab.g.orig   Fri Oct 28 21:34:03 1994
+++ AbStab.g    Wed Jan 31 10:41:19 1996
@@ -210,8 +210,10 @@
     lt:=LeftSchreier(arg);
     alt:= lt.ASchreier;
     lt := lt.Schreier;
-    rt:=List(lt,x->x^-1);
-    art:=List(alt,x->x^-1);
+    # rt:=List(lt,x->x^-1);
+    # art:=List(alt,x->x^-1);
+    rt:=[]; for x in lt do Add( rt, x^-1 ); od;
+    art:=[]; for x in alt do Add( art, x^-1 ); od;
     for g in G.generators do
        i:=Position(G.generators, g);
        ag := G.abstractGenerators[i];

Sorry I cannot be of more help at the moment.

Heiko Thei{\ss}en and Martin Sch\"onert


> < [top]