Miracle Octad Generator

In mathematics, the Miracle Octad Generator, or MOG, is a mathematical tool introduced by Rob T. Curtis for studying the Mathieu groups, binary Golay code and Leech lattice.

Description
The Miracle Octad Generator is a 4x6 array of combinations describing any point in 24-dimensional space. It preserves all of the symmetries and maximal subgroups of the Mathieu group M24, namely the monad group, duad group, triad group, octad group, octern group, sextet group, trio group and duum group. It can therefore be used to study all of these symmetries.

Golay code
Another use for the Miracle Octad Generator is to quickly verify codewords of the binary Golay code. Each element of the Miracle Octad Generator can store either a '1' or a '0', usually displayed as an asterisk and blank space, respectively. Each column and the top row have a property known as the count, which is the number of asterisks in that particular line. One of the criteria for a set of 24 coordinates to be a codeword in the binary Golay code is for all seven counts to be of the same parity. The other restriction is that the scores of each column form a word in the hexacode. The score of a column can be either 0, 1, ω, or ω-bar, depending on its contents. The score of a column is evaluated by the following rules:


 * If a column contains exactly one asterisk, it has a score of 0 if it resides in the top row, 1 if it is in the second row, ω for the third row, and ω-bar for the bottom row.
 * Simultaneously complementing every bit in a column does not affect its score.
 * Complementing the bit in the top row does not affect its score, either.

A codeword can be derived from just its top row and score, which proves that there are exactly 4096 codewords in the binary Golay code.

MiniMOG
John Horton Conway developed a 4 × 3 array known as the MiniMOG. The MiniMOG provides the same function for the Mathieu group M12 and ternary Golay code as the Miracle Octad Generator does for M24 and binary Golay code, respectively. Instead of using a quaternary hexacode, the MiniMOG uses a ternary tetracode.