In mathematics, a Steiner system is a type of block design.

A Steiner S(l,m,n) system is an n-element set S together with a set of m-element subsets of S (which we will call the special m-element subsets) with the property that each l-element subset of S is contained in exactly one of the special m-element subsets.

A Steiner S(2,3,n) system is often called a Steiner triple system, and its special 3-element subsets are called triples. If S is a Steiner triple system, we can define a multiplication on it by setting aa = a for all a in S, and ab = c if {a,b,c} is a triple. This makes S into an idempotent commutative quasigroup.

It can be shown that if there is a Steiner S(2,m,n) system, where m is a prime power greater than 1, then n = 1 or m (mod m(m-1)). In particular, a Steiner triple system S(2,3,n) must have n = 6k+1 or 6k+3. It is known that this is the only restriction on Steiner triple systems, that is, for each natural number k, S(2,3,6k+1) and S(2,3,6k+3) systems exist.

A finite projective plane of order q can be considered as a Steiner S(2, q+1, q2+q+1) system, since it has q2+q+1 points, each line passes through q+1 points, and each pair of distinct points lies on exactly one line.

S(5,8,24)

One of the most remarkable objects in mathematics is the Steiner S(5,8,24) system. This is connected with many of the sporadic simple groups and with the exceptional 24-dimensional lattice known as the Leech lattice. There are many ways to construct the S(5,8,24) system. The method given here is perhaps the simplest to describe, and is easy to convert into a computer program. It uses sequences of 24 bits. The idea is to write these down in lexicographic order, missing out any one which differs from some earlier one in less than 8 positions. The result looks like this:

   000000000000000000000000
   000000000000000011111111
   000000000000111100001111
   000000000000111111110000
   000000000011001100110011
   000000000011001111001100
   000000000011110000111100
   000000000011110011000011
   000000000101010101010101
   000000000101010110101010
   .
   . (next 4083 omitted)
   .
   111111111111000011110000
   111111111111111100000000
   111111111111111111111111

The list contains 4096 items, called Golay code words. They form a group under the XOR operation. 1 of them has zero 1-bits, 759 of them have eight 1-bits, 2576 of them have twelve 1-bits, 759 of them have sixteen 1-bits, and 1 has twenty-four 1-bits. The 759 special 8-element sets (called octads) of the S(5,8,24) system are given by the patterns of 1's in the code words with eight 1-bits.