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. A new version is under construction.
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 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" );.
Download
The most recent version of LOOPS is 3.2.0.
Before you download LOOPS, you might want to check the
README.loops and
PackageInfo.g files,
and the documentation.
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.
- pdf (pdf version)
- ps (postscript version)
- html (html version)
New features
In version 3.2.0:
- Much more support for quasigroups.
- Added CanonicalCopy, which returns an isomorphic copy of a quasigroup of a loop with a Cayley table based on 1, ..., |Q|.
- Discriminator (which is used of isomorphism searches) has been updated and now works for quasigroups as well.
- Added IsomorphismQuasigroups( Q1, Q2 ).
- Added QuasigroupsUpToIsomorphism( ls ). (doc OK)
- 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.
- Documentation and test files updated.
- Fixed a bug in InterestingLoop(96,1).
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.
In version 2.2.0:
- Converted the package so that it is compatible with GAP 4r5.
- Added library of Moufang loops of order 243, based on the classification of Slattery and Zenisek.
- Added library of automorphic loops of order less than 16.
- Added library function AutomorphicLoop.
- Created synomyms to all ALoop attributes. For instance, IsLeftAutomorphicLoop is
the synonym of IsLeftALoop.
- Updated the manual.
In version 2.1.3:
- Fixed a bug in Subquasigroup. It now correcly forwards the second argument (generators) to SubquasigroupNC
as a set, not just as a list.
- We now allow Subquasigroup(Q,[]) and return [], rather than returning an error. This is useful,
for instance, when the user calls Nuc(Q) with a quasigroup Q that has empty nucleus.
Click to see the log of older changes.
Known bugs in the most recent version
We are not aware of any bugs.
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,
1.0.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.
Acknowledgement
While developing the LOOPS package, G. P. Nagy was supported by the OTKA grants F042959 and T043758.
While working toward LOOPS version 2.0.0, Petr Vojtechovsky was supported by the 2006 PROF grant of the University of Denver.
While working toward version 3.0.0, Petr Vojtechovsky was supported by 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.
last update: June 2, 2016