GAP Lesson 3
Change to the directory where you store your GAP files, and then start up GAP. In the session which follows, pause for discussion at the spaces between command groupings.
There is also KnownPropertiesOfObject.
Some manipulation with permutation groups.
You learn: Orbits, Action, Tuples, UnorderedTuples, Arrangements, Combinations. In an earlier version of GAP4 and also in GAP3 the command Action was Operation. It may be that in the implementation you use you need to type Operation.
How would it be different if you had done instead
What do you think would happen if you were to do
Exercise: Find out what GAP command returns a list of all partitions of [1,2,3].
Other possibilities in Action instead of OnTuples: OnPairs, OnTuples, OnSets, OnRight, OnLeft. Investigate by doing ?Actions.
We use these commands to show computationally that SL(2,4) is isomorphic to the alternating group A_5. We first call up SL(2,4) from a library of matrix groups. We will learn about matrix groups in just a moment.
Exercise: Show that the group
is isomorphic to the symmetric group S_4.
Matrices, Finite Fields and Matrix Groups
We learn: vectors are lists, matrices are lists of lists, they can be manipulated the same way as integers, the functions BaseMat, TransposedMat, NullspaceMat, RankMat, TriangulizeMat, PrintArray, the library of matrix groups; how finite field elements are represented and manipulated; computations with matrix groups are mostly done by finding a permutation representation first.
We now set about trying to get GAP to print out what these matrices really are.
The same commands we have used for permutation groups also work for matrix groups!
We now learn about finite fields.
Using the function Int we now write a function which prints out (some) matrices nicely.
function( mat ) ... end
The following lines illustrate some standard matrix operations. These lines can be omitted.
Algorithms for permutation groups generally work much faster than algorithms for matrix groups. Because of this, one of the first things frequently done with a matrix group is to convert it to a permutation group. We now seem some ways to do this.
gap> gcopy:=Action(g, last);
The latter may be created by doing the next two lines:
Group([ (5,7)(6,8), (2,3,5)(4,7,6) ])