Chapter 4:Software and Calculations

The package "Groups.m" also allows you to make calculations with linear groups over a field (Subscript[F, p]). After loading the package, you must first choose a prime with the function ChoosePrime . For example

ChoosePrime[11]

All your calculations will then be modulo this prime. You can change the prime at any time, but if you do not make a choice none of the functions will evaluate. Matrices are usually represented in  Mathematica as lists of lists. In this package, however, such a representation is wrapped with L[] in order to give a mechanism to reduce modulo the chosen prime at each step in the calculations. (As well it avoids confusion with permutations in cycle notation which are also represented in Mathematica  as lists of lists). For example, the general  2x2  matrix

(({{a, b}, {c, d}}))

which is usually represented in Mathematica as

{{a, b}, {c, d}}

is represented in this package as

L[{a, b}, {c, d}]

The same functions you used with permutation groups are defined for linear groups. For example if

a  =   L[{1, 2}, {3, 4}]

b   =   L[{6, 3}, {7, 5}]

then

Inverse[a]

a  .  b

Now suppose

ChoosePrime[7]

and

G  =  { L[{1, 1}, {1, 2}], L[{2, 3}, {4, 1}],  L[{2, 6}, {6, 1}], 
        L[{1, 0}, {0, 1}],  L[{2, 1}, {6, 4}] }

then

Inverse[G]

So G is closed under taking inverses. Let's check whether it is closed under products:

G . G

You see immediately that the product of  L[{1,1},{1,2}]  with itself is not in G. So G is not a linear group.

	We can verify that  GL(2,  (Subscript[𝔽, 5]))  is generated by the three matrices above. First we change the chosen prime to 5.

ChoosePrime[5]

Let

H  =  
      Group[ L[{2, 0}, {0, 1}],  L[{0, 1}, {1, 0}],  
        L[{1, 1}, {0, 1}] ]

Now we check:

Order[H]

This is indeed  (4^2)· 5 ·6 . Can you find three matrices which generate
GL(2, (Subscript[F, 7])) ?  GL(2, (Subscript[F, 11])) ?