Bol Loops of Small Order

I have been working on classifying Bol loops of small order, using a backtrack program described below. This program easily finds that there are 11 Bol loops of order 8, 3 of order 15, etc. (including groups), in agreement with known results. The classification of 11 Bol loops of order 8, for example, is completed in 3.2 seconds on my laptop computer (with a Pentium III at 700 MHz).

Currently I have completed the classification of Bol loops of orders 16, 21 and 27. I intend to provide links here to classifications of Bol loops of other small orders as they are completed. I have also provided a cross-reference list comparing the names of Bol loops, as they appear in other sources, with the names in my list.

I would appreciate an email message () from you if you have any comments regarding this list.

Bol Loops of Order Less Than 32

In the following table we omit loops of order p, 2p or p2 (for p prime), which by the results of Burn, must be groups. For a list including all groups of order less than 32 see our cross-reference list.

nBol Loops of order n Non-Associative Bol Loops of order n Groups of order n Non-Associative Moufang Loops of order n
  8   11 6 5 0
12 8 3 5 1
15 3 2 1 0
16 2052 2038 14 5
18 6 1 5 0
20 8 3 5 1
21 4 2 2 0
24 ≥103 ≥88 15 5
27 13 8 5 0
28 7 3 4 1
30 ≥6 ≥2 4 0



Here is a quick review of the relevant definitions; for further explanation, proofs, etc., please consult references such as those listed above.

A loop is a set L with binary operation (denoted here simply by juxtaposition) such that

The order of L is its cardinality |L|. A loop L is a (right) Bol loop if (xy.z)y=x(yz.y) for all x,y,z in L. Bol loops are power associative, i.e. for all a in L and every integer k, the power ak is well-defined (independent of order in which the multiplications are performed). The order of an element a is the smallest positive integer k for which ak=1. The order of any element of a finite Bol loop must divide the order of the loop. The exponent of a finite Bol loop L is the smallest positive integer k such that ak=1 for all a in L; note that the exponent equals the least common multiple of |a| for a in L, which divides |L|. Let I(L) denote the set of involutions (elements of order 2) in the Bol loop L.

A loop is Left Bol if it satisfies the left Bol identity (x.yx)z=x(y.xz) for all x,y,z in L. A loop is Moufang if it is both left Bol and (right) Bol.

The centrum of L is the set C(L) of all elements of L which commute with every element of L. The centre of L is the set Z(L) of all elements of L which both commute and associate with every element of L.

The left (resp. right; full) multiplication group of L is the group of permutations of L generated by all left (resp. right; both left and right) multiplication maps.

The inner mappings are the elements of the subgroup Inn(L) of the multiplication group of L, generated by the permutations Ta=RaLa−1, Ra,b=RaRbRab−1, La,b=LaLbLba−1 (with left-to-right composition of permutations), all of which fix 1. A conjugacy class of L is an orbit of Inn(L). A loop has property Al (resp. Ar) if every left inner mapping La,b (resp. right inner mapping Ra,b)is an automorphism of the loop.

A loop L has the automorphic inverse property if x−1y−1=(xy)−1 for all x,y in L. Thanks to Matteo Allegro for pointing out (April, 2012) an error in the automated checks for the automorphic inverse property in this catalogue of Bol loops; I hope to have this correced sometime soon.

For any elements x,y,z of a loop L, we define the commutator (x,y) by xy=yx.(x,y); and the associator (x,y,z) by xy.z=(x.yz)(x,y,z). The commutator (resp. associator) subloop of L is the subloop generated by all commutators (resp. associators) in L.

Methodology Used

Here we outline the algorithm used in our exhaustive search for representatives of all isomorphism classes of Bol loops of order n.

Define a partial Bol loop of order n and size k to be a set S consisting of k permutations of {0,1,2,...,n−1} such that

Note that a Bol loop L of order n is equivalent to a partial Bol loop S of order n and size k=n, in which S consists of the columns of the multiplication table of L. Our basic tool is a program which accepts as input (i) a partial Bol loop of order n and size k<n, and (ii) a set D consisting of distinguished divisors of n. This program looks for all ways to This is accomplished using a backtrack search, and each Bol loop produced is tested for isomorphism with previously stored loops; if it is in fact new, then it is stored, and otherwise it is not stored. In order to produce canonical representatives of isomorphism classes of Bol loops for the purpose of performing this isomorphism test, we first encode the algebraic content of each Bol loop as a graph, then using Brendan McKay's software package nauty to find a "canonical" representative for each of the resulting graphs. Moreover we reduce the size of the search tree significantly by rejecting isomorphic copies not only of the completed Bol loops, but also of partial Bol loops, or even of multiplication tables with incomplete columns. However, due to the expense (in terms of execution time) of producing these canonical isomorphs, we perform this isomorphism rejection only at nodes of the search tree close to the root.

We have also made use of the general theory to reduce the search space. For example, to search for all Bol loops of order 15, we may start with the partial Bol loop of order 5 generated by (0,1,2,3,4)(5,6,7,8,9)(10,11,12,13,14), and set D={3,5} for the possible orders of elements to be adjoined. This is because any Bol loop of order 15 must have an element of order 5 (by Theorem 15 of Glauberman's paper cited above).


I am grateful to the Department of Mathematics and Statistics, Memorial University of Newfoundland for their hospitality while this study is being undertaken, and in particular to Edgar Goodaire for conversations which have stimulated me in this direction.

/ revised March, 2007