LOOPS: Computing with quasigroups and loops in GAP

Gábor P. Nagy (University of Szeged, Hungary)
Petr Vojtěchovský (University of Denver, USA)

This is the official distribution webpage of the LOOPS package for GAP 4. You will find here:

Note: The package has been accepted by GAP in May 2015 and is available with the standard distribution of GAP.

Brief description

LOOPS is a package for GAP 4 whose purpose is to provide researchers in nonassociative algebra with a powerful computational tool concerning finite loops and quasigroups; and to extend GAP toward the realm of nonassociative structures.

The package consists of three complementary parts: core methods for quasigroups and loops, specific methods for loops (mainly Moufang loops), libraries of small loops.

Installation instructions

To install LOOPS, you should have GAP version 4.8 or newer installed on your computer. Then

  1. download any of the available versions (Windows, Unix) of LOOPS
  2. unpack the file into the pkg directory of GAP

After this step, you will see the subfolder loops in the pkg folder.

To load LOOPS into GAP, start GAP and use LoadPackage( "loops" );.


The most recent version of LOOPS is 3.4.0.

Before you download LOOPS, you might want to check the README.loops and PackageInfo.g files, and the documentation.


The documentation for the package is included with the distribution and is located in the loops/doc folder. You can also access the documentation directly from here.

New features

In version 3.4.0

In version 3.3.0

In version 3.2.0:

In version 3.1.0:

Click to see the log of older changes.

Known bugs in the most recent version

There are issues when both the semigroup and loops packages are loaded. In the semigroup package, semigroups are declared as DeclareSynonymAttr( "IsSemigroup", IsMagma and IsAssociative ). An associative quasigroup/loop satisfies both IsMagma and IsAssociative and it might therefore be treated as a semigroup in GAP. Unfortunately, some methods for semigroups do not anticipate loops and their representation and they might therefore crash. The semigroup package actually causes problems in GAP even without loops loaded.

Older versions of the package

Since several published papers rely on older versions of the package, we post them here so that calculations can be verified.

For Unix: version 1.0.0, 1.1.0, 1.2.0, 1.3.0, 1.4.0, 1.5.0, 1.9.0, 2.0.0, 2.1.0, 2.1.1, 2.1.2, 2.1.3, 2.2.0, 3.0.0, 3.1.0, 3.2.0, 3.3.0.

For Windows: version 1.0.0, 1.1.0, 1.2.0, 1.3.0, 1.4.0, 1.5.0, 1.9.0, 2.0.0, 2.1.0, 2.1.1, 2.1.2, 2.1.3, 2.2.0, 3.0.0, 3.1.0, 3.2.0, 3.3.0.


G. P. Nagy was supported by OTKA grants F042959 and T043758, and P. Vojtechovsky was supported by the 2006 and 2016 University of Denver PROF grants and the Simons Foundation Collaboration Grant 210176.

We thank the following people for sending us remarks and comments, and for suggesting new functionality of the package: Muniru Asiru, Bjoern Assmann, Andreas Distler, Ales Drapal, Graham Ellis, Steve Flammia, Kenneth W. Johnson, Michael K. Kinyon, Alexander Konovalov, Frank Lübeck, Jonathan D.H. Smith, David Stanovsky and Glen Whitney.

The library of Moufang loops of order 243 was generated from data provided by Michael C. Slattery and Ashley L. Zenisek. The library of right conjugacy closed loops of order less than 28 was generated from data provided by Katharina Artic. The library of right Bruck loops of order 27, 81 was obtained jointly with Izabella Stuhl.

last update: October 27, 2017