LogTo("pg_gap1.log"); #################################################################### # # # This is the GAP example from Chapter 1 of "Permutation Groups", # # by Peter J. Cameron, Cambridge University Press 1999. # # # # The purpose is to construct the unique example of a 2-transitive # # almost simple finite permutation group whose minimal normal # # subgroup is not 2-transitive. The group is PSigmaL(2,8), # # acting on the cosets of the Sylow 3-normaliser. # # # # GAP will run with this file as input, but only the last command # # produces any output. To see the whole thing, copy the # # non-comment lines to the GAP prompt. # # # # If you are running GAP under LINUX, you can issue the command # # gap < pg_gap1.txt # # (where pg_gap1.txt is the name of this file) # # and you will produce a log file pg_gap1.log which will contain # # all of this file with the output in the appropriate place! # # I don't know how to do this with other operating systems. # # The options # # gap pg_gap1.txt # # or # # Read("pg_gap1.txt"); # while GAP is running # # will NOT work. # # # #################################################################### # # We construct PSigmaL(2,8) as follows. # Take GF(8) to be generated by an element a satisfying a^3=a+1. # Identify a^i with the element i+1 for i=0, ..., 6; # the zero of GF(8) with 8; and infinity with 9. # The three permutations below are # g1: x -> x+1, # g2: x -> ax, and # g3: x -> 1/x. # They generate PSL(2,8). # S:=SymmetricGroup(9); g1:=(1,8)(2,4)(3,7)(5,6); g2:=(1,2,3,4,5,6,7); g3:=(2,7)(3,6)(4,5)(8,9); N:=Subgroup(S,[g1,g2,g3]); # Check that it has order 504 Size(N); # and that it is 3-transitive # (the command "Transitivity" was not used in the book) Transitivity(N); # Now G = PSigmaL(2,8) is the normaliser of N in S=S_9 G:=Normalizer(S,N); # it is three times as large as N Size(G); # Now we construct the action on the cosets of the Sylow # 3-normaliser P:=SylowSubgroup(G,3); Q:=Normalizer(G,P); # Note: "Operation" changed to "Action" in GAP4 GG:=Action(G,RightCosets(G,Q),OnRight); # This should be our 2-transitive group of degree 28 Orbits(GG,[1..28]); Transitivity(GG); # and as a check GGa:=Stabilizer(GG,1); Orbits(GGa,[1..28]); # The minimal normal subgroup is the derived group NN:=DerivedSubgroup(GG); Orbits(NN,[1..28]); Transitivity(NN); # and to find the rank RankAction(NN,[1..28]); # or in detail: NNa:=Stabilizer(NN,1); Orbits(NNa,[1..28]); # It is not 2-transitive, but it is primitive IsPrimitive(NN,[1..28]); # Finally check its composition series DisplayCompositionSeries(GG);