Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 5e1854624d3bc613bdd0dd13d1ef9ac7 > files > 2474

gap-system-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 7: 
                Ideals of 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="chap6.html">Previous Chapter</a>&nbsp;  &nbsp;<a href="chap8.html">Next Chapter</a>&nbsp;  </div>

<p><a id="X83C2F0CF825B3869" name="X83C2F0CF825B3869"></a></p>
<div class="ChapSects"><a href="chap7.html#X83C2F0CF825B3869">7 <span class="Heading">
                Ideals of numerical semigroups
            </span></a>
<div class="ContSect"><span class="nocss">&nbsp;</span><a href="chap7.html#X83C2F0CF825B3869">7.1 <span class="Heading">
                    Ideals of numerical semigroups
                </span></a>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap7.html#X78E5F44E81485C17">7.1-1 IdealOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap7.html#X85BD6FAD7EA3B5DD">7.1-2 IsIdealOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap7.html#X7CF1EA687B137C3D">7.1-3 MinimalGeneratingSystemOfIdealOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap7.html#X86A9200283D1B32B">7.1-4 GeneratorsOfIdealOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap7.html#X81E445518529C175">7.1-5 AmbientNumericalSemigroupOfIdeal</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap7.html#X7BDEBFCB7A1DAFC7">7.1-6 SmallElementsOfIdealOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap7.html#X87508E7A7CFB0B20">7.1-7 BelongsToIdealOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap7.html#X7B39610D7AD5A654">7.1-8 SumIdealsOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap7.html#X857FE5C57EE98F5E">7.1-9 MultipleOfIdealOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap7.html#X78743CE2845B5860">7.1-10 SubtractIdealsOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap7.html#X7C2DAB737ECE7D34">7.1-11 DifferenceOfIdealsOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap7.html#X803921F97BEDCA88">7.1-12 TranslationOfIdealOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap7.html#X82156F18807B00BF">7.1-13 HilbertFunctionOfIdealOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap7.html#X7C00A86F83024003">7.1-14 BlowUpIdealOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap7.html#X82C2BF5E840C815D">7.1-15 ReductionNumberIdealNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap7.html#X829EACA378BE3665">7.1-16 MaximalIdealOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap7.html#X84B5121C7EEECB30">7.1-17 BlowUpOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap7.html#X7B29CDA7783FC0D2">7.1-18 MicroInvariantsOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap7.html#X7876199778D6B320">7.1-19 IsGradedAssociatedRingNumericalSemigroupCM</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap7.html#X835890A078F5D6DC">7.1-20 CanonicalIdealOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap7.html#X85CC100F78608D5E">7.1-21 IntersectionIdealsOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss">&nbsp;&nbsp;</span><a href="chap7.html#X7A04B8887F493733">7.1-22 IsMonomialNumericalSemigroup</a></span>
</div>
</div>

<h3>7 <span class="Heading">
                Ideals of numerical semigroups
            </span></h3>

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

<h4>7.1 <span class="Heading">
                    Ideals of numerical semigroups
                </span></h4>

<p>Let S be a numerical semigroup. A set I of integers is an <em>ideal relative</em> to a numerical semigroup S provided that I+Ssubseteq I and that there exists din S such that d+Isubseteq S.</p>

<p>If {i_1,...,i_k} is a subset of Z, then the set I={i_1,...,i_k}+S=bigcup_n=1^k i_n+S is an ideal relative to S, and {i_1,..., i_k} is a system of generators of I. A system of generators M is minimal if no proper subset of M generates the same ideal. Usually, ideals are specified by means of its generators and the ambient numerical semigroup to which they are ideals (for more information see for instance <a href="chapBib.html#biBBDF97">[BF97]</a>).</p>

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

<h5>7.1-1 IdealOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; IdealOfNumericalSemigroup</code>( <var class="Arg">l, S</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><var class="Arg">S</var> is a numerical semigroup and <var class="Arg">l</var> a list of integers.</p>

<p>The output is the ideal of <var class="Arg">S</var> generated by <var class="Arg">l</var></p>

<p>There are several shortcuts for this function, as shown in the example.</p>


<table class="example">
<tr><td><pre>
gap&gt; IdealOfNumericalSemigroup([3,5],NumericalSemigroup(9,11));
&lt;Ideal of numerical semigroup&gt;
gap&gt; [3,5]+NumericalSemigroup(9,11);
&lt;Ideal of numerical semigroup&gt;
gap&gt; last=last2;
true
gap&gt; 3+NumericalSemigroup(5,9);
&lt;Ideal of numerical semigroup&gt;

                        </pre></td></tr></table>

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

<h5>7.1-2 IsIdealOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; IsIdealOfNumericalSemigroup</code>( <var class="Arg">Obj</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Tests if the object <var class="Arg">Obj</var> is an ideal of a numerical semigroup.</p>


<table class="example">
<tr><td><pre>
gap&gt; I:=[1..7]+NumericalSemigroup(7,19);
&lt;Ideal of numerical semigroup&gt;
gap&gt; IsIdealOfNumericalSemigroup(I);
true
gap&gt; IsIdealOfNumericalSemigroup(2);
false

                        </pre></td></tr></table>

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

<h5>7.1-3 MinimalGeneratingSystemOfIdealOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; MinimalGeneratingSystemOfIdealOfNumericalSemigroup</code>( <var class="Arg">I</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><var class="Arg">I</var> is an ideal of a numerical semigroup.</p>

<p>The output is the minimal system of generators of <var class="Arg">I</var>.</p>


<table class="example">
<tr><td><pre>
gap&gt; I:=[3,5,9]+NumericalSemigroup(2,11);
&lt;Ideal of numerical semigroup&gt;
gap&gt; MinimalGeneratingSystemOfIdealOfNumericalSemigroup(I);
[ 3 ]

                        </pre></td></tr></table>

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

<h5>7.1-4 GeneratorsOfIdealOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; GeneratorsOfIdealOfNumericalSemigroup</code>( <var class="Arg">I</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; GeneratorsOfIdealOfNumericalSemigroupNC</code>( <var class="Arg">I</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><var class="Arg">I</var> is an ideal of a numerical semigroup.</p>

<p>The output of <code class="code">GeneratorsOfIdealOfNumericalSemigroup</code> is a system of generators of the ideal. If the minimal system of generators is known, then it is used as output. <code class="code">GeneratorsOfIdealOfNumericalSemigroupNC</code> always returns the set of generators stored in <var class="Arg">I!.generators</var>.</p>


<table class="example">
<tr><td><pre>
gap&gt; I:=[3,5,9]+NumericalSemigroup(2,11);
&lt;Ideal of numerical semigroup&gt;
gap&gt; GeneratorsOfIdealOfNumericalSemigroup(I);
[ 3, 5, 9 ]
gap&gt; MinimalGeneratingSystemOfIdealOfNumericalSemigroup(I);
[ 3 ]
gap&gt; GeneratorsOfIdealOfNumericalSemigroup(I);
[ 3 ]
gap&gt; GeneratorsOfIdealOfNumericalSemigroupNC(I);
[ 3, 5, 9 ]

                        </pre></td></tr></table>

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

<h5>7.1-5 AmbientNumericalSemigroupOfIdeal</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; AmbientNumericalSemigroupOfIdeal</code>( <var class="Arg">I</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><var class="Arg">I</var> is an ideal of a numerical semigroup, say S.</p>

<p>The output is S.</p>


<table class="example">
<tr><td><pre>
gap&gt; I:=[3,5,9]+NumericalSemigroup(2,11);
&lt;Ideal of numerical semigroup&gt;
gap&gt; AmbientNumericalSemigroupOfIdeal(I);
&lt;Numerical semigroup with 2 generators&gt;

                        </pre></td></tr></table>

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

<h5>7.1-6 SmallElementsOfIdealOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; SmallElementsOfIdealOfNumericalSemigroup</code>( <var class="Arg">I</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><var class="Arg">I</var> is an ideal of a numerical semigroup.</p>

<p>The output is a list with the elements in <var class="Arg">I</var> that are less than or equal to the greatest integer not belonging to the ideal plus one.</p>


<table class="example">
<tr><td><pre>
gap&gt; I:=[3,5,9]+NumericalSemigroup(2,11);
&lt;Ideal of numerical semigroup&gt;
gap&gt; SmallElementsOfIdealOfNumericalSemigroup(I);
[ 3, 5, 7, 9, 11, 13 ]
gap&gt; J:=[2,11]+NumericalSemigroup(2,11);
&lt;Ideal of numerical semigroup&gt;
gap&gt; SmallElementsOfIdealOfNumericalSemigroup(J);
[ 2, 4, 6, 8, 10 ]

                        </pre></td></tr></table>

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

<h5>7.1-7 BelongsToIdealOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; BelongsToIdealOfNumericalSemigroup</code>( <var class="Arg">n, I</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><var class="Arg">I</var> is an ideal of a numerical semigroup, <var class="Arg">n</var> is an integer.</p>

<p>The output is true if <var class="Arg">n</var> belongs to <var class="Arg">I</var>.</p>

<p><var class="Arg"> n in I</var> can be used for short.</p>


<table class="example">
<tr><td><pre>
gap&gt; J:=[2,11]+NumericalSemigroup(2,11);
&lt;Ideal of numerical semigroup&gt;
gap&gt; BelongsToIdealOfNumericalSemigroup(9,J);
false
gap&gt; 9 in J;
false
gap&gt; BelongsToIdealOfNumericalSemigroup(10,J);
true
gap&gt; 10 in J;
true

                        </pre></td></tr></table>

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

<h5>7.1-8 SumIdealsOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; SumIdealsOfNumericalSemigroup</code>( <var class="Arg">I, J</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><var class="Arg">I, J</var> are ideals of a numerical semigroup.</p>

<p>The output is the sum of both ideals { i+j | iin <var class="Arg">I</var>, jin <var class="Arg">J</var>}.</p>

<p><var class="Arg">I + J</var> is a synonym of this function.</p>


<table class="example">
<tr><td><pre>
gap&gt; I:=[3,5,9]+NumericalSemigroup(2,11);
&lt;Ideal of numerical semigroup&gt;
gap&gt; J:=[2,11]+NumericalSemigroup(2,11);
&lt;Ideal of numerical semigroup&gt;
gap&gt; I+J;
&lt;Ideal of numerical semigroup&gt;
gap&gt; MinimalGeneratingSystemOfIdealOfNumericalSemigroup(last);
[ 5, 14 ]
gap&gt; SumIdealsOfNumericalSemigroup(I,J);
&lt;Ideal of numerical semigroup&gt;
gap&gt; MinimalGeneratingSystemOfIdealOfNumericalSemigroup(last);
[ 5, 14 ]

                        </pre></td></tr></table>

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

<h5>7.1-9 MultipleOfIdealOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; MultipleOfIdealOfNumericalSemigroup</code>( <var class="Arg">n, I</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><var class="Arg">I</var> is an ideal of a numerical semigroup, <var class="Arg">n</var> is a non negative integer.</p>

<p>The output is the ideal <var class="Arg">I</var>+cdots+<var class="Arg">I</var> (<var class="Arg">n</var> times).</p>

<p><var class="Arg"> n * I</var> can be used for short.</p>


<table class="example">
<tr><td><pre>
gap&gt; I:=[0,1]+NumericalSemigroup(3,5,7);
&lt;Ideal of numerical semigroup&gt;
gap&gt; MinimalGeneratingSystemOfIdealOfNumericalSemigroup(2*I);
[ 0, 1, 2 ]

                        </pre></td></tr></table>

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

<h5>7.1-10 SubtractIdealsOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; SubtractIdealsOfNumericalSemigroup</code>( <var class="Arg">I, J</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><var class="Arg">I, J</var> are ideals of a numerical semigroup.</p>

<p>The output is the ideal { zin Z | z+<var class="Arg">J</var>subseteq <var class="Arg">I</var>}.</p>

<p><var class="Arg">I - J</var> is a synonym of this function. The following example appears in <a href="chapBib.html#biBHS04">[HS04a]</a>.</p>


<table class="example">
<tr><td><pre>
gap&gt; S:=NumericalSemigroup(14, 15, 20, 21, 25);
&lt;Numerical semigroup with 5 generators&gt;
gap&gt; I:=[0,1]+S;
&lt;Ideal of numerical semigroup&gt;
gap&gt; II:=(0+S)-I;
&lt;Ideal of numerical semigroup&gt;
gap&gt; MinimalGeneratingSystemOfIdealOfNumericalSemigroup(I);
[ 0, 1 ]
gap&gt; MinimalGeneratingSystemOfIdealOfNumericalSemigroup(II);
[ 14, 20 ]
gap&gt; MinimalGeneratingSystemOfIdealOfNumericalSemigroup(I+II);
[ 14, 15, 20, 21 ]

                        </pre></td></tr></table>

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

<h5>7.1-11 DifferenceOfIdealsOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; DifferenceOfIdealsOfNumericalSemigroup</code>( <var class="Arg">I, J</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><var class="Arg">I, J</var> are ideals of a numerical semigroup. <var class="Arg">J</var> must be contained in <var class="Arg">I</var>.</p>

<p>The output is the set <var class="Arg">I</var>\ <var class="Arg">J</var>.</p>


<table class="example">
<tr><td><pre>
gap&gt; S:=NumericalSemigroup(14, 15, 20, 21, 25);
&lt;Numerical semigroup with 5 generators&gt;
gap&gt; I:=[0,1]+S;
&lt;Ideal of numerical semigroup&gt;
gap&gt; 2*I-2*I;
&lt;Ideal of numerical semigroup&gt;
gap&gt; I-I;
&lt;Ideal of numerical semigroup&gt;
gap&gt; DifferenceOfIdealsOfNumericalSemigroup(last2,last);
[ 26, 27, 37, 38 ]

                        </pre></td></tr></table>

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

<h5>7.1-12 TranslationOfIdealOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; TranslationOfIdealOfNumericalSemigroup</code>( <var class="Arg">k, I</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Given an ideal <var class="Arg">I</var> of a numerical semigroup S and an integer <var class="Arg">k</var> returns an ideal of the numerical semigroup S generated by {i_1+k,...,i_n+k} where {i_1,...,i_n} is the system of generators of <var class="Arg">I</var>.</p>

<p>As a synonym to <code class="code">TranslationOfIdealOfNumericalSemigroup(k, I)</code> the expression <code class="code">k + I</code> may be used.</p>


<table class="example">
<tr><td><pre>
gap&gt; s:=NumericalSemigroup(13,23);
&lt;Numerical semigroup with 2 generators&gt;
gap&gt; l:=List([1..6], _ -&gt; Random([8..34]));
[ 22, 29, 34, 25, 10, 12 ]
gap&gt; I:=IdealOfNumericalSemigroup(l, s);
&lt;Ideal of numerical semigroup&gt;
gap&gt; It:=TranslationOfIdealOfNumericalSemigroup(7,I);
&lt;Ideal of numerical semigroup&gt;
gap&gt; It2:=7+I;
&lt;Ideal of numerical semigroup&gt;
gap&gt; It2=It;
true

										</pre></td></tr></table>

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

<h5>7.1-13 HilbertFunctionOfIdealOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; HilbertFunctionOfIdealOfNumericalSemigroup</code>( <var class="Arg">n, I</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><var class="Arg">I</var> is an ideal of a numerical semigroup, <var class="Arg">n</var> is a non negative integer. <var class="Arg">I</var> must be contained in its ambient semigroup.</p>

<p>The output is the cardinality of the set <var class="Arg">n</var><var class="Arg">I</var>\ (<var class="Arg">n</var>+1)<var class="Arg">I</var>.</p>


<table class="example">
<tr><td><pre>
gap&gt; I:=[6,9,11]+NumericalSemigroup(6,9,11);;
gap&gt; List([1..7],n-&gt;HilbertFunctionOfIdealOfNumericalSemigroup(n,I));
[ 3, 5, 6, 6, 6, 6, 6 ]

                        </pre></td></tr></table>

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

<h5>7.1-14 BlowUpIdealOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; BlowUpIdealOfNumericalSemigroup</code>( <var class="Arg">I</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><var class="Arg">I</var> is an ideal of a numerical semigroup.</p>

<p>The output is the ideal bigcup_n&gt;= 0 n<var class="Arg">I</var>-n<var class="Arg">I</var>.</p>


<table class="example">
<tr><td><pre>
gap&gt; I:=[0,2]+NumericalSemigroup(6,9,11);;
gap&gt; BlowUpIdealOfNumericalSemigroup(I);;
gap&gt; SmallElementsOfIdealOfNumericalSemigroup(last);
[ 0, 2, 4, 6, 8 ]

                        </pre></td></tr></table>

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

<h5>7.1-15 ReductionNumberIdealNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; ReductionNumberIdealNumericalSemigroup</code>( <var class="Arg">I</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><var class="Arg">I</var> is an ideal of a numerical semigroup.</p>

<p>The output is the least integer such that n <var class="Arg">I</var> + i=(n+1)<var class="Arg">I</var>, where i=min(<var class="Arg">I</var>).</p>


<table class="example">
<tr><td><pre>
gap&gt; I:=[0,2]+NumericalSemigroup(6,9,11);;
gap&gt; ReductionNumberIdealNumericalSemigroup(I);
2

                        </pre></td></tr></table>

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

<h5>7.1-16 MaximalIdealOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; MaximalIdealOfNumericalSemigroup</code>( <var class="Arg">S</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns the maximal ideal of the numerical semigroup <var class="Arg">S</var>.</p>


<table class="example">
<tr><td><pre>
gap&gt; MaximalIdealOfNumericalSemigroup(NumericalSemigroup(3,7));
&lt;Ideal of numerical semigroup&gt;

                        </pre></td></tr></table>

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

<h5>7.1-17 BlowUpOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; BlowUpOfNumericalSemigroup</code>( <var class="Arg">S</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>If <var class="Arg">M</var> is the maximal ideal of the numerical semigroup, then the output is the numerical semigroup bigcup_n&gt;= 0 n<var class="Arg">M</var>-n<var class="Arg">M</var>.</p>


<table class="example">
<tr><td><pre>
gap&gt; s:=NumericalSemigroup(30, 35, 42, 47, 148, 153, 157, 169, 181, 193);
&lt;Numerical semigroup with 10 generators&gt;
gap&gt; BlowUpOfNumericalSemigroup(s);
&lt;Numerical semigroup with 10 generators&gt;
gap&gt; SmallElementsOfNumericalSemigroup(last);
[ 0, 5, 10, 12, 15, 17, 20, 22, 24, 25, 27, 29, 30, 32, 34, 35, 36, 37, 39,
  40, 41, 42, 44 ]
gap&gt; m:=MaximalIdealOfNumericalSemigroup(s);
&lt;Ideal of numerical semigroup&gt;
gap&gt; BlowUpIdealOfNumericalSemigroup(m);
&lt;Ideal of numerical semigroup&gt;
gap&gt; SmallElementsOfIdealOfNumericalSemigroup(last);
[ 0, 5, 10, 12, 15, 17, 20, 22, 24, 25, 27, 29, 30, 32, 34, 35, 36, 37, 39,
  40, 41, 42, 44 ]

                        </pre></td></tr></table>

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

<h5>7.1-18 MicroInvariantsOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; MicroInvariantsOfNumericalSemigroup</code>( <var class="Arg">S</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns the microinvariants of the numerical semigroup <var class="Arg">S</var> defined in <a href="chapBib.html#biBE01">[Eli01]</a>. For their computation we have used the formula given in <a href="chapBib.html#biBBF06">[BF06]</a>. The Ap\'ery set of <var class="Arg">S</var> and its blow up are involved in this computation.</p>


<table class="example">
<tr><td><pre>
gap&gt; s:=NumericalSemigroup(30, 35, 42, 47, 148, 153, 157, 169, 181, 193);
&lt;Numerical semigroup with 10 generators&gt;
gap&gt; bu:=BlowUpOfNumericalSemigroup(s);
&lt;Numerical semigroup with 10 generators&gt;
gap&gt; ap:=AperyListOfNumericalSemigroupWRTElement(s,30);;
gap&gt; apbu:=AperyListOfNumericalSemigroupWRTElement(bu,30);;
gap&gt; (ap-apbu)/30;
[ 0, 4, 4, 3, 2, 1, 3, 4, 4, 3, 2, 3, 1, 4, 4, 3, 3, 1, 4, 4, 4, 3, 2, 4, 2,
  5, 4, 3, 3, 2 ]
gap&gt; MicroInvariantsOfNumericalSemigroup(s)=last;
true

                        </pre></td></tr></table>

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

<h5>7.1-19 IsGradedAssociatedRingNumericalSemigroupCM</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; IsGradedAssociatedRingNumericalSemigroupCM</code>( <var class="Arg">S</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns true if the graded ring associated to K[[<var class="Arg">S</var>]] is Cohen-Macaulay, and false otherwise. This test is the implementation of the algorithm given in <a href="chapBib.html#biBBF06">[BF06]</a>.</p>


<table class="example">
<tr><td><pre>
gap&gt; s:=NumericalSemigroup(30, 35, 42, 47, 148, 153, 157, 169, 181, 193);
&lt;Numerical semigroup with 10 generators&gt;
gap&gt; IsGradedAssociatedRingNumericalSemigroupCM(s);
false
gap&gt; MicroInvariantsOfNumericalSemigroup(s);
[ 0, 4, 4, 3, 2, 1, 3, 4, 4, 3, 2, 3, 1, 4, 4, 3, 3, 1, 4, 4, 4, 3, 2, 4, 2,
  5, 4, 3, 3, 2 ]
gap&gt; List(AperyListOfNumericalSemigroupWRTElement(s,30),
&gt; w-&gt;MaximumDegreeOfElementWRTNumericalSemigroup (w,s));
[ 0, 1, 4, 1, 2, 1, 3, 1, 4, 3, 2, 3, 1, 1, 4, 3, 3, 1, 4, 1, 4, 3, 2, 4, 2,
5, 4, 3, 1, 2 ]
gap&gt; last=last2;
false
gap&gt; s:=NumericalSemigroup(4,6,11);
&lt;Numerical semigroup with 3 generators&gt;
gap&gt; IsGradedAssociatedRingNumericalSemigroupCM(s);
true
gap&gt; MicroInvariantsOfNumericalSemigroup(s);
[ 0, 2, 1, 1 ]
gap&gt; List(AperyListOfNumericalSemigroupWRTElement(s,4),
&gt; w-&gt;MaximumDegreeOfElementWRTNumericalSemigroup(w,s));
[ 0, 2, 1, 1 ]

                        </pre></td></tr></table>

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

<h5>7.1-20 CanonicalIdealOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; CanonicalIdealOfNumericalSemigroup</code>( <var class="Arg">S</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Computes a canonical ideal of <var class="Arg">S</var> (<a href="chapBib.html#biBBF06">[BF06]</a>): { x in Z | g-x not in S}.</p>


<table class="example">
<tr><td><pre>
gap&gt; s:=NumericalSemigroup(4,6,11);
&lt;Numerical semigroup with 3 generators&gt;
gap&gt; m:=MaximalIdealOfNumericalSemigroup(s);
&lt;Ideal of numerical semigroup&gt;
gap&gt; c:=CanonicalIdealOfNumericalSemigroup(s);
&lt;Ideal of numerical semigroup&gt;
gap&gt; (m-c)-c=m;
true
gap&gt; id:=3+s;
&lt;Ideal of numerical semigroup&gt;
gap&gt; (id-c)-c=id;
true

                        </pre></td></tr></table>

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

<h5>7.1-21 IntersectionIdealsOfNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; IntersectionIdealsOfNumericalSemigroup</code>( <var class="Arg">I, J</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Given two ideals <var class="Arg">I</var> and <var class="Arg">J</var> of a numerical semigroup <var class="Arg">S</var> returns the ideal of the numerical semigroup <var class="Arg">S</var> which is the intersection of the ideals <var class="Arg">I</var> and <var class="Arg">J</var>.</p>


<table class="example">
<tr><td><pre>
gap&gt; i:=IdealOfNumericalSemigroup([75,89],s);
&lt;Ideal of numerical semigroup&gt;
gap&gt; j:=IdealOfNumericalSemigroup([115,289],s);
&lt;Ideal of numerical semigroup&gt;
gap&gt; IntersectionIdealsOfNumericalSemigroup(i,j);
&lt;Ideal of numerical semigroup&gt;

                        </pre></td></tr></table>

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

<h5>7.1-22 IsMonomialNumericalSemigroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&gt; IsMonomialNumericalSemigroup</code>( <var class="Arg">S</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><var class="Arg">S</var> is a numerical semigroup.</p>

<p>Tests whether <var class="Arg">S</var> a monomial numerical semigroup.</p>

<p>Let R a Noetherian ring such that K subseteq R subseteq K[[t]], K is a field of characteristic zero, the algebraic closure of R is K[[t]], and the conductor (R : K[[t]]) is not zero. If v : K((t))-&gt; Z is the natural valuation for K((t)), then v(R) is a numerical semigroup.</p>

<p>Let S be a numerical semigroup minimally generated by {n_1,...,n_e}. The semigroup ring associated to S is K[[S]]=K[[t^n_1,...,t^n_e]]. A ring is called a semigroup ring if it is of the form K[[S]], for some numerical semigroup S. We say that S is a monomial numerical semigroup if for any R as above with v(R)=S, R is a semigroup ring. See <a href="chapBib.html#biBVMic02">[VMi02]</a> for details.</p>


<table class="example">
<tr><td><pre>
gap&gt; IsMonomialNumericalSemigroup(NumericalSemigroup(4,6,7));
true
gap&gt; IsMonomialNumericalSemigroup(NumericalSemigroup(4,6,11));
false

                        </pre></td></tr></table>


<div class="chlinkprevnextbot">&nbsp;<a href="chap0.html">Top of Book</a>&nbsp;  &nbsp;<a href="chap6.html">Previous Chapter</a>&nbsp;  &nbsp;<a href="chap8.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>