loops/doc/chap9_mj.html
Glen Whitney f64208f12f update to LOOPS 3.4.0
These are simply the changes as distributed.
2017-10-29 23:54:13 -04:00

438 lines
33 KiB
HTML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<script type="text/javascript"
src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<title>GAP (Loops) - Chapter 9: Libraries of Loops</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="generator" content="GAPDoc2HTML" />
<link rel="stylesheet" type="text/css" href="manual.css" />
<script src="manual.js" type="text/javascript"></script>
<script type="text/javascript">overwriteStyle();</script>
</head>
<body class="chap9" onload="jscontent()">
<div class="chlinktop"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a> <a href="chap1_mj.html">1</a> <a href="chap2_mj.html">2</a> <a href="chap3_mj.html">3</a> <a href="chap4_mj.html">4</a> <a href="chap5_mj.html">5</a> <a href="chap6_mj.html">6</a> <a href="chap7_mj.html">7</a> <a href="chap8_mj.html">8</a> <a href="chap9_mj.html">9</a> <a href="chapA_mj.html">A</a> <a href="chapB_mj.html">B</a> <a href="chapBib_mj.html">Bib</a> <a href="chapInd_mj.html">Ind</a> </div>
<div class="chlinkprevnexttop">&nbsp;<a href="chap0_mj.html">[Top of Book]</a>&nbsp; <a href="chap0_mj.html#contents">[Contents]</a>&nbsp; &nbsp;<a href="chap8_mj.html">[Previous Chapter]</a>&nbsp; &nbsp;<a href="chapA_mj.html">[Next Chapter]</a>&nbsp; </div>
<p id="mathjaxlink" class="pcenter"><a href="chap9.html">[MathJax off]</a></p>
<p><a id="X7BF3EE6E7953560D" name="X7BF3EE6E7953560D"></a></p>
<div class="ChapSects"><a href="chap9_mj.html#X7BF3EE6E7953560D">9 <span class="Heading">Libraries of Loops</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap9_mj.html#X874DFEAA79B3377C">9.1 <span class="Heading">A Typical Library</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap9_mj.html#X849865D6786EEF9B">9.1-1 LibraryLoop</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap9_mj.html#X78C4B8757902D49F">9.1-2 MyLibraryLoop</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap9_mj.html#X7A64372E81E713B4">9.1-3 DisplayLibraryInfo</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap9_mj.html#X7DF21BD685FBF258">9.2 <span class="Heading">Left Bol Loops and Right Bol Loops</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap9_mj.html#X7EE99F647C537994">9.2-1 LeftBolLoop</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap9_mj.html#X8774304282654C58">9.2-2 RightBolLoop</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap9_mj.html#X8028D69A86B15897">9.3 <span class="Heading">Left Bruck Loops and Right Bruck Loops</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap9_mj.html#X8290B01780F0FCD3">9.3-1 LeftBruckLoop</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap9_mj.html#X798DD7CF871F648F">9.3-2 RightBruckLoop</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap9_mj.html#X7953702D84E60AF4">9.4 <span class="Heading">Moufang Loops</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap9_mj.html#X81E82098822543EE">9.4-1 MoufangLoop</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap9_mj.html#X7BCA6BCB847F79DC">9.5 <span class="Heading">Code Loops</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap9_mj.html#X7DB4D3B27BB4D7EE">9.5-1 CodeLoop</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap9_mj.html#X84E941EE7846D3EE">9.6 <span class="Heading">Steiner Loops</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap9_mj.html#X87C235457E859AF4">9.6-1 SteinerLoop</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap9_mj.html#X867E5F0783FEB8B5">9.7 <span class="Heading">Conjugacy Closed Loops</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap9_mj.html#X806B2DE67990E42F">9.7-1 <span class="Heading">RCCLoop and RightConjugacyClosedLoop</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap9_mj.html#X80AB8B107D55FB19">9.7-2 <span class="Heading">LCCLoop and LeftConjugacyClosedLoop</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap9_mj.html#X798BC601843E8916">9.7-3 <span class="Heading">CCLoop and ConjugacyClosedLoop</span></a>
</span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap9_mj.html#X7E3A8F2C790F2CA1">9.8 <span class="Heading">Small Loops</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap9_mj.html#X7C6EE23E84CD87D3">9.8-1 SmallLoop</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap9_mj.html#X8135C8FD8714C606">9.9 <span class="Heading">Paige Loops</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap9_mj.html#X7FCF4D6B7AD66D74">9.9-1 PaigeLoop</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap9_mj.html#X86695C577A4D1784">9.10 <span class="Heading">Nilpotent Loops</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap9_mj.html#X7A9C960D86E2AD28">9.10-1 NilpotentLoop</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap9_mj.html#X793B22EA8643C667">9.11 <span class="Heading">Automorphic Loops</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap9_mj.html#X784FFA9E7FDA9F43">9.11-1 AutomorphicLoop</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap9_mj.html#X843BD73F788049F7">9.12 <span class="Heading">Interesting Loops</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap9_mj.html#X87F24AD3811910D3">9.12-1 InterestingLoop</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss">&nbsp;</span><a href="chap9_mj.html#X864839227D5C0A90">9.13 <span class="Heading">Libraries of Loops Up To Isotopism</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap9_mj.html#X850C4C01817A098D">9.13-1 ItpSmallLoop</a></span>
</div></div>
</div>
<h3>9 <span class="Heading">Libraries of Loops</span></h3>
<p>Libraries of small loops form an integral part of <strong class="pkg">LOOPS</strong>. The loops are stored in libraries up to isomorphism and, sometimes, up to isotopism.</p>
<p><a id="X874DFEAA79B3377C" name="X874DFEAA79B3377C"></a></p>
<h4>9.1 <span class="Heading">A Typical Library</span></h4>
<p>A library named <em>my Library</em> is stored in file <code class="file">data/mylibrary.tbl</code>, and the corresponding data structure is named <code class="code">LOOPS_my_library_data</code>. For example, when the library is called <em>left Bol</em>, the corresponding data file is called <code class="file">data/leftbol.tbl</code> and the corresponding data structure is named <code class="code">LOOPS_left_bol_data</code>.</p>
<p>In most cases, the array <code class="code">LOOPS_my_library_data</code> consists of three lists:</p>
<ul>
<li><p><code class="code">LOOPS_my_library_data[1]</code> is a list of orders for which there is at least one loop in the library,</p>
</li>
<li><p><code class="code">LOOPS_my_library_data[2][k]</code> is the number of loops of order <code class="code">LOOPS_my_library_data[1][k]</code> in the library,</p>
</li>
<li><p><code class="code">LOOPS_my_library_data[3][k][s]</code> contains data necessary to produce the <code class="code">s</code>th loop of order <code class="code">LOOPS_my_library_data[1][k]</code> in the library.</p>
</li>
</ul>
<p>The format of <code class="code">LOOPS_my_library_data[3]</code> depends heavily on the particular library and is not standardized in any way. The data is often coded to save space.</p>
<p><a id="X849865D6786EEF9B" name="X849865D6786EEF9B"></a></p>
<h5>9.1-1 LibraryLoop</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; LibraryLoop</code>( <var class="Arg">libname</var>, <var class="Arg">n</var>, <var class="Arg">m</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: The <var class="Arg">m</var>th loop of order <var class="Arg">n</var> from the library named <var class="Arg">libname</var>.</p>
<p><a id="X78C4B8757902D49F" name="X78C4B8757902D49F"></a></p>
<h5>9.1-2 MyLibraryLoop</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; MyLibraryLoop</code>( <var class="Arg">n</var>, <var class="Arg">m</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>This is a template function that retrieves the <var class="Arg">m</var>th loop of order <var class="Arg">n</var> from the library named <em>my library</em>.</p>
<p>For example, the <var class="Arg">m</var>th left Bol loop of order <var class="Arg">n</var> is obtained via <code class="code">LeftBolLoop(<var class="Arg">n</var>,<var class="Arg">m</var>)</code> or via <code class="code">LibraryLoop("left Bol",<var class="Arg">n</var>,<var class="Arg">m</var>)</code>.</p>
<p><a id="X7A64372E81E713B4" name="X7A64372E81E713B4"></a></p>
<h5>9.1-3 DisplayLibraryInfo</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; DisplayLibraryInfo</code>( <var class="Arg">libname</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: Brief information about the loops contained in the library named <var class="Arg">libname</var>.<br /></p>
<p>We are now going to describe the individual libraries.</p>
<p><a id="X7DF21BD685FBF258" name="X7DF21BD685FBF258"></a></p>
<h4>9.2 <span class="Heading">Left Bol Loops and Right Bol Loops</span></h4>
<p>The library named <em>left Bol</em> contains all nonassociative left Bol loops of order less than 17, including Moufang loops, as well as all left Bol loops of order <span class="SimpleMath">\(pq\)</span> for primes <span class="SimpleMath">\(p&gt;q&gt;2\)</span>. There are 6 such loops of order 8, 1 of order 12, 2 of order 15, 2038 of order 16, and <span class="SimpleMath">\((p+q-4)/2\)</span> of order <span class="SimpleMath">\(pq\)</span>.</p>
<p>The classification of left Bol loops of order 16 was first accomplished by Moorhouse <a href="chapBib_mj.html#biBMo">[Moo]</a>. Our library was generated independently and it agrees with Moorhouse's results. The left Bol loops of order <span class="SimpleMath">\(pq\)</span> were classified in <a href="chapBib_mj.html#biBKiNaVo2015">[KNV15]</a>.</p>
<p><a id="X7EE99F647C537994" name="X7EE99F647C537994"></a></p>
<h5>9.2-1 LeftBolLoop</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; LeftBolLoop</code>( <var class="Arg">n</var>, <var class="Arg">m</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: The <var class="Arg">m</var>th left Bol loop of order <var class="Arg">n</var> in the library.</p>
<p><a id="X8774304282654C58" name="X8774304282654C58"></a></p>
<h5>9.2-2 RightBolLoop</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; RightBolLoop</code>( <var class="Arg">n</var>, <var class="Arg">m</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: The <var class="Arg">m</var>th right Bol loop of order <var class="Arg">n</var> in the library.</p>
<p><strong class="button">Remark:</strong> Only left Bol loops are stored in the library. Right Bol loops are retrieved by calling <code class="code">Opposite</code> on left Bol loops.</p>
<p><a id="X8028D69A86B15897" name="X8028D69A86B15897"></a></p>
<h4>9.3 <span class="Heading">Left Bruck Loops and Right Bruck Loops</span></h4>
<p>The emmerging library named <em>left Bruck</em> contains all left Bruck loops of orders <span class="SimpleMath">\(3\)</span>, <span class="SimpleMath">\(9\)</span>, <span class="SimpleMath">\(27\)</span> and <span class="SimpleMath">\(81\)</span> (there are <span class="SimpleMath">\(1\)</span>, <span class="SimpleMath">\(2\)</span>, <span class="SimpleMath">\(7\)</span> and <span class="SimpleMath">\(72\)</span> such loops, respectively).</p>
<p>For an odd prime <span class="SimpleMath">\(p\)</span>, left Bruck loops of order <span class="SimpleMath">\(p^k\)</span> are centrally nilpotent and hence central extensions of the cyclic group of order <span class="SimpleMath">\(p\)</span> by a left Bruck loop of order <span class="SimpleMath">\(p^{k-1}\)</span>. It is known that left Bruck loops of order <span class="SimpleMath">\(p\)</span> and <span class="SimpleMath">\(p^2\)</span> are abelian groups; we have included them in the library because of the iterative nature of the construction of nilpotent loops.</p>
<p><a id="X8290B01780F0FCD3" name="X8290B01780F0FCD3"></a></p>
<h5>9.3-1 LeftBruckLoop</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; LeftBruckLoop</code>( <var class="Arg">n</var>, <var class="Arg">m</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: The <var class="Arg">m</var>th left Bruck loop of order <var class="Arg">n</var> in the library.</p>
<p><a id="X798DD7CF871F648F" name="X798DD7CF871F648F"></a></p>
<h5>9.3-2 RightBruckLoop</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; RightBruckLoop</code>( <var class="Arg">n</var>, <var class="Arg">m</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: The <var class="Arg">m</var>th right Bruck loop of order <var class="Arg">n</var> in the library.</p>
<p><a id="X7953702D84E60AF4" name="X7953702D84E60AF4"></a></p>
<h4>9.4 <span class="Heading">Moufang Loops</span></h4>
<p>The library named <em>Moufang</em> contains all nonassociative Moufang loops of order <span class="SimpleMath">\(n\le 64\)</span> and <span class="SimpleMath">\(n\in\{81,243\}\)</span>.</p>
<p><a id="X81E82098822543EE" name="X81E82098822543EE"></a></p>
<h5>9.4-1 MoufangLoop</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; MoufangLoop</code>( <var class="Arg">n</var>, <var class="Arg">m</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: The <var class="Arg">m</var>th Moufang loop of order <var class="Arg">n</var> in the library.</p>
<p>For <span class="SimpleMath">\(n\le 63\)</span>, our catalog numbers coincide with those of Goodaire et al. <a href="chapBib_mj.html#biBGo">[GMR99]</a>. The classification of Moufang loops of order 64 and 81 was carried out in <a href="chapBib_mj.html#biBNaVo2007">[NV07]</a>. The classification of Moufang loops of order 243 was carried out by Slattery and Zenisek <a href="chapBib_mj.html#biBSlZe2011">[SZ12]</a>.</p>
<p>The extent of the library is summarized below:</p>
<p class="center">\[
\begin{array}{r|rrrrrrrrrrrrrrrrrr}
order&amp;12&amp;16&amp;20&amp;24&amp;28&amp;32&amp;36&amp;40&amp;42&amp;44&amp;48&amp;52&amp;54&amp;56&amp;60&amp;64&amp;81&amp;243\cr
loops&amp;1 &amp;5 &amp;1 &amp;5 &amp;1 &amp;71&amp;4 &amp;5 &amp;1 &amp;1 &amp;51&amp;1 &amp;2 &amp;4 &amp;5 &amp;4262&amp; 5 &amp;72
\end{array}
\]</p>
<p>The <em>octonion loop</em> of order 16 (i.e., the multiplication loop of the basis elements in the 8-dimensional standard real octonion algebra) can be obtained as <code class="code">MoufangLoop(16,3)</code>.</p>
<p><a id="X7BCA6BCB847F79DC" name="X7BCA6BCB847F79DC"></a></p>
<h4>9.5 <span class="Heading">Code Loops</span></h4>
<p>The library named <em>code</em> 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 <a href="chapBib_mj.html#biBNaVo2007">[NV07]</a> for a classification of small code loops.</p>
<p><a id="X7DB4D3B27BB4D7EE" name="X7DB4D3B27BB4D7EE"></a></p>
<h5>9.5-1 CodeLoop</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; CodeLoop</code>( <var class="Arg">n</var>, <var class="Arg">m</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: The <var class="Arg">m</var>th code loop of order <var class="Arg">n</var> in the library.</p>
<p><a id="X84E941EE7846D3EE" name="X84E941EE7846D3EE"></a></p>
<h4>9.6 <span class="Heading">Steiner Loops</span></h4>
<p>Here is how the libary named <em>Steiner</em> is described within <strong class="pkg">LOOPS</strong>:</p>
<div class="example"><pre>
<span class="GAPprompt">gap&gt;</span> <span class="GAPinput">DisplayLibraryInfo( "Steiner" );</span>
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
</pre></div>
<p>Our labeling of Steiner loops of order 16 coincides with the labeling of Steiner triple systems of order 15 in <a href="chapBib_mj.html#biBCoRo">[CR99]</a>.</p>
<p><a id="X87C235457E859AF4" name="X87C235457E859AF4"></a></p>
<h5>9.6-1 SteinerLoop</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; SteinerLoop</code>( <var class="Arg">n</var>, <var class="Arg">m</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: The <var class="Arg">m</var>th Steiner loop of order <var class="Arg">n</var> in the library.</p>
<p><a id="X867E5F0783FEB8B5" name="X867E5F0783FEB8B5"></a></p>
<h4>9.7 <span class="Heading">Conjugacy Closed Loops</span></h4>
<p>The library named <em>RCC</em> contains all nonassocitive right conjugacy closed loops of order <span class="SimpleMath">\(n\le 27\)</span> up to isomorphism. The data for the library was generated by Katharina Artic <a href="chapBib_mj.html#biBArtic">[Art15]</a> who can also provide additional data for all right conjugacy closed loops of order <span class="SimpleMath">\(n\le 31\)</span>.</p>
<p>Let <span class="SimpleMath">\(Q\)</span> be a right conjugacy closed loop, <span class="SimpleMath">\(G\)</span> its right multiplication group and <span class="SimpleMath">\(T\)</span> its right section. Then <span class="SimpleMath">\(\langle T\rangle = G\)</span> is a transitive group, and <span class="SimpleMath">\(T\)</span> is a union of conjugacy classes of <span class="SimpleMath">\(G\)</span>. Every right conjugacy closed loop of order <span class="SimpleMath">\(n\)</span> can therefore be represented as a union of certain conjugacy classes of a transitive group of degree <span class="SimpleMath">\(n\)</span>. This is how right conjugacy closed loops of order less than <span class="SimpleMath">\(28\)</span> are represented in <strong class="pkg">LOOPS</strong>. The following table summarizes the number of right conjugacy closed loops of a given order up to isomorphism:</p>
<p class="center">\[
\begin{array}{r|rrrrrrrrrrrrrrrr}
order &amp;6&amp; 8&amp;9&amp;10&amp; 12&amp;14&amp;15&amp; 16&amp; 18&amp; 20&amp;\cr
loops &amp;3&amp;19&amp;5&amp;16&amp;155&amp;97&amp; 17&amp;6317&amp;1901&amp;8248&amp;\cr
\hline
order &amp;21&amp; 22&amp; 24&amp; 25&amp; 26&amp; 27\cr
loops &amp;119&amp;10487&amp;471995&amp; 119&amp;151971&amp;152701
\end{array}
\]</p>
<p><a id="X806B2DE67990E42F" name="X806B2DE67990E42F"></a></p>
<h5>9.7-1 <span class="Heading">RCCLoop and RightConjugacyClosedLoop</span></h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; RCCLoop</code>( <var class="Arg">n</var>, <var class="Arg">m</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; RightConjugacyClosedLoop</code>( <var class="Arg">n</var>, <var class="Arg">m</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: The <var class="Arg">m</var>th right conjugacy closed loop of order <var class="Arg">n</var> in the library.</p>
<p><a id="X80AB8B107D55FB19" name="X80AB8B107D55FB19"></a></p>
<h5>9.7-2 <span class="Heading">LCCLoop and LeftConjugacyClosedLoop</span></h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; LCCLoop</code>( <var class="Arg">n</var>, <var class="Arg">m</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; LeftConjugacyClosedLoop</code>( <var class="Arg">n</var>, <var class="Arg">m</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: The <var class="Arg">m</var>th left conjugacy closed loop of order <var class="Arg">n</var> in the library.</p>
<p><strong class="button">Remark:</strong> Only the right conjugacy closed loops are stored in the library. Left conjugacy closed loops are obtained from right conjugacy closed loops via <code class="code">Opposite</code>.<br /></p>
<p>The library named <em>CC</em> contains all CC loops of order <span class="SimpleMath">\(2\le 2^k\le 64\)</span>, <span class="SimpleMath">\(3\le 3^k\le 81\)</span>, <span class="SimpleMath">\(5\le 5^k\le 125\)</span>, <span class="SimpleMath">\(7\le 7^k\le 343\)</span>, all nonassociative CC loops of order less than 28, and all nonassociative CC loops of order <span class="SimpleMath">\(p^2\)</span> and <span class="SimpleMath">\(2p\)</span> for any odd prime <span class="SimpleMath">\(p\)</span>.</p>
<p>By results of Kunen <a href="chapBib_mj.html#biBKun">[Kun00]</a>, for every odd prime <span class="SimpleMath">\(p\)</span> there are precisely 3 nonassociative conjugacy closed loops of order <span class="SimpleMath">\(p^2\)</span>. Csörgő and Drápal <a href="chapBib_mj.html#biBCsDr">[CD05]</a> described these 3 loops by multiplicative formulas on <span class="SimpleMath">\(\mathbb{Z}_{p^2}\)</span> and <span class="SimpleMath">\(\mathbb{Z}_p \times \mathbb{Z}_p\)</span> as follows:</p>
<ul>
<li><p>Case <span class="SimpleMath">\(m = 1\)</span>:Let <span class="SimpleMath">\(k\)</span> be the smallest positive integer relatively prime to <span class="SimpleMath">\(p\)</span> and such that <span class="SimpleMath">\(k\)</span> is a square modulo <span class="SimpleMath">\(p\)</span> (i.e., <span class="SimpleMath">\(k=1\)</span>). Define multiplication on <span class="SimpleMath">\(\mathbb{Z}_{p^2}\)</span> by <span class="SimpleMath">\(x\cdot y = x + y + kpx^2y\)</span>.</p>
</li>
<li><p>Case <span class="SimpleMath">\(m = 2\)</span>: Let <span class="SimpleMath">\(k\)</span> be the smallest positive integer relatively prime to <span class="SimpleMath">\(p\)</span> and such that <span class="SimpleMath">\(k\)</span> is not a square modulo <span class="SimpleMath">\(p\)</span>. Define multiplication on <span class="SimpleMath">\(\mathbb{Z}_{p^2}\)</span> by <span class="SimpleMath">\(x\cdot y = x + y + kpx^2y\)</span>.</p>
</li>
<li><p>Case <span class="SimpleMath">\(m = 3\)</span>: Define multiplication on <span class="SimpleMath">\(\mathbb{Z}_p \times \mathbb{Z}_p\)</span> by <span class="SimpleMath">\((x,a)(y,b) = (x+y, a+b+x^2y )\)</span>.</p>
</li>
</ul>
<p>Moreover, Wilson <a href="chapBib_mj.html#biBWi">[WJ75]</a> constructed a nonassociative conjugacy closed loop of order <span class="SimpleMath">\(2p\)</span> for every odd prime <span class="SimpleMath">\(p\)</span>, and Kunen <a href="chapBib_mj.html#biBKun">[Kun00]</a> showed that there are no other nonassociative conjugacy closed oops of this order. Here is the relevant multiplication formula on <span class="SimpleMath">\(\mathbb{Z}_2 \times \mathbb{Z}_p\)</span>: <span class="SimpleMath">\((0,m)(0,n) = ( 0, m + n )\)</span>, <span class="SimpleMath">\((0,m)(1,n) = ( 1, -m + n )\)</span>, <span class="SimpleMath">\((1,m)(0,n) = ( 1, m + n)\)</span>, <span class="SimpleMath">\((1,m)(1,n) = ( 0, 1 - m + n )\)</span>.</p>
<p><a id="X798BC601843E8916" name="X798BC601843E8916"></a></p>
<h5>9.7-3 <span class="Heading">CCLoop and ConjugacyClosedLoop</span></h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; CCLoop</code>( <var class="Arg">n</var>, <var class="Arg">m</var> )</td><td class="tdright">( function )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ConjugacyClosedLoop</code>( <var class="Arg">n</var>, <var class="Arg">m</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: The <var class="Arg">m</var>th conjugacy closed loop of order <var class="Arg">n</var> in the library.</p>
<p><a id="X7E3A8F2C790F2CA1" name="X7E3A8F2C790F2CA1"></a></p>
<h4>9.8 <span class="Heading">Small Loops</span></h4>
<p>The library named <em>small</em> contains all nonassociative loops of order 5 and 6. There are 5 and 107 such loops, respectively.</p>
<p><a id="X7C6EE23E84CD87D3" name="X7C6EE23E84CD87D3"></a></p>
<h5>9.8-1 SmallLoop</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; SmallLoop</code>( <var class="Arg">n</var>, <var class="Arg">m</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: The <var class="Arg">m</var>th loop of order <var class="Arg">n</var> in the library.</p>
<p><a id="X8135C8FD8714C606" name="X8135C8FD8714C606"></a></p>
<h4>9.9 <span class="Heading">Paige Loops</span></h4>
<p><em>Paige loops</em> are nonassociative finite simple Moufang loops. By <a href="chapBib_mj.html#biBLi">[Lie87]</a>, there is precisely one Paige loop for every finite field.</p>
<p>The library named <em>Paige</em> contains the smallest nonassociative simple Moufang loop.</p>
<p><a id="X7FCF4D6B7AD66D74" name="X7FCF4D6B7AD66D74"></a></p>
<h5>9.9-1 PaigeLoop</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; PaigeLoop</code>( <var class="Arg">q</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: The Paige loop constructed over the finite field of order <var class="Arg">q</var>. Only the case <code class="code"><var class="Arg">q</var>=2</code> is implemented.</p>
<p><a id="X86695C577A4D1784" name="X86695C577A4D1784"></a></p>
<h4>9.10 <span class="Heading">Nilpotent Loops</span></h4>
<p>The library named <em>nilpotent</em> 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.</p>
<p>See <a href="chapBib_mj.html#biBDaVo">[DV09]</a> for more on enumeration of nilpotent loops. For instance, there are 2623755 nilpotent loops of order 12, and 123794003928541545927226368 nilpotent loops of order 22.</p>
<p><a id="X7A9C960D86E2AD28" name="X7A9C960D86E2AD28"></a></p>
<h5>9.10-1 NilpotentLoop</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; NilpotentLoop</code>( <var class="Arg">n</var>, <var class="Arg">m</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: The <var class="Arg">m</var>th nilpotent loop of order <var class="Arg">n</var> in the library.</p>
<p><a id="X793B22EA8643C667" name="X793B22EA8643C667"></a></p>
<h4>9.11 <span class="Heading">Automorphic Loops</span></h4>
<p>The library named <em>automorphic</em> 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).</p>
<p>It 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 <a href="chapBib_mj.html#biBGreer">[Gre14]</a>, <a href="chapBib_mj.html#biBStuhlVojtechovsky">[SV17]</a>. Only the left Bruck loops are stored in the library.</p>
<p><a id="X784FFA9E7FDA9F43" name="X784FFA9E7FDA9F43"></a></p>
<h5>9.11-1 AutomorphicLoop</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; AutomorphicLoop</code>( <var class="Arg">n</var>, <var class="Arg">m</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: The <var class="Arg">m</var>th automorphic loop of order <var class="Arg">n</var> in the library.</p>
<p><a id="X843BD73F788049F7" name="X843BD73F788049F7"></a></p>
<h4>9.12 <span class="Heading">Interesting Loops</span></h4>
<p>The library named <em>interesting</em> 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.</p>
<p><a id="X87F24AD3811910D3" name="X87F24AD3811910D3"></a></p>
<h5>9.12-1 InterestingLoop</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; InterestingLoop</code>( <var class="Arg">n</var>, <var class="Arg">m</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: The <var class="Arg">m</var>th interesting loop of order <var class="Arg">n</var> in the library.</p>
<p><a id="X864839227D5C0A90" name="X864839227D5C0A90"></a></p>
<h4>9.13 <span class="Heading">Libraries of Loops Up To Isotopism</span></h4>
<p>For the library named <em>small</em> we also provide the corresponding library of loops up to isotopism. In general, given a library named <em>libname</em>, the corresponding library of loops up to isotopism is named <em>itp lib</em>, and the loops can be retrieved by the template <code class="code">ItpLibLoop(n,m)</code>.</p>
<p><a id="X850C4C01817A098D" name="X850C4C01817A098D"></a></p>
<h5>9.13-1 ItpSmallLoop</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; ItpSmallLoop</code>( <var class="Arg">n</var>, <var class="Arg">m</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: The <var class="Arg">m</var>th small loop of order <var class="Arg">n</var> up to isotopism in the library.</p>
<div class="example"><pre>
<span class="GAPprompt">gap&gt;</span> <span class="GAPinput">SmallLoop( 6, 14 );</span>
&lt;small loop 6/14&gt;
<span class="GAPprompt">gap&gt;</span> <span class="GAPinput">ItpSmallLoop( 6, 14 );</span>
&lt;small loop 6/42&gt;
<span class="GAPprompt">gap&gt;</span> <span class="GAPinput">LibraryLoop( "itp small", 6, 14 );</span>
&lt;small loop 6/42&gt;
</pre></div>
<p>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.</p>
<div class="chlinkprevnextbot">&nbsp;<a href="chap0_mj.html">[Top of Book]</a>&nbsp; <a href="chap0_mj.html#contents">[Contents]</a>&nbsp; &nbsp;<a href="chap8_mj.html">[Previous Chapter]</a>&nbsp; &nbsp;<a href="chapA_mj.html">[Next Chapter]</a>&nbsp; </div>
<div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a> <a href="chap1_mj.html">1</a> <a href="chap2_mj.html">2</a> <a href="chap3_mj.html">3</a> <a href="chap4_mj.html">4</a> <a href="chap5_mj.html">5</a> <a href="chap6_mj.html">6</a> <a href="chap7_mj.html">7</a> <a href="chap8_mj.html">8</a> <a href="chap9_mj.html">9</a> <a href="chapA_mj.html">A</a> <a href="chapB_mj.html">B</a> <a href="chapBib_mj.html">Bib</a> <a href="chapInd_mj.html">Ind</a> </div>
<hr />
<p class="foot">generated by <a href="http://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p>
</body>
</html>