This page provides a tool for exploring the binary Golay code and
its automorphism group *M _{24}* in its standard representation
on 24 objects, using Curtis' Miracle Octad Generator (MOG).
It is inspired by a similar page by Simon Nickerson. The MOG is described in
detail in Chapter 11 of the book

You can click the squares to select/unselect any subset of the 24 positions in the MOG. The label at the top shows the classification label of the current subset, using the notation described below as well as in SPLAG, Ch. 10, section 2.6. The buttons perform the following operations:

- Complete - given 5 squares in the MOG, shows the 3 additional squares that completes the given squares to an octad. This completion is always unique, because the octads of the MOG form a (24,8,5) Steiner system.
- Clear - clears all selected squares.
- Complement - toggles the selected/unselected status of all squares, replacing a subset of the MOG with its complement.
- Sextet - given 4 squares in the MOG (a tetrad), shows the other 5 tetrads (in different colors) that completes the given tetrad to a sextet. A sextet has the property that the union of any 2 tetrads form an octad.
- Dual Rep. - Gives a subset of size at most 4 congruent (modulo a Golay codeword) to the current subset. The resulting subset is uniquely determined except in the case of a subset of size 4, when it may be any of the six tetrads of a sextet.
- Orbit - given any subset
*S*of the MOG, shows the orbits of the set stabilizer of*S*in*M*. Each orbit is given a different color. The label on a square indicates the classification label of the subset that would result if that square were added to or removed from_{24}*S*. An asterisk marks squares in*S*. - Block - in addition to the information provided by Orbit, this also provides the block decomposition of each orbit with a smaller colored square at the center of each square. This button is only active for subsets of size at most 12 for which the action of the stabilizer is imprimitive. For the class
*T*, the orbit of size 12 has two block decompositions (3 blocks of size 4, and 4 blocks of size 3); only the latter is currently shown._{10}

S0

(See below for a summary of the theory)

Let *Ω* denote the set of 24 positions of the MOG. The set *P(Ω)* of subsets of Ω form a 24-dimensional
vector space over *F _{2}*, the field of 2 elements, with the group operation being symmetric difference. The binary
Golay code

Consider the quotient group **G***=*P(Ω)/***G**. Since **G** contains no nonempty subsets of size less than 8, it follows that if *S* and *T* are two subsets of *Ω* of size at most 4, then *S* and *T* lie in distinct cosets of **G***, except possibly in the case when *S* and *T* are disjoint subsets of size 4. Since any two subsets of size 4 in a coset must be disjoint, there can be at most 6 subsets of size 4 in a coset. This accounts for at least
*C(24,0)+C(24,1)+C(24,2)+C(24,3)+C(24,4)/6* cosets, but that number is *4096 = 2 ^{12}*, exactly the number of cosets in

Given any *S* in *P(Ω)*, a minimal coset representative of *S* in **G*** can be computed by the following
algorithm. If *S* has size at most 4, then we are done. Otherwise, choose any 5 elements in *S* and complete it to
an octad *X* (SPLAG, Ch. 11 describes how to do octad completion). Replace *S* with *S+X*, which lies in the
same coset as *S*. Since *X* has at least 5 elements in common with *S*, in passing from *S* to *S+X*,
we lose at least 5 elements and gain at most 3. Therefore we have reduced the size of *S*. Repeat these steps until we
have a set of size at most 4.

*M _{24}* acts on

The orbits of the action of *M _{24}* on

Class | Min coset rep size | Intersection sizes | Class | Min coset rep size | Intersection sizes |
---|---|---|---|---|---|

S_{6} | 2 | 0 | T_{10} | 4 | 3,3,1,1,1,1 |

U_{6} | 4 | 1,1,1,1,1,1 | U_{10} | 2 | 0 |

S_{7} | 1 | 0 | S_{11} | 3 | 3 |

U_{7} | 3 | 1 | T_{11} | 3 | 1 |

S_{8} | 0 | 0 | U_{11} | 1 | 0 |

T_{8} | 2 | 1 | S_{12}^{+} | 4 | 4,4,4 |

U_{8} | 4 | 2,2,2,2 | S_{12} | 4 | 4,2,2,2,2 |

S_{9} | 1 | 1 | T_{12} | 4 | 2,2,2,2,2,2 |

T_{9} | 3 | 2 | U_{12}^{-} | 2 | 1 |

U_{9} | 3 | 0 | U_{12} | 0 | 0 |

S_{10} | 2 | 2 |

If *S* is an element of *P(Ω)*, let *Stab(S)* be the subgroup of *M _{24}* stabilizing

In some cases (including, but not limited to, those cases where a minimal coset representative
has size 4), the action of *Stab(S)* on *Ω* is imprimitive on some orbits, and the block decomposition
of these orbits can be shown by clicking the "Block" button. (Note that for *T _{10}*, there are 2 block
decompositions for the orbit of size 12; only one of them is shown.)

A summary of the imprimitive orbits is given in
the table below. An equation such as 20=5*4 means an orbit of size 20 which splits into 5 blocks of size 4. If an
equation appears multiple times, that means there are multiple orbits which decompose into blocks in the indicated
way. When not obvious, a class name appears (e.g. *U _{8}* instead of just 8) to indicate the class
to which an orbit or block belongs.

Class | Imprimitive orbits |
---|---|

S_{4} | 20=5*4 |

U_{6} | 18=6*3 |

U_{8} | U=4*2, _{8}U=4*2, _{8}S=2*4_{8} |

S_{10} | 14=7*2 |

T_{10} | S=2*3, _{6}S=4*3=3*4 (two block decompositions)_{12}^{+} |

U_{10} | U=2*_{12}S_{6} |

S_{11} | S=2*4, _{8}S=3*4_{12}^{+} |

S_{12}^{+} | S=3*4, _{12}^{+}S=3*4_{12}^{+} |

S_{12} | S=4*2, _{8}S=4*2_{8} |

T_{12} | T=6*2, _{12}T=6*2_{12} |