[loops] 9 Libraries of small loops

[Up] [Previous] [Next] [Index]

# 9 Libraries of small loops

### Sections

1. A typical library
2. Left Bol loops
3. Moufang loops
4. Code loops
5. Steiner loops
6. CC-loops
7. Small loops
8. Paige loops
9. Nilpotent loops
10. Automorphic loops
11. Interesting loops
12. Libraries of loops up to isotopism

labellib Libraries of small loops form an integral part of LOOPS. Loops in libraries are stored up to isomorphism or up to isotopism. The name of a library up to isotopism starts with itp.

## 9.1 A typical library

A library named my Library is stored in file `data/mylibrary.tbl`, and the corresponding data structure is named `LOOPS_my_library_data`.

In most cases, the array `my_library_data` consists of three lists

- `LOOPS_my_library_data[ 1 ]` is a list of orders for which there is at least one loop in the library,
- `LOOPS_my_library_data[ 2 ][ k ]` is the number of loops of order `LOOPS_my_library_data[ 1 ][ k ]` in the library,
- `LOOPS_my_library_data[ 3 ][ s ]` contains data necessary to produce the sth loop in the library.

The format of `LOOPS_my_library_data[ 3 ]` depends on the particular library and is not standardized in any way.

The user can retrieve the mth loop of order n from library named my Library according to the template

- `MyLibraryLoop(` n`,` m`) F`

  It is also possible to obtain the same loop with

- `LibraryLoop(` name`,` n`,` m`) F`

  where name is the name of the library.

  For example, when the library is called left Bol, the corresponding data file is called `data/leftbol.tbl`, the corresponding data structure is named `LOOPS_left_bol_data`, and the mth left Bol loop of order n is obtained via

  `LeftBolLoop(` n`,` m`)`

  or via

  `LibraryLoop("left Bol",` n`,` m`)`

  We are now going to describe the individual libraries in detail. A brief information about the library named name can also be obtained in LOOPS with

- `DisplayLibraryInfo(` name`) F`

  ## 9.2 Left Bol loops

  The library named left Bol contains all nonassociative left Bol loops of order less than 17, including Moufang loops. There are 6 such loops of order 8, 1 of order 12, 2 of order 15, and 2038 of order 16. (The classification of left Bol loops of order 16 was first accomplished by Moorhouse Mo. Our library was generated independently, and agrees with Moorhouse's results.)

  Following the general pattern, the mth nonassociative left Bol loop of order n is obtained by

- `LeftBolLoop(` n`,` m`) F`

  ## 9.3 Moufang loops

  The library named Moufang contains all nonassociative Moufang loops of order n ≤ 64 and n ∈ {81,243}.

  The mth nonassociative Moufang loop of order n is obtained by

- `MoufangLoop(` n`,` m`) F`

  For n ≤ 63, our catalog numbers coincide with those of Goodaire et al. Go. The classification of Moufang loops of order 64 and 81 was carried out in NaVo2007. The classification of Moufang loops of order 243 was carried out by Slattery and Zenisek SlZe2011.

  The extent of the library is summarized below:

  order
  12
  16
  20
  24
  28
  32
  36
  40
  42
  44
  48
  52
  54
  56
  60
  64
  81
  243
  loops in the libary
  1
  5
  1
  5
  1
  71
  4
  5
  1
  1
  51
  1
  2
  4
  5
  4262
  5
  72

  The octonion loop of order 16 (i.e., the multiplication loop of the ± basis elements in the 8-dimensional standard real octonion algebra) is `MoufangLoop( 16, 3 )`.

  ## 9.4 Code loops

  The library named code 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 NaVo2007 for a classification of small code loops.

  The mth nonassociative code loop of order n is obtained by

- `CodeLoop(` n`,` m`) F`

  ## 9.5 Steiner loops

  Here is how the libary Steiner is described within LOOPS:

      gap> DisplayLibraryInfo( "Steiner" );
      The library contains all nonassociative Steiner loops of order less or equal to 16.
      It also contains the associative Steiner loops of order 4 and 8.
      ------
      Extent of the library:
         1 loop of order 4
         1 loop of order 8
         1 loop of order 10
         2 loops of order 14
         80 loops of order 16
      true

  The mth Steiner loop of order n is obtained by

- `SteinerLoop(` n`,` m`) F`

  Our catalog numbers coincide with those of Colbourn and Rosa CoRo.

  ## 9.6 CC-loops

  By results of Kunen Ku, for every odd prime p there are precisely 3 nonassociative conjugacy closed loops of order p2. Csörgö and Drápal CsDr described these 3 loops by multiplicative formulas on Zp2 and Zp ×Zp.

  Case m = 1: Let k be the smallest positive integer relatively prime to p and such that k is a square modulo p (i.e., k=1). Define multiplication on Zp2 by x·y = x + y + kpx2y.

  Case m = 2: Let k be the smallest positive integer relatively prime to p and such that k is not a square modulo p. Define multiplication on Zp2 by x·y = x + y + kpx2y.

  Case m = 3: Define multiplication on Zp ×Zp by (x,a)(y,b) = (x+y, a+b+x2y ).

  Moreover, Wilson Wi constructed a nonassociative CC-loop of order 2p for every odd prime p, and Kunen Ku showed that there are no other nonassociative CC-loops of this order. Here is the construction:

  Let N be an additive cyclic group of order n > 2, N = 〈1〉. Let G be the additive cyclic group of order 2. Define multiplication on L = G ×N as follows:

  (0,m)(0,n) = ( 0, m + n ),
  (0,m)(1,n) = ( 1, −m + n ),
  (1,m)(0,n) = ( 1, m + n ),
  (1,m)(1,n) = ( 0, 1 − m + n )·

  The CC-loops described above can be obtained by

- `CCLoop(` n`,` m`) F`

  ## 9.7 Small loops

  The library named small contains all nonassociative loops of order 5 and 6. There are 5 and 107 such loops, respectively. The loops are obtained by

- `SmallLoop(` n`,` m`) F`

  ## 9.8 Paige loops

  Paige loops are nonassociative finite simple Moufang loops. By Li, there is precisely one Paige loop for every finite field GF(q).

  The library named Paige contains the smallest nonassociative simple Moufang loop

- `PaigeLoop(` 2`) F`

  ## 9.9 Nilpotent loops

  The library named nilpotent 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. They are obtained as usual with

- `NilpotentLoop(` n`,` m`) F`

  See DaVo for more on enumeration of nilpotent loops. For instance, there are 2623755 nilpotent loops of order 12, and 123794003928541545927226368 nilpotent loops of order 22.

  ## 9.10 Automorphic loops

  The library named automorphic contains all nonassociative automorphic loops of order less that 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. They are obtained as usual with

- `AutomorphicLoop(` n`,` m`) F`

  ## 9.11 Interesting loops

  The library named interesting contains some loops that are illustrative for the theory of loops. At this point, the library contains a nonassociative loop of order 5, a nonassociative nilpotent loop of order 6, a nonMoufang left Bol loop of order 16, and the loop of sedenions of order 32 (sedenions generalize octonions).

  The loops are obtained with

- `InterestingLoop(` n`,` m`) F`

  ## 9.12 Libraries of loops up to isotopism

  For the library small we also provide the corresponding library of loops up to isotopism.

  In general, given a library named lib, the corresponding library up to isotopism is named itp lib, and the loops can be retrieved by the template function `ItpLibLoop( n, m )`. Thus we have

- `ItpSmallLoop( n, m ) O`

  Here is an example:

      gap> SmallLoop( 6, 14 );
      <small loop 6/14>
      gap> ItpSmallLoop( 6, 14 );
      <small loop 6/42>
      gap> LibraryLoop( "itp small", 6, 14 );
      <small loop 6/42>

  Note 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.

  Here is the list of all supported libraries up to isotopism and their extent, as displayed by LOOPS:

      gap> DisplayLibraryInfo("itp small");
      The library contains all nonassociative loops of order less than 7 up to
      isotopism.
      ------
      Extent of the library:
         1 loop of order 5
         20 loops of order 6

  [Up] [Previous] [Next] [Index]