<?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"> <a href="chap0.html">Top of Book</a> <a href="chap6.html">Previous Chapter</a> <a href="chap8.html">Next Chapter</a> </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"> </span><a href="chap7.html#X83C2F0CF825B3869">7.1 <span class="Heading"> Ideals of numerical semigroups </span></a> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X78E5F44E81485C17">7.1-1 IdealOfNumericalSemigroup</a></span> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X85BD6FAD7EA3B5DD">7.1-2 IsIdealOfNumericalSemigroup</a></span> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7CF1EA687B137C3D">7.1-3 MinimalGeneratingSystemOfIdealOfNumericalSemigroup</a></span> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X86A9200283D1B32B">7.1-4 GeneratorsOfIdealOfNumericalSemigroup</a></span> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X81E445518529C175">7.1-5 AmbientNumericalSemigroupOfIdeal</a></span> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7BDEBFCB7A1DAFC7">7.1-6 SmallElementsOfIdealOfNumericalSemigroup</a></span> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X87508E7A7CFB0B20">7.1-7 BelongsToIdealOfNumericalSemigroup</a></span> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7B39610D7AD5A654">7.1-8 SumIdealsOfNumericalSemigroup</a></span> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X857FE5C57EE98F5E">7.1-9 MultipleOfIdealOfNumericalSemigroup</a></span> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X78743CE2845B5860">7.1-10 SubtractIdealsOfNumericalSemigroup</a></span> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7C2DAB737ECE7D34">7.1-11 DifferenceOfIdealsOfNumericalSemigroup</a></span> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X803921F97BEDCA88">7.1-12 TranslationOfIdealOfNumericalSemigroup</a></span> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X82156F18807B00BF">7.1-13 HilbertFunctionOfIdealOfNumericalSemigroup</a></span> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7C00A86F83024003">7.1-14 BlowUpIdealOfNumericalSemigroup</a></span> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X82C2BF5E840C815D">7.1-15 ReductionNumberIdealNumericalSemigroup</a></span> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X829EACA378BE3665">7.1-16 MaximalIdealOfNumericalSemigroup</a></span> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X84B5121C7EEECB30">7.1-17 BlowUpOfNumericalSemigroup</a></span> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7B29CDA7783FC0D2">7.1-18 MicroInvariantsOfNumericalSemigroup</a></span> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7876199778D6B320">7.1-19 IsGradedAssociatedRingNumericalSemigroupCM</a></span> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X835890A078F5D6DC">7.1-20 CanonicalIdealOfNumericalSemigroup</a></span> <span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X85CC100F78608D5E">7.1-21 IntersectionIdealsOfNumericalSemigroup</a></span> <span class="ContSS"><br /><span class="nocss"> </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">> 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> IdealOfNumericalSemigroup([3,5],NumericalSemigroup(9,11)); <Ideal of numerical semigroup> gap> [3,5]+NumericalSemigroup(9,11); <Ideal of numerical semigroup> gap> last=last2; true gap> 3+NumericalSemigroup(5,9); <Ideal of numerical semigroup> </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">> 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> I:=[1..7]+NumericalSemigroup(7,19); <Ideal of numerical semigroup> gap> IsIdealOfNumericalSemigroup(I); true gap> 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">> 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> I:=[3,5,9]+NumericalSemigroup(2,11); <Ideal of numerical semigroup> gap> 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">> 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">> 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> I:=[3,5,9]+NumericalSemigroup(2,11); <Ideal of numerical semigroup> gap> GeneratorsOfIdealOfNumericalSemigroup(I); [ 3, 5, 9 ] gap> MinimalGeneratingSystemOfIdealOfNumericalSemigroup(I); [ 3 ] gap> GeneratorsOfIdealOfNumericalSemigroup(I); [ 3 ] gap> 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">> 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> I:=[3,5,9]+NumericalSemigroup(2,11); <Ideal of numerical semigroup> gap> AmbientNumericalSemigroupOfIdeal(I); <Numerical semigroup with 2 generators> </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">> 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> I:=[3,5,9]+NumericalSemigroup(2,11); <Ideal of numerical semigroup> gap> SmallElementsOfIdealOfNumericalSemigroup(I); [ 3, 5, 7, 9, 11, 13 ] gap> J:=[2,11]+NumericalSemigroup(2,11); <Ideal of numerical semigroup> gap> 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">> 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> J:=[2,11]+NumericalSemigroup(2,11); <Ideal of numerical semigroup> gap> BelongsToIdealOfNumericalSemigroup(9,J); false gap> 9 in J; false gap> BelongsToIdealOfNumericalSemigroup(10,J); true gap> 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">> 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> I:=[3,5,9]+NumericalSemigroup(2,11); <Ideal of numerical semigroup> gap> J:=[2,11]+NumericalSemigroup(2,11); <Ideal of numerical semigroup> gap> I+J; <Ideal of numerical semigroup> gap> MinimalGeneratingSystemOfIdealOfNumericalSemigroup(last); [ 5, 14 ] gap> SumIdealsOfNumericalSemigroup(I,J); <Ideal of numerical semigroup> gap> 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">> 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> I:=[0,1]+NumericalSemigroup(3,5,7); <Ideal of numerical semigroup> gap> 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">> 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> S:=NumericalSemigroup(14, 15, 20, 21, 25); <Numerical semigroup with 5 generators> gap> I:=[0,1]+S; <Ideal of numerical semigroup> gap> II:=(0+S)-I; <Ideal of numerical semigroup> gap> MinimalGeneratingSystemOfIdealOfNumericalSemigroup(I); [ 0, 1 ] gap> MinimalGeneratingSystemOfIdealOfNumericalSemigroup(II); [ 14, 20 ] gap> 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">> 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> S:=NumericalSemigroup(14, 15, 20, 21, 25); <Numerical semigroup with 5 generators> gap> I:=[0,1]+S; <Ideal of numerical semigroup> gap> 2*I-2*I; <Ideal of numerical semigroup> gap> I-I; <Ideal of numerical semigroup> gap> 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">> 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> s:=NumericalSemigroup(13,23); <Numerical semigroup with 2 generators> gap> l:=List([1..6], _ -> Random([8..34])); [ 22, 29, 34, 25, 10, 12 ] gap> I:=IdealOfNumericalSemigroup(l, s); <Ideal of numerical semigroup> gap> It:=TranslationOfIdealOfNumericalSemigroup(7,I); <Ideal of numerical semigroup> gap> It2:=7+I; <Ideal of numerical semigroup> gap> 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">> 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> I:=[6,9,11]+NumericalSemigroup(6,9,11);; gap> List([1..7],n->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">> 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>= 0 n<var class="Arg">I</var>-n<var class="Arg">I</var>.</p> <table class="example"> <tr><td><pre> gap> I:=[0,2]+NumericalSemigroup(6,9,11);; gap> BlowUpIdealOfNumericalSemigroup(I);; gap> 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">> 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> I:=[0,2]+NumericalSemigroup(6,9,11);; gap> 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">> 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> MaximalIdealOfNumericalSemigroup(NumericalSemigroup(3,7)); <Ideal of numerical semigroup> </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">> 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>= 0 n<var class="Arg">M</var>-n<var class="Arg">M</var>.</p> <table class="example"> <tr><td><pre> gap> s:=NumericalSemigroup(30, 35, 42, 47, 148, 153, 157, 169, 181, 193); <Numerical semigroup with 10 generators> gap> BlowUpOfNumericalSemigroup(s); <Numerical semigroup with 10 generators> gap> 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> m:=MaximalIdealOfNumericalSemigroup(s); <Ideal of numerical semigroup> gap> BlowUpIdealOfNumericalSemigroup(m); <Ideal of numerical semigroup> gap> 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">> 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> s:=NumericalSemigroup(30, 35, 42, 47, 148, 153, 157, 169, 181, 193); <Numerical semigroup with 10 generators> gap> bu:=BlowUpOfNumericalSemigroup(s); <Numerical semigroup with 10 generators> gap> ap:=AperyListOfNumericalSemigroupWRTElement(s,30);; gap> apbu:=AperyListOfNumericalSemigroupWRTElement(bu,30);; gap> (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> 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">> 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> s:=NumericalSemigroup(30, 35, 42, 47, 148, 153, 157, 169, 181, 193); <Numerical semigroup with 10 generators> gap> IsGradedAssociatedRingNumericalSemigroupCM(s); false gap> 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> List(AperyListOfNumericalSemigroupWRTElement(s,30), > w->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> last=last2; false gap> s:=NumericalSemigroup(4,6,11); <Numerical semigroup with 3 generators> gap> IsGradedAssociatedRingNumericalSemigroupCM(s); true gap> MicroInvariantsOfNumericalSemigroup(s); [ 0, 2, 1, 1 ] gap> List(AperyListOfNumericalSemigroupWRTElement(s,4), > w->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">> 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> s:=NumericalSemigroup(4,6,11); <Numerical semigroup with 3 generators> gap> m:=MaximalIdealOfNumericalSemigroup(s); <Ideal of numerical semigroup> gap> c:=CanonicalIdealOfNumericalSemigroup(s); <Ideal of numerical semigroup> gap> (m-c)-c=m; true gap> id:=3+s; <Ideal of numerical semigroup> gap> (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">> 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> i:=IdealOfNumericalSemigroup([75,89],s); <Ideal of numerical semigroup> gap> j:=IdealOfNumericalSemigroup([115,289],s); <Ideal of numerical semigroup> gap> IntersectionIdealsOfNumericalSemigroup(i,j); <Ideal of numerical semigroup> </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">> 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))-> 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> IsMonomialNumericalSemigroup(NumericalSemigroup(4,6,7)); true gap> IsMonomialNumericalSemigroup(NumericalSemigroup(4,6,11)); false </pre></td></tr></table> <div class="chlinkprevnextbot"> <a href="chap0.html">Top of Book</a> <a href="chap6.html">Previous Chapter</a> <a href="chap8.html">Next Chapter</a> </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>