Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/kbmag/doc/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 3.0.2023 mit Größe 203 B image not shown  

Quelle  chap1_mj.html   Sprache: HTML

 
 products/sources/formale Sprachen/GAP/pkg/smallsemi/doc/chap1_mj.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="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<title>GAP (Smallsemi) - Chapter 1: Introduction</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="chap1"  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="chapBib_mj.html">Bib</a>  <a href="chapInd_mj.html">Ind</a>  </div>

<div class="chlinkprevnexttop"> <a href="chap0_mj.html">[Top of Book]</a>   <a href="chap0_mj.html#contents">[Contents]</a>    <a href="chap0_mj.html">[Previous Chapter]</a>    <a href="chap2_mj.html">[Next Chapter]</a>   </div>

<p id="mathjaxlink" class="pcenter"><a href="chap1.html">[MathJax off]</a></p>
<p><a id="X7DFB63A97E67C0A1" name="X7DFB63A97E67C0A1"></a></p>
<div class="ChapSects"><a href="chap1_mj.html#X7DFB63A97E67C0A1">1 <span class="Heading">Introduction</span></a>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap1_mj.html#X85A08CF187A6D986">1.1 <span class="Heading">Requirements</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap1_mj.html#X82C5588B7E8B2725">1.1-1 <span class="Heading">Operating System</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap1_mj.html#X78F27CCA81555251">1.1-2 <span class="Heading">RAM</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap1_mj.html#X87E4E0377BF1EAC6">1.1-3 <span class="Heading">Disk Space</span></a>
</span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap1_mj.html#X796A04C37CB7AC04">1.2 <span class="Heading">Installation and Setup</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap1_mj.html#X7C87C34C79B9D28D">1.2-1 <span class="Heading">Download and Extract <strong class="pkg">Smallsemi</strong></span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap1_mj.html#X86BA319E87365B5C">1.2-2 <span class="Heading">Contents</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap1_mj.html#X861ED1338181C66D">1.2-3 <span class="Heading">Loading</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap1_mj.html#X803939AE7C3565DA">1.2-4 <span class="Heading">Memory Issues</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap1_mj.html#X7DE7E7187BE24368">1.2-5 <span class="Heading">Testing</span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap1_mj.html#X7B3500B984306465">1.2-6 <span class="Heading">Customizing</span></a>
</span>
</div></div>
</div>

<h3>1 <span class="Heading">Introduction</span></h3>

<p>This manual describes the <strong class="pkg">Smallsemi</strong> package (Version 0.7.2) for <strong class="pkg">GAP</strong>.</p>

<p>The <strong class="pkg">Smallsemi</strong> package is a data library of semigroups of small size. It provides all semigroups with at most 8 elements as well as various information about these objects. The reason that semigroups of higher orders are not included is the huge number of such objects. The numbers of semigroups of sizes 1 to 9 are given in the table below (orders not included in the library are in italics). The number of semigroups of size 10 is not known at the time of writing.</p>

<div class="pcenter"><table class="GAPDocTable">
<tr>
<td class="tdright">Size</td>
<td class="tdright">Number of semigroups</td>
</tr>
<tr>
<td class="tdright">1</td>
<td class="tdright">1</td>
</tr>
<tr>
<td class="tdright">2</td>
<td class="tdright">4</td>
</tr>
<tr>
<td class="tdright">3</td>
<td class="tdright">18</td>
</tr>
<tr>
<td class="tdright">4</td>
<td class="tdright">126</td>
</tr>
<tr>
<td class="tdright">5</td>
<td class="tdright">1 160</td>
</tr>
<tr>
<td class="tdright">6</td>
<td class="tdright">15 973</td>
</tr>
<tr>
<td class="tdright">7</td>
<td class="tdright">836 021</td>
</tr>
<tr>
<td class="tdright">8</td>
<td class="tdright">1 843 120 128</td>
</tr>
<tr>
<td class="tdright">9</td>
<td class="tdright"><em>52 989 400 714 478</em></td>
</tr>
</table><br />
</div>

<p>The initial idea for <strong class="pkg">Smallsemi</strong> was developed out of the wish for an extensive number of examples of semigroups of moderate size. This lead to the idea of an electronical database. As an existing example the <strong class="pkg">SmallGroups Library</strong> <a href="chapBib_mj.html#biBsmallgroups">[BEO02]</a> was an inspiration on how such a project could be established. Unfortunately the number of semigroups is so much bigger, and most of them bare so little structure, that new techniques to store and handle the semigroups had to be developed. Of course, the first step was to actually construct all the semigroups.</p>

<p>In the remainder of the introduction we explain what you need to do to install and optimize <strong class="pkg">Smallsemi</strong>; see Subsections <a href="chap1_mj.html#X85A08CF187A6D986"><span class="RefLink">1.1</span></a> and <a href="chap1_mj.html#X796A04C37CB7AC04"><span class="RefLink">1.2</span></a>.</p>

<p>In Chapter <a href="chap2_mj.html#X7E933CC381DA3D7C"><span class="RefLink">2</span></a> we explain how the semigroups where obtained, what exactly is stored and how, and which additional properties have been precomputed.</p>

<p>The the types of use <strong class="pkg">Smallsemi</strong> is intended for and its limitations are described in Chapter <a href="chap3_mj.html#X7CDC63A27F7790AA"><span class="RefLink">3</span></a>. The extensive examples can be used as a quick-start guide and as something to come back to after reading the technical details about available functionality in the subsequent sections.</p>

<p>Chapter <a href="chap4_mj.html#X87F1120883F5B4D0"><span class="RefLink">4</span></a> has all the information about available functions.</p>

<p><a id="X85A08CF187A6D986" name="X85A08CF187A6D986"></a></p>

<h4>1.1 <span class="Heading">Requirements</span></h4>

<p>This software is written for <strong class="pkg">GAP</strong> 4. It requires an existing installation of <strong class="pkg">GAP</strong> in version 4.5 or higher.</p>

<p>It is recommended but not necessary to have the <strong class="pkg">GAP</strong> 4 packages <strong class="pkg">Citrus</strong> and <strong class="pkg">sgpviz</strong> installed as well. <strong class="pkg">Citrus</strong> provides a wide range of functionality for working with semigroups which is not available in the <strong class="pkg">GAP</strong> core system while <strong class="pkg">sgpviz</strong> is recommended for its ability to graphically represent small semigroups.</p>

<p><a id="X82C5588B7E8B2725" name="X82C5588B7E8B2725"></a></p>

<h5>1.1-1 <span class="Heading">Operating System</span></h5>

<p>The current version of <strong class="pkg">Smallsemi</strong> was created for use under Unix. It will also work under Windows but only if all files in the directory <code class="file">smallsemi/data</code> and all of its subdirectories are uncompressed. See Subsection <a href="chap1_mj.html#X87E4E0377BF1EAC6"><span class="RefLink">1.1-3</span></a> for additional comments on working with <strong class="pkg">Smallsemi</strong> under Windows.</p>

<p><a id="X78F27CCA81555251" name="X78F27CCA81555251"></a></p>

<h5>1.1-2 <span class="Heading">RAM</span></h5>

<p>Working with <strong class="pkg">Smallsemi</strong> can be memory expensive. We recommend to have at least 1 GB of RAM available. With less than 512 MB not all the semigroups of size 8 can be accessed.</p>

<p>You should be able to use the semigroups of orders 1 through 7 having 128 MB of RAM only. If you have a system with little memory or want to use as little memory as possible for the <strong class="pkg">GAP</strong> process try using <code class="func">UnloadSmallsemiData</code> (<a href="chap4_mj.html#X841BB74986A73272"><span class="RefLink">4.1-9</span></a>) to free memory after every access to the library. This is likely to slow down computations though.</p>

<p>For further information on how <strong class="pkg">GAP</strong> uses memory see <a href="chap1_mj.html#X803939AE7C3565DA"><span class="RefLink">1.2-4</span></a> or <a href="../../../doc/ref/chap3_mj.html#X782751D5858A6EAF"><span class="RefLink">Reference: Command Line Options</span></a>.</p>

<p><a id="X87E4E0377BF1EAC6" name="X87E4E0377BF1EAC6"></a></p>

<h5>1.1-3 <span class="Heading">Disk Space</span></h5>

<p>As the data in the library is compressed, 30 MB of disk space will be sufficient to install <strong class="pkg">Smallsemi</strong> under Unix. To use the library under Windows the data has to be uncompressed and will then occupy approx. 1.6 GB.</p>

<p>All data files are compressed using <code class="file">gzip</code>. Under Unix <strong class="pkg">GAP</strong> can access the original contents of a gzipped file without uncompressing it as a whole by using a pipe. On 32-bit systems this might fail in extreme circumstances. In that case <strong class="pkg">GAP</strong> has to be restarted. This functionality is <em>not</em> currently available under Windows (or for any other compression type).</p>

<p>It should be possible to use <strong class="pkg">Smallsemi</strong> under Windows after unzipping all data files. (These are located in the directory <code class="file">data</code> and its subdirectories and have the file extension <code class="file">.gz</code>.)</p>

<p><a id="X796A04C37CB7AC04" name="X796A04C37CB7AC04"></a></p>

<h4>1.2 <span class="Heading">Installation and Setup</span></h4>

<p><a id="X7C87C34C79B9D28D" name="X7C87C34C79B9D28D"></a></p>

<h5>1.2-1 <span class="Heading">Download and Extract <strong class="pkg">Smallsemi</strong></span></h5>

<p>The installation follows standard <strong class="pkg">GAP</strong> rules as outlined in the following two steps; see <a href="../../../doc/ref/chap76_mj.html#X82473E4B8756C6CD"><span class="RefLink">Reference: Installing a GAP Package</span></a> for further details.</p>

<ol>
<li><p>Download one of the archives <code class="file">smallsemi-0.7.2.tar.gz</code> or <code class="file">smallsemi-0.7.2.tar.bz2</code> from <br /> <span class="URL"><a href="http://www-groups.mcs.st-andrews.ac.uk/~jamesm/smallsemi.php">http://www-groups.mcs.st-andrews.ac.uk/~jamesm/smallsemi.php</a></span></p>

</li>
<li><p>Move the archive inside a <code class="file">pkg</code> directory. This can be either the main <code class="file">pkg</code> directory in your <strong class="pkg">GAP</strong> installation or your personal <code class="file">pkg</code> directory.</p>

</li>
<li><p>Complete the installation by unpacking the archive, e.g. under Linux type <code class="file">tar -xzf smallsemi-0.7.2.tar.gz</code> at the prompt for the gzipped <code class="file">tar</code>-archive. A subdirectory <code class="file">smallsemi</code> will be created inside the <code class="file">pkg</code> directory.</p>

</li>
</ol>
<p><a id="X86BA319E87365B5C" name="X86BA319E87365B5C"></a></p>

<h5>1.2-2 <span class="Heading">Contents</span></h5>

<p>In the subdirectory <code class="file">smallsemi</code> you should find the following files and folders:</p>

<div class="pcenter"><table class="GAPDocTablenoborder">
<tr>
<td class="tdleft"><code class="file">CHANGELOG</code></td>
<td class="tdleft">documents changes to previous versions</td>
</tr>
<tr>
<td class="tdleft"><code class="file">data</code></td>
<td class="tdleft">contains the data files for semigroups</td>
</tr>
<tr>
<td class="tdleft"><code class="file">doc</code></td>
<td class="tdleft">contains the documentation</td>
</tr>
<tr>
<td class="tdleft"><code class="file">gap</code></td>
<td class="tdleft">contains the <strong class="pkg">GAP</strongcode</td>
</tr>
<tr>
<td class="tdleft"><code class="file">LICENSE</code></td>
<td class="tdleft">version 3 of the GNU General Public License</td>
</tr>
<tr>
<td class="tdleft"><code class="file">init.g</code></td>
<td class="tdleft">implementation file of <strong class="pkg">Smallsemi</strong></td>
</tr>
<tr>
<td class="tdleft"><code class="file">PackageInfo.g</code></td>
<td class="tdleft">meta information about <strong class="pkg">Smallsemi</strong></td>
</tr>
<tr>
<td class="tdleft"><code class="file">read.g</code></td>
<td class="tdleft">declaration file of <strong class="pkg">Smallsemi</strong></td>
</tr>
<tr>
<td class="tdleft"><code class="file">README.txt</code></td>
<td class="tdleft">the README file of <strong class="pkg">Smallsemi</strong></td>
</tr>
<tr>
<td class="tdleft"><code class="file">tst</code></td>
<td class="tdleft">contains test files</td>
</tr>
</table><br />
</div>

<p><a id="X861ED1338181C66D" name="X861ED1338181C66D"></a></p>

<h5>1.2-3 <span class="Heading">Loading</span></h5>

<p>To use the package, start a <strong class="pkg">GAP</strong> session and type <code class="code">LoadPackage("smallsemi");</code> at the <strong class="pkg">GAP</strong> prompt. You should see the following:</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">LoadPackage("smallsemi");</span>
-----------------------------------------------------------------------------
Smallsemi - A library of small semigroups
by Andreas Distler &amp; James Mitchell
For contents, type: ?Smallsemi:
Loading Smallsemi &VERSION; ...
-----------------------------------------------------------------------------
true
</pre></div>

<p>You might want to start <strong class="pkg">GAP</strong> with a specified amount of memory; see Subsection <a href="chap1_mj.html#X803939AE7C3565DA"><span class="RefLink">1.2-4</span></a>.</p>

<p><a id="X803939AE7C3565DA" name="X803939AE7C3565DA"></a></p>

<h5>1.2-4 <span class="Heading">Memory Issues</span></h5>

<p>As mentioned in Subsection <a href="chap1_mj.html#X78F27CCA81555251"><span class="RefLink">1.1-2</span></a>, working with <strong class="pkg">smallsemi </strong> can be memory expensive. It is therefore necessary to either:</p>

<ol>
<li><p>start <strong class="pkg">GAP</strong> with 1 GB of memory (if possible), for example, by typing <code class="code">gap -m 1g</code>; or</p>

</li>
<li><p>extend the amount memory used by typing <code class="code">return;</code> in the break-loop whenever <strong class="pkg">GAP</strong> runs out of memory. For example,</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">s := SmallSemigroup(8, 183244314);</span>
#I  Loading 'smallsemi' data. Please be patient.
#I  Loading 'smallsemi' data.
Error, exceeded the permitted memory (`-o' command line option)
SplitString( StringFile( file ), "\n" ) called from
READ_3NIL_DATA( diag ); called from
RecoverMultiplicationTable( size, nr ) called from
<function>( <arguments> ) called from read-eval-loop
you can 'return;'
<span class="GAPbrkprompt">brk></span>
</pre></div>

</li>
</ol>
<p><a id="X7DE7E7187BE24368" name="X7DE7E7187BE24368"></a></p>

<h5>1.2-5 <span class="Heading">Testing</span></h5>

<p>You should verify the success of the installation by running the test file. This is done by the following command and should return a similar output (the timings will differ depending on the speed of your machine):</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">ReadPackage("smallsemi""tst/testall.g");</span>
Architecture: aarch64-apple-darwin21.3.0-default64-kv8

testing: smallsemi/tst/coclass.tst
    2350 ms (323 ms GC) and 471MB allocated for coclass.tst
testing: smallsemi/tst/enums.tst
    3452 ms (923 ms GC) and 2.69GB allocated for enums.tst
testing: smallsemi/tst/greensstar.tst
     173 ms (109 ms GC) and 90.1MB allocated for greensstar.tst
testing: smallsemi/tst/properties.tst
     574 ms (233 ms GC) and 213MB allocated for properties.tst
testing: smallsemi/tst/small.tst
     322 ms (201 ms GC) and 174MB allocated for small.tst
testing: smallsemi/tst/smallsemi01.tst
     323 ms (56 ms GC) and 128MB allocated for smallsemi01.tst
testing: smallsemi/tst/smallsemi02.tst
    2079 ms (587 ms GC) and 1.23GB allocated for smallsemi02.tst
-----------------------------------
total      9273 ms (2432 ms GC) and 4.98GB allocated
              0 failures in 7 files

#I  No errors detected while testing

</pre></div>

<p><a id="X7B3500B984306465" name="X7B3500B984306465"></a></p>

<h5>1.2-6 <span class="Heading">Customizing</span></h5>

<p>If you are using <strong class="pkg">Smallsemi</strong> regularly you might want to put the command <code class="code">LoadPackage("smallsemi");</code> into your <code class="file">.gaprc</code> file; see <a href="../../../doc/ref/chap3_mj.html#X7FD66F977A3B02DF"><span class="RefLink">Reference: The gap.ini and gaprc files</span></a>. Another option is to save a workspace after loading <strong class="pkg">Smallsemi</strong> and executing the following commands</p>


<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">SmallSemigroup(7, 1);; MOREDATA2TO8;;</span>
#I  smallsemi: loading data for semigroups of size 7.
#I  smallsemi: loading data for semigroup properties. Please be patient.
<span class="GAPprompt">gap></span> <span class="GAPinput">SaveWorkspace("<filename for the workspace>");</span>
</pre></div>

<p>Doing this will mean that it is not necessary to load the data from the library every time you start a new <strong class="pkg">GAP</strong> session; see <a href="../../../doc/ref/chap3_mj.html#X7CB282757ACB1C09"><span class="RefLink">Reference: Saving and Loading a Workspace</span></a>.</p>

<p>The size of the file containing the saved workspace will be around 76 MB. Loading this workspace is much quicker than starting a new <strong class="pkg">GAP</strong> session and all the data for semigroups of orders 1 through 7 is immediately available. (If you are working under Unix you can make use of the functionality mentioned in Subsection <a href="chap1_mj.html#X87E4E0377BF1EAC6"><span class="RefLink">1.1-3</span></a> and compress the workspace with gzip to roughly 10 MB.)</p>


<div class="chlinkprevnextbot"> <a href="chap0_mj.html">[Top of Book]</a>   <a href="chap0_mj.html#contents">[Contents]</a>    <a href="chap0_mj.html">[Previous Chapter]</a>    <a href="chap2_mj.html">[Next Chapter]</a>   </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="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>

100%


¤ Dauer der Verarbeitung: 0.17 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.