How can I run the "black box algorithms" in "computer readable format" found in the Atlas of Finite Group Representations?

140 Views Asked by At

The Atlas of Finite Group Representations has, among other things, generators in matrix form (over fields of positive characteristic, I think) for some groups.

(Example in MeatAxe text format. Example in MeatAxe binary format. I've used MeatAxe to multiply and print out matrices like these.)

Some groups, however, don't have explicit generators. What they sometimes have is a "black box algorithm" (in "computer readable format") to find generators.

Here's an example of such a computer readable program that finds generators of the Monster group. How can I run programs like this one? Is it a MeatAxe, or GAP or Magma program?

# Black box algorithm to find standard generators of the Fischer-Griess
# Monster group M.

  set F 0
  set G 0
  set V 0
lbl SEMISTD
  rand 1
  ord 1 A
  incr V
  if V gt 1000 then timeout
  if A notin 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 &
      20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 &
      35 36 38 39 40 41 42 44 45 46 47 48 50 51 52 &
      54 55 56 57 59 60 62 66 68 69 70 71 78 84 87 &
      88 92 93 94 95 104 105 110 119 then fail
  if F eq 0 then
    if A in 34 38 50 54 62 68 94 104 110 then
      div A 2 B
      pwr B 1 2
      set F 1
    endif
  endif
  if G eq 0 then
    if A in 9 18 27 36 45 54 then
      div A 3 C
      pwr C 1 3
      set G 1
    endif
  endif

  if F eq 0 then jmp SEMISTD
  if G eq 0 then jmp SEMISTD

  set X 0
lbl CONJUGATE
  incr X
  if X gt 1000 then timeout
  rand 4
  cjr 3 4
  mu 2 3 5
  ord 5 D
  if D notin 3 6 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 &
      23 24 25 26 27 28 29 30 31 32 33 34 35 36 &
      38 39 40 41 42 45 46 48 50 51 55 56 60 62 &
      66 68 69 70 71 78 84 88 94 104 105 then fail
  if D noteq 29 then jmp CONJUGATE

  oup 2 2 3
1

There are 1 best solutions below

1
On

The answer, as always, is rtfm! :) If you read this page, the authors state that the algorithms are implemented in a language called BBOX. There's an interpreter for GAP on this page.