> < ^ Date: Fri, 02 Feb 1996 12:46:00 +0100 (MET)
> < ^ From: Martin Schoenert <martin.schoenert@math.rwth-aachen.de >
> < ^ Subject: Re: Re: AbStab.g
W. David Joyner wrote in his e-mail message of 1996/01/31

I'll explain why I think abstab.g has an error. I used GAP and abstab.g
for the group of the masterball, which has size ~4.3x10^26. I usually
can eventually get the masterball into one of two ``nearly solved''
positions: one requiring a 2-cycle and the other requiring a 3-cycle.
Shrink in abstab.g gives a ~90 move long solution to the 3-cycle position
which works. I checked this on my maple implementation and by hand.
Shrink gives a slightly longer solution for the 2-cycle. It does
not work by my maple computer implementation nor by hand. Moreover,
the ``word'' returned by Shrink is *not* equal to the ``word'' returned
by FactorPermGroupElement. This makes me suspicious.

Well there are many words representing a particular element of your
group. 'FactorPermGroupElement' simply finds one such word. 'Shrink'
takes such a word, and then tries to find a shorter word representing the
same element. Thus there is no reason that 'FactorPermGroupElement' and
'Shrink' should return the same word. In fact one would usually hope
that 'Shrink' returns a different word.

He continued with a log of his GAP run

gap> LogTo("/home/math6/wdj/gap/games/bug.log");
gap> Read("/home/math6/wdj/gap/games/grpdata.g");
gap> Read("/home/math6/wdj/gap/new/AbStab.g");
The record 'descriptions' contains brief descriptions of the functions
in this file.
Functions of importance: MakeAbStabChain, FactorPermGroupElement, Shrink
gap> gen:=Set([f1,f2,f3,f4,r1,r2,r3,r4]);
[ (25,26,27,28,29,30,31,32), (17,18,19,20,21,22,23,24),
  ( 9,10,11,12,13,14,15,16),
  ( 4,31)( 5,30)( 6,29)( 7,28)(12,23)(13,22)(14,21)(15,20),
  ( 3,30)( 4,29)( 5,28)( 6,27)(11,22)(12,21)(13,20)(14,19),
  ( 2,29)( 3,28)( 4,27)( 5,26)(10,21)(11,22)(12,23)(13,24),
  (1,2,3,4,5,6,7,8),
  ( 1,28)( 2,27)( 3,26)( 4,25)( 9,20)(10,19)(11,18)(12,17) ]
gap> G:=MinGenSet(gen);
Group( (25,26,27,28,29,30,31,32), (17,18,19,20,21,22,23,24),
( 9,10,11,12,13,14,15,16),
( 4,31)( 5,30)( 6,29)( 7,28)(12,23)(13,22)(14,21)(15,20),
( 3,30)( 4,29)( 5,28)( 6,27)(11,22)(12,21)(13,20)(14,19),
( 2,29)( 3,28)( 4,27)( 5,26)(10,21)(11,22)(12,23)(13,24),
(1,2,3,4,5,6,7,8) )
gap> 2_cycle:=(1,2);
(1,2)
gap> cycle2a:=FactorPermGroupElement(G,2_cycle);
<<word of length 409>>
gap> cycle2b:=Shrink(G,cycle2a);
<<word of length 107>>
gap> cycle2a=cycle2b;
false

As explained above this is ok. It only shows that 'Shrink' was able to
find a shorter word.

gap> cycle2c:=Shrink(G,2_cycle);
<<word of length 107>>
gap> cycle2b=cycle2c;
true

Since 'Shrink' is deterministic this is also expected.

Both words are in fact correct, as can be seen by substituting the
generators back into the words

gap> map( G, cycle2a );
( 1, 2)
gap> map( G, cycle2b );
( 1, 2)

Maybe you are confused by the reording of the generators? Since you said
'gen:=Set([f1,f2,f3,f4,r1,r2,r3,r4]);', GAP reorders the generators, so
'g1' corresponds to 'r4', 'g2' corresponds to 'r3', 'g3' corresponds to 'r2',
'g4' corresponds to 'f4', 'g5' corresponds to 'f3', 'g6' corresponds to 'f2',
and 'g7' corresponds to 'r1'. I must confess that I don't understand
why you apply 'Set' to the generators list, why not simply take it as it is?

By the way. The banner in the log says you are still running GAP 3.2.
The latest release is GAP 3.4.3.

Martin.

-- .- .-. - .. -.  .-.. --- ...- . ...  .- -. -. .. -.- .-
Martin Sch"onert,   Martin.Schoenert@Math.RWTH-Aachen.DE,   +49 241 804551
Lehrstuhl D f"ur Mathematik, Templergraben 64, RWTH, 52056 Aachen, Germany

> < [top]