  
  [1X9 [33X[0;0YLibraries of Loops[133X[101X
  
  [33X[0;0YLibraries  of  small  loops  form  an  integral part of [5XLOOPS[105X. The loops are
  stored in libraries up to isomorphism and, sometimes, up to isotopism.[133X
  
  
  [1X9.1 [33X[0;0YA Typical Library[133X[101X
  
  [33X[0;0YA  library  named  [13Xmy  Library[113X is stored in file [11Xdata/mylibrary.tbl[111X, and the
  corresponding  data  structure  is named [10XLOOPS_my_library_data[110X. For example,
  when  the  library is called [13Xleft Bol[113X, the corresponding data file is called
  [11Xdata/leftbol.tbl[111X   and   the   corresponding   data   structure   is   named
  [10XLOOPS_left_bol_data[110X.[133X
  
  [33X[0;0YIn most cases, the array [10XLOOPS_my_library_data[110X consists of three lists:[133X
  
  [30X    [33X[0;6Y[10XLOOPS_my_library_data[1][110X  is  a  list  of orders for which there is at
        least one loop in the library,[133X
  
  [30X    [33X[0;6Y[10XLOOPS_my_library_data[2][k][110X   is   the   number   of  loops  of  order
        [10XLOOPS_my_library_data[1][k][110X in the library,[133X
  
  [30X    [33X[0;6Y[10XLOOPS_my_library_data[3][k][s][110X  contains data necessary to produce the
        [10Xs[110Xth loop of order [10XLOOPS_my_library_data[1][k][110X in the library.[133X
  
  [33X[0;0YThe  format  of  [10XLOOPS_my_library_data[3][110X  depends heavily on the particular
  library  and is not standardized in any way. The data is often coded to save
  space.[133X
  
  [1X9.1-1 LibraryLoop[101X
  
  [33X[1;0Y[29X[2XLibraryLoop[102X( [3Xlibname[103X, [3Xn[103X, [3Xm[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YThe [3Xm[103Xth loop of order [3Xn[103X from the library named [3Xlibname[103X.[133X
  
  [1X9.1-2 MyLibraryLoop[101X
  
  [33X[1;0Y[29X[2XMyLibraryLoop[102X( [3Xn[103X, [3Xm[103X ) [32X function[133X
  
  [33X[0;0YThis  is a template function that retrieves the [3Xm[103Xth loop of order [3Xn[103X from the
  library named [13Xmy library[113X.[133X
  
  [33X[0;0YFor   example,   the   [3Xm[103Xth  left  Bol  loop  of  order  [3Xn[103X  is  obtained  via
  [10XLeftBolLoop([3Xn[103X[10X,[3Xm[103X[10X)[110X or via [10XLibraryLoop("left Bol",[3Xn[103X[10X,[3Xm[103X[10X)[110X.[133X
  
  [1X9.1-3 DisplayLibraryInfo[101X
  
  [33X[1;0Y[29X[2XDisplayLibraryInfo[102X( [3Xlibname[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YBrief  information  about the loops contained in the library named
            [3Xlibname[103X.[133X
  
  [33X[0;0YWe are now going to describe the individual libraries.[133X
  
  
  [1X9.2 [33X[0;0YLeft Bol Loops and Right Bol Loops[133X[101X
  
  [33X[0;0YThe  library  named  [13Xleft  Bol[113X contains all nonassociative left Bol loops of
  order  less  than 17, including Moufang loops, as well as all left Bol loops
  of  order [22Xpq[122X for primes [22Xp>q>2[122X. There are 6 such loops of order 8, 1 of order
  12, 2 of order 15, 2038 of order 16, and [22X(p+q-4)/2[122X of order [22Xpq[122X.[133X
  
  [33X[0;0YThe  classification  of left Bol loops of order 16 was first accomplished by
  Moorhouse  [Moo]. Our library was generated independently and it agrees with
  Moorhouse's  results.  The  left  Bol  loops  of order [22Xpq[122X were classified in
  [KNV15].[133X
  
  [1X9.2-1 LeftBolLoop[101X
  
  [33X[1;0Y[29X[2XLeftBolLoop[102X( [3Xn[103X, [3Xm[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YThe [3Xm[103Xth left Bol loop of order [3Xn[103X in the library.[133X
  
  [1X9.2-2 RightBolLoop[101X
  
  [33X[1;0Y[29X[2XRightBolLoop[102X( [3Xn[103X, [3Xm[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YThe [3Xm[103Xth right Bol loop of order [3Xn[103X in the library.[133X
  
  [33X[0;0Y[12XRemark:[112X  Only  left Bol loops are stored in the library. Right Bol loops are
  retrieved by calling [10XOpposite[110X on left Bol loops.[133X
  
  
  [1X9.3 [33X[0;0YLeft Bruck Loops and Right Bruck Loops[133X[101X
  
  [33X[0;0YThe  emmerging  library  named  [13Xleft  Bruck[113X contains all left Bruck loops of
  orders [22X3[122X, [22X9[122X, [22X27[122X and [22X81[122X (there are [22X1[122X, [22X2[122X, [22X7[122X and [22X72[122X such loops, respectively).[133X
  
  [33X[0;0YFor  an  odd  prime [22Xp[122X, left Bruck loops of order [22Xp^k[122X are centrally nilpotent
  and  hence central extensions of the cyclic group of order [22Xp[122X by a left Bruck
  loop  of  order  [22Xp^k-1[122X. It is known that left Bruck loops of order [22Xp[122X and [22Xp^2[122X
  are  abelian  groups;  we  have  included them in the library because of the
  iterative nature of the construction of nilpotent loops.[133X
  
  [1X9.3-1 LeftBruckLoop[101X
  
  [33X[1;0Y[29X[2XLeftBruckLoop[102X( [3Xn[103X, [3Xm[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YThe [3Xm[103Xth left Bruck loop of order [3Xn[103X in the library.[133X
  
  [1X9.3-2 RightBruckLoop[101X
  
  [33X[1;0Y[29X[2XRightBruckLoop[102X( [3Xn[103X, [3Xm[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YThe [3Xm[103Xth right Bruck loop of order [3Xn[103X in the library.[133X
  
  
  [1X9.4 [33X[0;0YMoufang Loops[133X[101X
  
  [33X[0;0YThe library named [13XMoufang[113X contains all nonassociative Moufang loops of order
  [22Xnle 64[122X and [22Xn∈{81,243}[122X.[133X
  
  [1X9.4-1 MoufangLoop[101X
  
  [33X[1;0Y[29X[2XMoufangLoop[102X( [3Xn[103X, [3Xm[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YThe [3Xm[103Xth Moufang loop of order [3Xn[103X in the library.[133X
  
  [33X[0;0YFor  [22Xnle  63[122X,  our  catalog  numbers  coincide with those of Goodaire et al.
  [GMR99].  The classification of Moufang loops of order 64 and 81 was carried
  out  in [NV07]. The classification of Moufang loops of order 243 was carried
  out by Slattery and Zenisek [SZ12].[133X
  
  [33X[0;0YThe extent of the library is summarized below:[133X
  
  
  [24X[33X[0;6Y\begin{array}{r|rrrrrrrrrrrrrrrrrr}
  order&12&16&20&24&28&32&36&40&42&44&48&52&54&56&60&64&81&243\cr  loops&1  &5
  &1 &5 &1 &71&4 &5 &1 &1 &51&1 &2 &4 &5 &4262& 5 &72 \end{array}[133X
  
  [124X
  
  [33X[0;0YThe  [13Xoctonion  loop[113X  of order 16 (i.e., the multiplication loop of the basis
  elements  in  the  8-dimensional  standard  real  octonion  algebra)  can be
  obtained as [10XMoufangLoop(16,3)[110X.[133X
  
  
  [1X9.5 [33X[0;0YCode Loops[133X[101X
  
  [33X[0;0YThe  library named [13Xcode[113X contains all nonassociative code loops of order less
  than 65. There are 5 such loops of order 16, 16 of order 32, and 80 of order
  64,  all  Moufang.  The  library  merely points to the corresponding Moufang
  loops. See [NV07] for a classification of small code loops.[133X
  
  [1X9.5-1 CodeLoop[101X
  
  [33X[1;0Y[29X[2XCodeLoop[102X( [3Xn[103X, [3Xm[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YThe [3Xm[103Xth code loop of order [3Xn[103X in the library.[133X
  
  
  [1X9.6 [33X[0;0YSteiner Loops[133X[101X
  
  [33X[0;0YHere is how the libary named [13XSteiner[113X is described within [5XLOOPS[105X:[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XDisplayLibraryInfo( "Steiner" );[127X[104X
    [4X[28XThe library contains all nonassociative Steiner loops of order less or equal to 16.[128X[104X
    [4X[28XIt also contains the associative Steiner loops of order 4 and 8.[128X[104X
    [4X[28X------[128X[104X
    [4X[28XExtent of the library:[128X[104X
    [4X[28X   1 loop of order 4[128X[104X
    [4X[28X   1 loop of order 8[128X[104X
    [4X[28X   1 loop of order 10[128X[104X
    [4X[28X   2 loops of order 14[128X[104X
    [4X[28X   80 loops of order 16[128X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YOur  labeling  of  Steiner  loops of order 16 coincides with the labeling of
  Steiner triple systems of order 15 in [CR99].[133X
  
  [1X9.6-1 SteinerLoop[101X
  
  [33X[1;0Y[29X[2XSteinerLoop[102X( [3Xn[103X, [3Xm[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YThe [3Xm[103Xth Steiner loop of order [3Xn[103X in the library.[133X
  
  
  [1X9.7 [33X[0;0YConjugacy Closed Loops[133X[101X
  
  [33X[0;0YThe  library  named  [13XRCC[113X  contains  all nonassocitive right conjugacy closed
  loops  of  order  [22Xnle  27[122X  up  to  isomorphism. The data for the library was
  generated  by  Katharina  Artic [Art15] who can also provide additional data
  for all right conjugacy closed loops of order [22Xnle 31[122X.[133X
  
  [33X[0;0YLet [22XQ[122X be a right conjugacy closed loop, [22XG[122X its right multiplication group and
  [22XT[122X  its  right section. Then [22X⟨ T⟩ = G[122X is a transitive group, and [22XT[122X is a union
  of  conjugacy classes of [22XG[122X. Every right conjugacy closed loop of order [22Xn[122X can
  therefore  be  represented  as  a  union  of  certain conjugacy classes of a
  transitive  group  of  degree [22Xn[122X. This is how right conjugacy closed loops of
  order  less than [22X28[122X are represented in [5XLOOPS[105X. The following table summarizes
  the  number  of  right  conjugacy  closed  loops  of  a  given  order  up to
  isomorphism:[133X
  
  
  [24X[33X[0;6Y\begin{array}{r|rrrrrrrrrrrrrrrr} order &6& 8&9&10& 12&14&15& 16& 18& 20&\cr
  loops &3&19&5&16&155&97& 17&6317&1901&8248&\cr \hline order &21& 22& 24& 25&
  26& 27\cr loops &119&10487&471995& 119&151971&152701 \end{array}[133X
  
  [124X
  
  
  [1X9.7-1 [33X[0;0YRCCLoop and RightConjugacyClosedLoop[133X[101X
  
  [33X[1;0Y[29X[2XRCCLoop[102X( [3Xn[103X, [3Xm[103X ) [32X function[133X
  [33X[1;0Y[29X[2XRightConjugacyClosedLoop[102X( [3Xn[103X, [3Xm[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YThe [3Xm[103Xth right conjugacy closed loop of order [3Xn[103X in the library.[133X
  
  
  [1X9.7-2 [33X[0;0YLCCLoop and LeftConjugacyClosedLoop[133X[101X
  
  [33X[1;0Y[29X[2XLCCLoop[102X( [3Xn[103X, [3Xm[103X ) [32X function[133X
  [33X[1;0Y[29X[2XLeftConjugacyClosedLoop[102X( [3Xn[103X, [3Xm[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YThe [3Xm[103Xth left conjugacy closed loop of order [3Xn[103X in the library.[133X
  
  [33X[0;0Y[12XRemark:[112X  Only  the  right  conjugacy closed loops are stored in the library.
  Left  conjugacy  closed loops are obtained from right conjugacy closed loops
  via [10XOpposite[110X.[133X
  
  [33X[0;0YThe  library named [13XCC[113X contains all CC loops of order [22X2le 2^kle 64[122X, [22X3le 3^kle
  81[122X,  [22X5le 5^kle 125[122X, [22X7le 7^kle 343[122X, all nonassociative CC loops of order less
  than  28,  and  all  nonassociative CC loops of order [22Xp^2[122X and [22X2p[122X for any odd
  prime [22Xp[122X.[133X
  
  [33X[0;0YBy  results  of  Kunen  [Kun00], for every odd prime [22Xp[122X there are precisely 3
  nonassociative conjugacy closed loops of order [22Xp^2[122X. Csörgő and Drápal [CD05]
  described these 3 loops by multiplicative formulas on [22XZ_p^2[122X and [22XZ_p × Z_p[122X as
  follows:[133X
  
  [30X    [33X[0;6YCase  [22Xm = 1[122X:Let [22Xk[122X be the smallest positive integer relatively prime to
        [22Xp[122X  and  such  that  [22Xk[122X  is  a  square  modulo  [22Xp[122X  (i.e.,  [22Xk=1[122X).  Define
        multiplication on [22XZ_p^2[122X by [22Xx⋅ y = x + y + kpx^2y[122X.[133X
  
  [30X    [33X[0;6YCase [22Xm = 2[122X: Let [22Xk[122X be the smallest positive integer relatively prime to
        [22Xp[122X  and  such that [22Xk[122X is not a square modulo [22Xp[122X. Define multiplication on
        [22XZ_p^2[122X by [22Xx⋅ y = x + y + kpx^2y[122X.[133X
  
  [30X    [33X[0;6YCase  [22Xm  = 3[122X: Define multiplication on [22XZ_p × Z_p[122X by [22X(x,a)(y,b) = (x+y,
        a+b+x^2y )[122X.[133X
  
  [33X[0;0YMoreover,  Wilson  [WJ75] constructed a nonassociative conjugacy closed loop
  of  order  [22X2p[122X for every odd prime [22Xp[122X, and Kunen [Kun00] showed that there are
  no  other  nonassociative  conjugacy  closed oops of this order. Here is the
  relevant  multiplication  formula  on  [22XZ_2 × Z_p[122X: [22X(0,m)(0,n) = ( 0, m + n )[122X,
  [22X(0,m)(1,n)  = ( 1, -m + n )[122X, [22X(1,m)(0,n) = ( 1, m + n)[122X, [22X(1,m)(1,n) = ( 0, 1 -
  m + n )[122X.[133X
  
  
  [1X9.7-3 [33X[0;0YCCLoop and ConjugacyClosedLoop[133X[101X
  
  [33X[1;0Y[29X[2XCCLoop[102X( [3Xn[103X, [3Xm[103X ) [32X function[133X
  [33X[1;0Y[29X[2XConjugacyClosedLoop[102X( [3Xn[103X, [3Xm[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YThe [3Xm[103Xth conjugacy closed loop of order [3Xn[103X in the library.[133X
  
  
  [1X9.8 [33X[0;0YSmall Loops[133X[101X
  
  [33X[0;0YThe  library named [13Xsmall[113X contains all nonassociative loops of order 5 and 6.
  There are 5 and 107 such loops, respectively.[133X
  
  [1X9.8-1 SmallLoop[101X
  
  [33X[1;0Y[29X[2XSmallLoop[102X( [3Xn[103X, [3Xm[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YThe [3Xm[103Xth loop of order [3Xn[103X in the library.[133X
  
  
  [1X9.9 [33X[0;0YPaige Loops[133X[101X
  
  [33X[0;0Y[13XPaige  loops[113X  are  nonassociative  finite  simple Moufang loops. By [Lie87],
  there is precisely one Paige loop for every finite field.[133X
  
  [33X[0;0YThe  library named [13XPaige[113X contains the smallest nonassociative simple Moufang
  loop.[133X
  
  [1X9.9-1 PaigeLoop[101X
  
  [33X[1;0Y[29X[2XPaigeLoop[102X( [3Xq[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YThe  Paige loop constructed over the finite field of order [3Xq[103X. Only
            the case [10X[3Xq[103X[10X=2[110X is implemented.[133X
  
  
  [1X9.10 [33X[0;0YNilpotent Loops[133X[101X
  
  [33X[0;0YThe  library  named [13Xnilpotent[113X contains all nonassociative nilpotent loops of
  order  less  than 12 up to isomorphism. There are 2 nonassociative nilpotent
  loops of order 6, 134 of order 8, 8 of order 9 and 1043 of order 10.[133X
  
  [33X[0;0YSee  [DV09]  for more on enumeration of nilpotent loops. For instance, there
  are  2623755  nilpotent  loops  of order 12, and 123794003928541545927226368
  nilpotent loops of order 22.[133X
  
  [1X9.10-1 NilpotentLoop[101X
  
  [33X[1;0Y[29X[2XNilpotentLoop[102X( [3Xn[103X, [3Xm[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YThe [3Xm[103Xth nilpotent loop of order [3Xn[103X in the library.[133X
  
  
  [1X9.11 [33X[0;0YAutomorphic Loops[133X[101X
  
  [33X[0;0YThe  library named [13Xautomorphic[113X contains all nonassociative automorphic loops
  of  order less than 16 up to isomorphism (there is 1 such loop of order 6, 7
  of  order 8, 3 of order 10, 2 of order 12, 5 of order 14, and 2 of order 15)
  and all commutative automorphic loops of order 3, 9, 27 and 81 (there are 1,
  2, 7 and 72 such loops).[133X
  
  [33X[0;0YIt  turns  out  that  commutative automorphic loops of order 3, 9, 27 and 81
  (but  not  243) are in one-to-on correspondence with left Bruck loops of the
  respective orders, see [Gre14], [SV17]. Only the left Bruck loops are stored
  in the library.[133X
  
  [1X9.11-1 AutomorphicLoop[101X
  
  [33X[1;0Y[29X[2XAutomorphicLoop[102X( [3Xn[103X, [3Xm[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YThe [3Xm[103Xth automorphic loop of order [3Xn[103X in the library.[133X
  
  
  [1X9.12 [33X[0;0YInteresting Loops[133X[101X
  
  [33X[0;0YThe  library  named [13Xinteresting[113X contains some loops that are illustrative in
  the  theory  of  loops. At this point, the library contains a nonassociative
  loop  of  order 5, a nonassociative nilpotent loop of order 6, a non-Moufang
  left  Bol  loop  of  order  16, the loop of sedenions of order 32 (sedenions
  generalize  octonions),  and the unique nonassociative simple right Bol loop
  of order 96 and exponent 2.[133X
  
  [1X9.12-1 InterestingLoop[101X
  
  [33X[1;0Y[29X[2XInterestingLoop[102X( [3Xn[103X, [3Xm[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YThe [3Xm[103Xth interesting loop of order [3Xn[103X in the library.[133X
  
  
  [1X9.13 [33X[0;0YLibraries of Loops Up To Isotopism[133X[101X
  
  [33X[0;0YFor  the  library  named  [13Xsmall[113X we also provide the corresponding library of
  loops  up  to  isotopism.  In  general,  given  a library named [13Xlibname[113X, the
  corresponding  library  of  loops  up to isotopism is named [13Xitp lib[113X, and the
  loops can be retrieved by the template [10XItpLibLoop(n,m)[110X.[133X
  
  [1X9.13-1 ItpSmallLoop[101X
  
  [33X[1;0Y[29X[2XItpSmallLoop[102X( [3Xn[103X, [3Xm[103X ) [32X function[133X
  [6XReturns:[106X  [33X[0;10YThe [3Xm[103Xth small loop of order [3Xn[103X up to isotopism in the library.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XSmallLoop( 6, 14 );[127X[104X
    [4X[28X<small loop 6/14>[128X[104X
    [4X[25Xgap>[125X [27XItpSmallLoop( 6, 14 );[127X[104X
    [4X[28X<small loop 6/42>[128X[104X
    [4X[25Xgap>[125X [27XLibraryLoop( "itp small", 6, 14 );[127X[104X
    [4X[28X<small loop 6/42>[128X[104X
  [4X[32X[104X
  
  [33X[0;0YNote  that  loops up to isotopism form a subset of the corresponding library
  of  loops  up to isomorphism. For instance, the above example shows that the
  14th small loop of order 6 up to isotopism is in fact the 42nd small loop of
  order 6 up to isomorphism.[133X
  
