Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 91213ddcfbe7f54821d42c2d9e091326 > files > 2074

gap-system-packages-4.4.12-5mdv2010.0.i586.rpm

<?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>
<title>GAP (NumericalSgps) - Chapter 3: 
                Basic operations with numerical semigroups
            </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" />
</head>
<body>


<div class="chlinktop"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a>  <a href="chap1.html">1</a>  <a href="chap2.html">2</a>  <a href="chap3.html">3</a>  <a href="chap4.html">4</a>  <a href="chap5.html">5</a>  <a href="chap6.html">6</a>  <a href="chap7.html">7</a>  <a href="chap8.html">8</a>  <a href="chap9.html">9</a>  <a href="chapA.html">A</a>  <a href="chapB.html">B</a>  <a href="chapC.html">C</a>  <a href="chapBib.html">Bib</a>  <a href="chapInd.html">Ind</a>  </div>

<div class="chlinkprevnexttop">&nbsp;<a href="chap0.html">Top of Book</a>&nbsp;  &nbsp;<a href="chap2.html">Previous Chapter</a>&nbsp;  &nbsp;<a href="chap4.html">Next Chapter</a>&nbsp;  </div>

<p><a id="X7A9D13C778697F6C" name="X7A9D13C778697F6C"></a></p>
<div class="ChapSects"><a href="chap3.html#X7A9D13C778697F6C">3 <span class="Heading">
                Basic operations with numerical semigroups
            </span></a>
<div class="ContSect"><span class="nocss">&nbsp;</span><a href="chap3.html#X7F15FEA980D637AF">3.1 <span class="Heading">
                    The definitions
                </span></a>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap3.html#X842721EF8145C3D3">3.1-1 MultiplicityOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap3.html#X7A3177E779C49D13">3.1-2 GeneratorsOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap3.html#X79D6E4727B612B54">3.1-3 SmallElementsOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap3.html#X7F0EDFA77F929120">3.1-4 FirstElementsOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap3.html#X86C699F2800F9ED0">3.1-5 AperyListOfNumericalSemigroupWRTElement</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap3.html#X85C89A6B81A07061">3.1-6 DrawAperyListOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap3.html#X8022CC477E9BF678">3.1-7 AperyListOfNumericalSemigroupAsGraph</a></span>
</div>
<div class="ContSect"><span class="nocss">&nbsp;</span><a href="chap3.html#X7F97E0127A1D2835">3.2 <span class="Heading">Frobenius Number</span></a>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap3.html#X7828CD2B83E380FA">3.2-1 FrobeniusNumberOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap3.html#X7B7DFAB2834B2B36">3.2-2 FrobeniusNumber</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap3.html#X829A9C517A83FFD5">3.2-3 PseudoFrobeniusOfNumericalSemigroup</a></span>
</div>
<div class="ContSect"><span class="nocss">&nbsp;</span><a href="chap3.html#X787FE6F180C6291F">3.3 <span class="Heading">Gaps</span></a>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap3.html#X7B1BEC5786C66244">3.3-1 GapsOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap3.html#X81EC33E978C73FEA">3.3-2 FundamentalGapsOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap3.html#X7E373952877AC30A">3.3-3 SpecialGapsOfNumericalSemigroup</a></span>
</div>
</div>

<h3>3 <span class="Heading">
                Basic operations with numerical semigroups
            </span></h3>

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

<h4>3.1 <span class="Heading">
                    The definitions
                </span></h4>

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

<h5>3.1-1 MultiplicityOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; MultiplicityOfNumericalSemigroup</code>( <var class="Arg">NS</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p><var class="Arg">NS</var> is a numerical semigroup. Returns the multiplicity of <var class="Arg">NS</var>, which is the smallest positive integer belonging to <var class="Arg">NS</var>.</p>


<table class="example">
<tr><td><pre>
gap&gt; S := NumericalSemigroup("modular", 7,53);
&lt;Modular numerical semigroup satisfying 7x mod 53 &lt;= x &gt;
gap&gt; MultiplicityOfNumericalSemigroup(S);
8
</pre></td></tr></table>

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

<h5>3.1-2 GeneratorsOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; GeneratorsOfNumericalSemigroup</code>( <var class="Arg">S</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">&gt; GeneratorsOfNumericalSemigroupNC</code>( <var class="Arg">S</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">&gt; MinimalGeneratingSystemOfNumericalSemigroup</code>( <var class="Arg">S</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p><var class="Arg">S</var> is a numerical semigroup. <code class="code">GeneratorsOfNumericalSemigroup</code> returns a set of generators of <code class="code">S</code>, which may not be minimal. <code class="code">GeneratorsOfNumericalSemigroupNC</code> returns the set of generators recorded in <code class="code">S!.generators</code>, which may not be minimal. <code class="code">MinimalGeneratingSystemOfNumericalSemigroup</code> returns the minimal set of generators of <code class="code">S</code>.</p>


<table class="example">
<tr><td><pre>
gap&gt; S := NumericalSemigroup("modular", 5,53);
&lt;Modular numerical semigroup satisfying 5x mod 53 &lt;= x &gt;
gap&gt; GeneratorsOfNumericalSemigroup(S);
[ 11, 12, 13, 32, 53 ]
gap&gt; S := NumericalSemigroup(3, 5, 53);
&lt;Numerical semigroup with 3 generators&gt;
gap&gt; GeneratorsOfNumericalSemigroup(S);
[ 3, 5, 53 ]
gap&gt; MinimalGeneratingSystemOfNumericalSemigroup(S);
[ 3, 5 ]
</pre></td></tr></table>

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

<h5>3.1-3 SmallElementsOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; SmallElementsOfNumericalSemigroup</code>( <var class="Arg">NS</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p><code class="code">NS</code> is a numerical semigroup. It returns the list of small elements of <code class="code">NS</code>. Of course, the time consumed to return a result may depend on the way the semigroup is given.</p>


<table class="example">
<tr><td><pre>
gap&gt; SmallElementsOfNumericalSemigroup(NumericalSemigroup(3,5,7));
[ 0, 3, 5 ]
</pre></td></tr></table>

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

<h5>3.1-4 FirstElementsOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; FirstElementsOfNumericalSemigroup</code>( <var class="Arg">n, NS</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><code class="code">NS</code> is a numerical semigroup. It returns the list with the first <var class="Arg">n</var> elements of <code class="code">NS</code>.</p>


<table class="example">
<tr><td><pre>
gap&gt; FirstElementsOfNumericalSemigroup(2,NumericalSemigroup(3,5,7));
[ 0, 3 ]
gap&gt; FirstElementsOfNumericalSemigroup(10,NumericalSemigroup(3,5,7));
[ 0, 3, 5, 6, 7, 8, 9, 10, 11, 12 ]
</pre></td></tr></table>

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

<h5>3.1-5 AperyListOfNumericalSemigroupWRTElement</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; AperyListOfNumericalSemigroupWRTElement</code>( <var class="Arg">S, m</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p><var class="Arg">S</var> is a numerical semigroup and <var class="Arg">m</var> is a positive element of <var class="Arg">S</var>. Computes the Apéry list of <var class="Arg">S</var> wrt <var class="Arg">m</var>. It contains for every iin {0,...,<var class="Arg">m</var>-1}, in the i+1th position, the smallest element in the semigroup congruent with i modulo <var class="Arg">m</var>.</p>


<table class="example">
<tr><td><pre>
gap&gt; S := NumericalSemigroup("modular", 5,53);
&lt;Modular numerical semigroup satisfying 5x mod 53 &lt;= x &gt;
gap&gt; AperyListOfNumericalSemigroupWRTElement(S,12);
[ 0, 13, 26, 39, 52, 53, 54, 43, 32, 33, 22, 11 ]
</pre></td></tr></table>

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

<h5>3.1-6 DrawAperyListOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; DrawAperyListOfNumericalSemigroup</code>( <var class="Arg">ap</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><var class="Arg">ap</var> is the Apéry list of a numerical semigroup. This function draws the graph (ap, E) where the edge u -&gt; v is in E iff v - u is in ap. To use this function, <code class="code">Graphviz</code> (<span class="URL"><a href="http://www.graphviz.org">http://www.graphviz.org</a></span>) should be installed and also <code class="code">Evince</code> (<span class="URL"><a href="http://www.gnome.org/projects/evince/">http://www.gnome.org/projects/evince/</a></span>) or <code class="code">ggv</code> (<span class="URL"><a href="http://directory.fsf.org/ggv.html">http://directory.fsf.org/ggv.html</a></span>).</p>

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

<h5>3.1-7 AperyListOfNumericalSemigroupAsGraph</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; AperyListOfNumericalSemigroupAsGraph</code>( <var class="Arg">ap</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><var class="Arg">ap</var> is the Apéry list of a numerical semigroup. This function returns the adjacency list of the graph (ap, E) where the edge u -&gt; v is in E iff v - u is in ap. The 0 is ignored.</p>


<table class="example">
<tr><td><pre>
gap&gt; s:=NumericalSemigroup(3,7);
&lt;Numerical semigroup with 2 generators&gt;
gap&gt; AperyListOfNumericalSemigroupWRTElement(s,10);
[ 0, 21, 12, 3, 14, 15, 6, 7, 18, 9 ]
gap&gt; AperyListOfNumericalSemigroupAsGraph(last);
[ ,, [ 3, 6, 9, 12, 15, 18, 21 ],,, [ 6, 9, 12, 15, 18, 21 ],
[ 7, 14, 21 ],, [ 9, 12, 15, 18, 21 ],,, [ 12, 15, 18, 21 ],,
[ 14, 21 ], [ 15, 18, 21 ],,, [ 18, 21 ],,, [ 21 ] ]
</pre></td></tr></table>

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

<h4>3.2 <span class="Heading">Frobenius Number</span></h4>

<p>The largest nonnegative integer not belonging to a numerical semigroup S is the <em>Frobenius number</em> of S. If S is the set of nonnegative integers, then clearly its Frobenius number is -1, otherwise its Frobenius number coincides with the maximum of the gaps (or fundamental gaps) of S. An integer z is a <em>pseudo-Frobenius number</em> of S if z+S\{0}subseteq S.</p>

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

<h5>3.2-1 FrobeniusNumberOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; FrobeniusNumberOfNumericalSemigroup</code>( <var class="Arg">NS</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p><code class="code">NS</code> is a numerical semigroup. It returns the Frobenius number of <code class="code">NS</code>. Of course, the time consumed to return a result may depend on the way the semigroup is given or on the knowledge already produced on the semigroup.</p>


<table class="example">
<tr><td><pre>
gap&gt; FrobeniusNumberOfNumericalSemigroup(NumericalSemigroup(3,5,7));
4
</pre></td></tr></table>

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

<h5>3.2-2 FrobeniusNumber</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; FrobeniusNumber</code>( <var class="Arg">NS</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>This is just a synonym of <code class="func">FrobeniusNumberOfNumericalSemigroup</code> (<a href="chap3.html#X7828CD2B83E380FA"><b>3.2-1</b></a>).</p>

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

<h5>3.2-3 PseudoFrobeniusOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; PseudoFrobeniusOfNumericalSemigroup</code>( <var class="Arg">S</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p><code class="code">S</code> is a numerical semigroup. It returns set of pseudo-Frobenius numbers of <var class="Arg">S</var>.</p>


<table class="example">
<tr><td><pre>
gap&gt; S := NumericalSemigroup("modular", 5,53);
&lt;Modular numerical semigroup satisfying 5x mod 53 &lt;= x &gt;
gap&gt; PseudoFrobeniusOfNumericalSemigroup(S);
[ 21, 40, 41, 42 ]
</pre></td></tr></table>

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

<h4>3.3 <span class="Heading">Gaps</span></h4>

<p>A <em>gap</em> of a numerical semigroup S is a nonnegative integer not belonging to S. The <em>fundamental gaps</em> of S are those gaps that are maximal with respect to the partial order induced by division in N. The <em>special gaps</em> of a numerical semigroup S, are those fundamental gaps such that if they are added to the given numerical semigroup, then the resulting set is again a numerical semigroup.</p>

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

<h5>3.3-1 GapsOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; GapsOfNumericalSemigroup</code>( <var class="Arg">NS</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p><code class="code">NS</code> is a numerical semigroup. It returns the set of gaps of <code class="code">NS</code>.</p>


<table class="example">
<tr><td><pre>
gap&gt; GapsOfNumericalSemigroup(NumericalSemigroup(3,5,7));
[ 1, 2, 4 ]
</pre></td></tr></table>

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

<h5>3.3-2 FundamentalGapsOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; FundamentalGapsOfNumericalSemigroup</code>( <var class="Arg">S</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p><code class="code">S</code> is a numerical semigroup. It returns the set of fundamental gaps of <var class="Arg">S</var>.</p>


<table class="example">
<tr><td><pre>
gap&gt; S := NumericalSemigroup("modular", 5,53);
&lt;Modular numerical semigroup satisfying 5x mod 53 &lt;= x &gt;
gap&gt; FundamentalGapsOfNumericalSemigroup(S);
[ 16, 17, 18, 19, 27, 28, 29, 30, 31, 40, 41, 42 ]
gap&gt; GapsOfNumericalSemigroup(S);
[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 15, 16, 17, 18, 19, 20, 21, 27, 28, 29,
  30, 31, 40, 41, 42 ]
</pre></td></tr></table>

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

<h5>3.3-3 SpecialGapsOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; SpecialGapsOfNumericalSemigroup</code>( <var class="Arg">S</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p><code class="code">S</code> is a numerical semigroup. It returns the special gaps of <var class="Arg">S</var>.</p>


<table class="example">
<tr><td><pre>
gap&gt; S := NumericalSemigroup("modular", 5,53);
&lt;Modular numerical semigroup satisfying 5x mod 53 &lt;= x &gt;
gap&gt; SpecialGapsOfNumericalSemigroup(S);
[ 40, 41, 42 ]
</pre></td></tr></table>


<div class="chlinkprevnextbot">&nbsp;<a href="chap0.html">Top of Book</a>&nbsp;  &nbsp;<a href="chap2.html">Previous Chapter</a>&nbsp;  &nbsp;<a href="chap4.html">Next Chapter</a>&nbsp;  </div>


<div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0.html">Top</a>  <a href="chap1.html">1</a>  <a href="chap2.html">2</a>  <a href="chap3.html">3</a>  <a href="chap4.html">4</a>  <a href="chap5.html">5</a>  <a href="chap6.html">6</a>  <a href="chap7.html">7</a>  <a href="chap8.html">8</a>  <a href="chap9.html">9</a>  <a href="chapA.html">A</a>  <a href="chapB.html">B</a>  <a href="chapC.html">C</a>  <a href="chapBib.html">Bib</a>  <a href="chapInd.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>