*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:

- brief description of the package
- installation instructions
- the most recent version of the package for download
- detailed documentation
- new features not found in previous versions
- known bugs of the most recent version
- older versions of the package
- acknowledgement

**Note:** The package has been accepted by GAP in May 2015 and is available
with the standard distribution of GAP. A new version is under construction.

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.

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

- download any of the available versions (Windows, Unix) of LOOPS
- 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.3.0**.

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

- Unix version: loops-3.3.0.tar.gz
- Windows version: loops-3.3.0-win.zip

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.

In version 3.3.0

- Added
`SmallGeneratingSet( Q )`for a quasigroup`Q`. It returns a small generating set of`Q`and it is used in isomorphism searches. - New version of
`Discriminator`. It is a bit slower but generally speeds up isomorphism searches because it is more powerful than the old version. - Improved auxiliary routines for packing of multiplication tables (commutativity is exploited), and added auxiliary routines for packing of cocycles. Consequently, some library files are smaller.
- Added a library of commutative automorphic loops of order 3, 9, 27, 81 and 243 (except for certain factors for 243 as described in the manual).
- Changed how
`Subloop( Q, S )`and`Subquasigroup( Q, S )`work. It is now safe to call`Subquasigroup( Q )`in all cases; a loop will be returned iff the argument is a loop. `IsPowerAssociative( Q )`and`IsDiassociative( Q )`now work for quasigroups, too. The methods are much faster.

In version 3.2.0:

- Added
`CanonicalCopy`, which returns an isomorphic copy of a quasigroup or a loop with a Cayley table based on 1, ..., |Q|. - Documentation and test files updated.
- Fixed a bug in
`InterestingLoop(96,1)`. - Much more support for quasigroups, namely:
`Discriminator`(which is used of isomorphism searches) has been updated and now works for quasigroups as well.- Added
`IsomorphismQuasigroups( Q1, Q2 )`. - Added
`QuasigroupsUpToIsomorphism( ls )`. - Added
`AllSubquasigroups( Q )`that returns a list of all (nonempty) subquasigroups of a quasigroup. `AutomorphismGroup( Q )`now works for quasigroups as well.`DirectProduct`now works for a list of quasigroups, loops and/or groups.

In version 3.1.0:

- Completely new documentation, prepared with GAPDoc.
- Added left Bol loops and right Bol loops of order pq, for odd primes p>q.
- Changed
`Opposite`from global function to an attribute, and added operations`OppositeLoop`,`OppositeQuasigroup`, to avoid a conflict with other GAP packages.

In version 3.0.0:

- Fixed a bug in IsotopismLoops (now returns a correct isotopism).
- Added library of RCC loops (provided by Katharina Artic) up to order 27. See
`RCCLoop( n, m )`,`LCCLoop( n, m )`. - Extended library of CC loops up to order 27:
`CCLoop( n, m )`. - Added synonyms
`IsLeftConjugacyClosedLoop`,`IsRightConjugacyClosedLoop`,`IsConjugacyClosedLoop`,`RightConjugacyClosedLoop( n, m )`,`ConjugacyClosedLoop( n, m )`,`LeftConjugacyClosedLoop( n, m )`. - New conversion functions and encoding functions for multiplication tables.
- New structure of global variables to better separate the package from the rest of GAP.
- Added
`InterestingLoop(92,1)`, the simple right Bol loop of order 92 and exponent 2. - Implemented
`AssociatedRightBruckLoop`for Bol loops. - Changed
`QuasigroupByRightSection( G, H, T )`to`QuasigroupsByRightFolder( G, H, T )`, and`LoopByRightSection( G, H, T )`to`LoopByRightFolder( G, H, T )`. - Added
`IsExactGroupFactorization( G, H1, H2 )`and`RightBolLoopFromExactGroupFactorization( G, H1, H2 )`. - Added support for right Bol loops, including
`RightBolLoop(n, m)`. - New documentation.
- Updated tests.

Click to see the log of older changes.

We are not aware of any bugs.

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.

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.

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, Steve Flammia, Kenneth W. Johnson, Michael K. Kinyon, Alexander Konovalov, Frank Lübeck and Jonathan D.H. Smith.

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 commutative automorphic loops of order 27, 81 and 243 was obtained jointly with Izabella Stuhl.

*last update: October 27, 2016*