**GAP Lesson 6
**

*Change to the directory where you store your GAP files, and then start up GAP.
*

gap> At:=KnownAttributesOfObject;

gap> s4;

gap> gl32;

gap> m11;

gap> k:=Group((1,2,3),(1,2));

gap> kinfo:=rec();

gap> kinfo.size:=6;

gap> kinfo;

gap> kinfo.name:="s3";

gap> kinfo;

gap> RecNames(kinfo);

gap> kinfo.size:=7;

gap> kinfo;

gap> sc:=StabChain(s4);

gap> BaseOfGroup(s4);

gap> sc.orbit;

gap> sc.stabilizer;

gap> sc.stabilizer.orbit;

gap> sc.stabilizer.generators;

gap> Print(sc);

gap> ksc:=StabChain(k);

gap> ksc.orbit:="garbage";

gap> At(k);

gap> scm:=StabChainMutable(k);

gap> RecNames(scm);

gap> scm.orbit:="garbage";

gap> scm.orbit;

gap> StabChainMutable(k).orbit;

Exercises: a) Find the orbit lengths of the stabilizers of m11. Verify that their product is the size of m11.

b) What is the largest possible size that a permutation group can be which acts on 11 symbols and has a base of size 4? Is it (i) < |m11|, (ii) = |m11|, or (iii) > |m11|.

c) What is the smallest possible size that a permutation group can be which acts transitively on 11 symbols and has a base of size 4?

Because GAP seems to want to use

gap> s4sc:=StabChain(s4,[1,2]);

gap> Print(s4sc);

gap> Print(images);

gap> images(s4sc);

Exercise: a) find an element of s4 which sends 1 to 4, expressing it as a word in the generators which appear in the list

Next we recall how a right transversal to the stabilizer of a point is constructed. Examine the following code:

gap> righttransversal(s4sc);

gap> s4sc.transversal;

Observe the difference between

gap> righttransversal(m11sc);

Exercise: Find the element of

Exercise: does the permutation

We now study how GAP produces a list of elements of a group. Compare the two commands:

gap> Elements(s4);

What similarity do you notice in the answers? How did GAP produce the list of elements? Did it use the same transversal that we computed?

We have seen how GAP produces transversals, but not how it produces generators for a stabilizer. Study Schreier's theorem on the handout. Study the following:

gap> abstractrighttransversal(s4sc);

Compare the result of this with the tree we drew earlier.

gap> Print(gentable);

gap> gentable(s4sc);

b) Express the second entry as a word in the generators which appear in s4sc.generators.

c) Work out why the second row of the table is what it is.

We now study Schreier transversals, and why they are a good idea. If a group has d generators and a subgroup of index h then a Schreier transversal produces h(d-1) elements which generate the subgroups. This number of elements is the minimum number which always works, and is needed for subgroups of free groups.