|
|
|
|
Quelle chap7.html
Sprache: HTML
|
|
| products/sources/formale Sprachen/GAP/pkg/numericalsgps/doc/chap7.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>
<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" />
<script src="manual.js" type="text/javascript"></script>
<script type="text/javascript">overwriteStyle();</script>
</head>
<body class="chap7" onload="jscontent()">
<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="chap10.html">10</a> <a href="chap11.html">11</a> <a href="chap12.html">12</a> <a href="chap13.html">13</a> <a href="chap14.html">14</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="chap0.html#contents">[Contents]</a> <a href="chap6.html">[Previous Chapter]</a> <a href="chap8.html">[Next Chapter]</a> </div>
<p id="mathjaxlink" class="pcenter"><a href="chap7_mj.html">[MathJax on]</a></p>
<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="tocline"><span class="nocss"> </span><a href="chap7.html#X84B6453A8015B40B">7.1 <span class="Heading">
Definitions and basic operations
</span></a>
</span>
<div class="ContSSBlock">
<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#X85144E0F791038AE">7.1-3 MinimalGenerators</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7A842A4385B73C63">7.1-4 Generators</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#X7B0343BF794AC7EA">7.1-6 IsIntegral</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X80233A6F80CA0615">7.1-7 IsComplementOfIntegralIdeal</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X8774724085D3371D">7.1-8 IdealByDivisorClosedSet</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7811E92487110941">7.1-9 SmallElements</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7EDDC78883A98A6E">7.1-10 Conductor</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7A8AF91C7D1F1B4E">7.1-11 FrobeniusNumber</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X805149CA847F6461">7.1-12 PseudoFrobenius</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7D4C7C997EEAADF7">7.1-13 Type</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X821919B47D3D191A">7.1-14 Minimum</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X87508E7A7CFB0B20">7.1-15 BelongsToIdealOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X83D0996D811A35C6">7.1-16 ElementNumber_IdealOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7B8B46CF7E81513D">7.1-17 NumberElement_IdealOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X79DFDCA27D3268FD"><code>7.1-18 <span>\</span>[ <span>\</span>]</code></a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X8341AE847D005E9F"><code>7.1-19 \{ \}</code></a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7A55BD4D82580537">7.1-20 Iterator</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7B39610D7AD5A654">7.1-21 SumIdealsOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X857FE5C57EE98F5E">7.1-22 MultipleOfIdealOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X78743CE2845B5860">7.1-23 SubtractIdealsOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X8321A10885D2DEF8">7.1-24 Difference</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X803921F97BEDCA88">7.1-25 TranslationOfIdealOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7CD66453842CD0AD">7.1-26 Union</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7B34033979009F64">7.1-27 Intersection</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7D77F1BA7F22DA70">7.1-28 MaximalIdeal</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X85975C3C86C2BC53">7.1-29 CanonicalIdeal</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7D15FA4C843A13B7">7.1-30 IsCanonicalIdeal</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X829C9685798BB553">7.1-31 IsAlmostCanonicalIdeal</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X811B096B87636B8E">7.1-32 TraceIdeal</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7BB2A1B28139AA7E">7.1-33 TypeSequence</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7.html#X7F09B9A085E226EF">7.2 <span class="Heading">
Decomposition into irreducibles
</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7B83DEAC866B65E8">7.2-1 IrreducibleZComponents</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X83E064C684FA534C">7.2-2 DecomposeIntegralIdealIntoIrreducibles</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7.html#X81CD9B12807EEA85">7.3 <span class="Heading">
Blow ups and closures
</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X82156F18807B00BF">7.3-1 HilbertFunctionOfIdealOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X81F1F3EB868D2117">7.3-2 HilbertFunction</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X79A1A22D8615BF78">7.3-3 BlowUp</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7FAABCBF8299B12F">7.3-4 ReductionNumber</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7BFC52B7804542F5">7.3-5 BlowUp</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X8799F0347FF0D510">7.3-6 LipmanSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7D6F643687DF8724">7.3-7 RatliffRushNumber</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X82C2329380B9882D">7.3-8 RatliffRushClosure</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X79494A587A549E15">7.3-9 AsymptoticRatliffRushNumber</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X8344B30D7EDE3B04">7.3-10 MultiplicitySequence</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X87AC917578976B1E">7.3-11 MicroInvariants</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X805C984685EBC65C">7.3-12 AperyList</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X82D2784B813C67D8">7.3-13 AperyList</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X8244CCAE7D957F46">7.3-14 AperyTable</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7A16238D7EDB2AB3">7.3-15 StarClosureOfIdealOfNumericalSemigroup</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7.html#X78F124CC82E7B585">7.4 <span class="Heading">
Patterns for ideals
</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X865042FD7EBD15EE">7.4-1 IsAdmissiblePattern</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7ED8306681407D0F">7.4-2 IsStronglyAdmissiblePattern</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X799542C57E4E0D5E">7.4-3 AsIdealOfNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7F13F7CB7FBCF006">7.4-4 BoundForConductorOfImageOfPattern</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7F4E597278AF31C8">7.4-5 ApplyPatternToIdeal</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7CFDFF6D7B9B595B">7.4-6 ApplyPatternToNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7F9232047F85C4D8">7.4-7 IsAdmittedPatternByIdeal</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X827BB22083390CB9">7.4-8 IsAdmittedPatternByNumericalSemigroup</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap7.html#X79C6CE8D7EF1632D">7.5 <span class="Heading">Graded associated ring of numerical semigroup</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7876199778D6B320">7.5-1 IsGradedAssociatedRingNumericalSemigroupCM</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X782D557583CEDD04">7.5-2 IsGradedAssociatedRingNumericalSemigroupBuchsbaum</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X78E57B9982F6E1DC">7.5-3 TorsionOfAssociatedGradedRingNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7E16B6947BE375B2">7.5-4 BuchsbaumNumberOfAssociatedGradedRingNumericalSemigroup</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7A5752C0836370FA">7.5-5 IsGradedAssociatedRingNumericalSemigroupGorenstein</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap7.html#X7800C5D68641E2B7">7.5-6 IsGradedAssociatedRingNumericalSemigroupCI</a></span>
</div></div>
</div>
<h3>7 <span class="Heading">
Ideals of numerical semigroups
</span></h3>
<p>Let <span class="SimpleMath">S</span> be a numerical semigroup. A set <span class="SimpleMath">I</span> of integers is an <em>ideal relative</em> to a numerical semigroup <span class="SimpleMath">S</span> provided that <span class="SimpleMath">I+S⊆ I</span> and that there exists <span class="SimpleMath">d∈ S</span> such that <span class="SimpleMath">d+I⊆ S</span>.</p>
<p>If <span class="SimpleMath">{i_1,...,i_k}</span> is a subset of <span class="SimpleMath">Z</span>, then the set <span class="SimpleMath">I={i_1,...,i_k}+S=⋃_n=1^k i_n+S</span> is an ideal relative to <span class="SimpleMath">S</span>, and <span class="SimpleMath">{i_1,..., i_k}</span> is a system of generators of <span class="SimpleMath">I</span>. A system of generators <span class="SimpleMath">M</span> is minimal if no proper subset of <span class="SimpleMath">M</span> 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">[BDF97]</a>).</p>
<p><a id="X84B6453A8015B40B" name="X84B6453A8015B40B"></a></p>
<h4>7.1 <span class="Heading">
Definitions and basic operations
</span></h4>
<p>We describe in this section the basic functions to create and compute notable elements of ideals of numerical semigroups. We also include iterators and functions to treat ideals as lists, which easies the access to its elements.</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</var>, <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">‣ +</code>( <var class="Arg">l</var>, <var class="Arg">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. 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>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">IdealOfNumericalSemigroup([3,5],NumericalSemigroup(9,11));</span>
<Ideal of numerical semigroup>
<span class="GAPprompt">gap></span> <span class="GAPinput">[3,5]+NumericalSemigroup(9,11);</span>
<Ideal of numerical semigroup>
<span class="GAPprompt">gap></span> <span class="GAPinput">last=last2;</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">3+NumericalSemigroup(5,9);</span>
<Ideal of numerical semigroup>
</pre></div>
<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>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">I:=[1..7]+NumericalSemigroup(7,19);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsIdealOfNumericalSemigroup(I);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">IsIdealOfNumericalSemigroup(2);</span>
false
</pre></div>
<p><a id="X85144E0F791038AE" name="X85144E0F791038AE"></a></p>
<h5>7.1-3 MinimalGenerators</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ MinimalGenerators</code>( <var class="Arg">I</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ MinimalGeneratingSystem</code>( <var class="Arg">I</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<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">( attribute )</td></tr></table></div>
<p><var class="Arg">I</var> is an ideal of a numerical semigroup. The output is the minimal system of generators of <var class="Arg">I</var>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">MinimalGenerators([3,5]+NumericalSemigroup(2,11));</span>
[ 3 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">I:=[3,5,9]+NumericalSemigroup(2,11);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">MinimalGeneratingSystem(I);</span>
[ 3 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">MinimalGeneratingSystemOfIdealOfNumericalSemigroup(I);</span>
[ 3 ]
</pre></div>
<p><a id="X7A842A4385B73C63" name="X7A842A4385B73C63"></a></p>
<h5>7.1-4 Generators</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Generators</code>( <var class="Arg">I</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<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">( attribute )</td></tr></table></div>
<p><var class="Arg">I</var> is an ideal of a numerical semigroup. The output is a system of generators of the ideal.</p>
<p>Remark: from Version 1.0.1 on, this value does not change even when a set of minimal generators is computed.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">I:=[3,5,9]+NumericalSemigroup(2,11);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Generators(I);</span>
[ 3, 5, 9 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">GeneratorsOfIdealOfNumericalSemigroup(I);</span>
[ 3, 5, 9 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">MinimalGenerators(I);</span>
[ 3 ]
</pre></div>
<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 <span class="SimpleMath">S</span>. The output is <span class="SimpleMath">S</span>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">I:=[3,5,9]+NumericalSemigroup(2,11);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">AmbientNumericalSemigroupOfIdeal(I);</span>
<Numerical semigroup with 2 generators>
</pre></div>
<p><a id="X7B0343BF794AC7EA" name="X7B0343BF794AC7EA"></a></p>
<h5>7.1-6 IsIntegral</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsIntegral</code>( <var class="Arg">I</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsIntegralIdealOfNumericalSemigroup</code>( <var class="Arg">I</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p><var class="Arg">I</var> is an ideal of a numerical semigroup, say <span class="SimpleMath">S</span>. Detects if <span class="SimpleMath">I⊆ S</span>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">s:=NumericalSemigroup(3,7,5);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsIntegral(10+s);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">IsIntegral(4+s);</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">IsIntegralIdealOfNumericalSemigroup(10+s);</span>
true
</pre></div>
<p><a id="X80233A6F80CA0615" name="X80233A6F80CA0615"></a></p>
<h5>7.1-7 IsComplementOfIntegralIdeal</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsComplementOfIntegralIdeal</code>( <var class="Arg">X</var>, <var class="Arg">S</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p><var class="Arg">S</var> is a numerical semigroup and <var class="Arg">X</var> is a subset of <var class="Arg">S</var>. Determines if the subset <var class="Arg">X</var> of <var class="Arg">S</var> is the complement of an integral ideal of <var class="Arg">S</var>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">s:=NumericalSemigroup(10,11,15,19);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">i:=[20,21,25]+s;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">d:=Difference(0+s,i);</span>
[ 0, 10, 11, 15, 19, 22, 26, 29, 33, 34, 37, 38, 48 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">IsComplementOfIntegralIdeal(d,s);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">d:=DivisorsOfElementInNumericalSemigroup(50,s);</span>
[ 0, 10, 11, 15, 19, 20, 21, 25, 29, 30, 31, 35, 39, 40, 50 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">IsComplementOfIntegralIdeal(d,s);</span>
true
</pre></div>
<p><a id="X8774724085D3371D" name="X8774724085D3371D"></a></p>
<h5>7.1-8 IdealByDivisorClosedSet</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IdealByDivisorClosedSet</code>( <var class="Arg">X</var>, <var class="Arg">S</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p><var class="Arg">S</var> is a numerical semigroup and <var class="Arg">X</var> is a subset of <var class="Arg">S</var> with the following property: for all <span class="SimpleMath">x</span> in <var class="Arg">X</var> and every <span class="SimpleMath">y</span> in <var class="Arg">S</var> with <span class="SimpleMath">x-y</span> in <var class="Arg">S</var>, the integer <span class="SimpleMath">y</span> is also in <var class="Arg">X</var>. The output is the integral ideal <span class="SimpleMath"><var class="Arg">S</var>∖ <var class="Arg">X</var></span>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">s:=NumericalSemigroup(10,11,15,19);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">i:=[20,21,25]+s;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">d:=Difference(0+s,i);</span>
[ 0, 10, 11, 15, 19, 22, 26, 29, 33, 34, 37, 38, 48 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">i=IdealByDivisorClosedSet(d,s);</span>
true
</pre></div>
<p><a id="X7811E92487110941" name="X7811E92487110941"></a></p>
<h5>7.1-9 SmallElements</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SmallElements</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">‣ 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. 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>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">I:=[3,5,9]+NumericalSemigroup(2,11);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">SmallElements(I);</span>
[ 3, 5, 7, 9, 11, 13 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">SmallElements(I) = SmallElementsOfIdealOfNumericalSemigroup(I);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">J:=[2,11]+NumericalSemigroup(2,11);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">SmallElements(J);</span>
[ 2, 4, 6, 8, 10 ]
</pre></div>
<p><a id="X7EDDC78883A98A6E" name="X7EDDC78883A98A6E"></a></p>
<h5>7.1-10 Conductor</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Conductor</code>( <var class="Arg">I</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ConductorOfIdealOfNumericalSemigroup</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. The output is the largest element in <var class="Arg">SmallElements(I)</var>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">s:=NumericalSemigroup(3,7,5);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Conductor(10+s);</span>
15
<span class="GAPprompt">gap></span> <span class="GAPinput">ConductorOfIdealOfNumericalSemigroup(10+s);</span>
15
</pre></div>
<p><a id="X7A8AF91C7D1F1B4E" name="X7A8AF91C7D1F1B4E"></a></p>
<h5>7.1-11 FrobeniusNumber</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ FrobeniusNumber</code>( <var class="Arg">I</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ FrobeniusNumberOfIdealOfNumericalSemigroup</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. The output is the largest element not belonging to <var class="Arg">I</var>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">s:=NumericalSemigroup(3,7,5);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">FrobeniusNumber(0+s);</span>
4
</pre></div>
<p><a id="X805149CA847F6461" name="X805149CA847F6461"></a></p>
<h5>7.1-12 PseudoFrobenius</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ PseudoFrobenius</code>( <var class="Arg">I</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ PseudoFrobeniusOfIdealOfNumericalSemigroup</code>( <var class="Arg">I</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p><var class="Arg">I</var> is an ideal of a numerical semigroup. The output is the set of pseudo-Frobenius numbers of <var class="Arg">I</var>, that is the set <span class="SimpleMath"><var class="Arg">I</var>-M∖ <var class="Arg">I</var></span>, with <span class="SimpleMath">M</span> the maximal ideal of the ambient semigroup of <var class="Arg">I</var> (see <a href="chapBib.html#biBnsapp2">[ADG20]</a>).</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">s:=NumericalSemigroup(3,5,7);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">i:=4+s;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">PseudoFrobenius(i);</span>
[ 6, 8 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">PseudoFrobenius(s)=PseudoFrobenius(0+s);</span>
true
</pre></div>
<p><a id="X7D4C7C997EEAADF7" name="X7D4C7C997EEAADF7"></a></p>
<h5>7.1-13 Type</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Type</code>( <var class="Arg">I</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p><var class="Arg">I</var> is an ideal of a numerical semigroup. The output is the cardinality of the set of pseudo-Frobenius numbers of <var class="Arg">I</var> (see <a href="chapBib.html#biBgas-semigroups">[DS21]</a>).</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">s:=NumericalSemigroup(3,5,7);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">k:=CanonicalIdeal(s);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Type(k);</span>
1
</pre></div>
<p><a id="X821919B47D3D191A" name="X821919B47D3D191A"></a></p>
<h5>7.1-14 Minimum</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Minimum</code>( <var class="Arg">I</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p><var class="Arg">I</var> is an ideal of a numerical semigroup. The output is the minimum of <var class="Arg">I</var>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">J:=[2,11]+NumericalSemigroup(2,11);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Minimum(J);</span>
2
</pre></div>
<p><a id="X87508E7A7CFB0B20" name="X87508E7A7CFB0B20"></a></p>
<h5>7.1-15 BelongsToIdealOfNumericalSemigroup</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ BelongsToIdealOfNumericalSemigroup</code>( <var class="Arg">n</var>, <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">‣ \in</code>( <var class="Arg">n</var>, <var class="Arg">I</var> )</td><td class="tdright">( operation )</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. The output is <code class="code">true</code> 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>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">J:=[2,11]+NumericalSemigroup(2,11);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">BelongsToIdealOfNumericalSemigroup(9,J);</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">9 in J;</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">BelongsToIdealOfNumericalSemigroup(10,J);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">10 in J;</span>
true
</pre></div>
<p><a id="X83D0996D811A35C6" name="X83D0996D811A35C6"></a></p>
<h5>7.1-16 ElementNumber_IdealOfNumericalSemigroup</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ElementNumber_IdealOfNumericalSemigroup</code>( <var class="Arg">I</var>, <var class="Arg">r</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><var class="Arg">I</var> is an ideal of a numerical semigroup and <var class="Arg">r</var> is an integer. It returns the <var class="Arg">r</var>-th element of <var class="Arg">I</var>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">I := [2,5]+ NumericalSemigroup(7,8,17);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">ElementNumber_IdealOfNumericalSemigroup(I,10);</span>
19
</pre></div>
<p><a id="X7B8B46CF7E81513D" name="X7B8B46CF7E81513D"></a></p>
<h5>7.1-17 NumberElement_IdealOfNumericalSemigroup</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ NumberElement_IdealOfNumericalSemigroup</code>( <var class="Arg">I</var>, <var class="Arg">r</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><var class="Arg">I</var> is an ideal of a numerical semigroup and <var class="Arg">r</var> is an integer. It returns the position of <var class="Arg">r</var> in <var class="Arg">I</var> (and <code class="code">fail</code> if the integer is not in the ideal).</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">I := [2,5]+ NumericalSemigroup(7,8,17);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">NumberElement_IdealOfNumericalSemigroup(I,19);</span>
10
</pre></div>
<p><a id="X79DFDCA27D3268FD" name="X79DFDCA27D3268FD"></a></p>
<h5><code>7.1-18 <span>\</span>[ <span>\</span>]</code></h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ <span>\</span>[ <span>\</span>]</code>( <var class="Arg">I</var>, <var class="Arg">r</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p><var class="Arg">I</var> is an ideal of a numerical semigroup and <var class="Arg">r</var> is an integer. It returns the <var class="Arg">r</var>-th element of <var class="Arg">I</var>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">I := [2,5]+ NumericalSemigroup(7,8,17);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">I[10];</span>
19
</pre></div>
<p><a id="X8341AE847D005E9F" name="X8341AE847D005E9F"></a></p>
<h5><code>7.1-19 \{ \}</code></h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ \{ \}</code>( <var class="Arg">I</var>, <var class="Arg">ls</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p><var class="Arg">I</var> is an ideal of a numerical semigroup and <var class="Arg">ls</var> is a list of integers. It returns the list <var class="Arg">[I[r] : r in ls]</var>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">I := [2,5]+ NumericalSemigroup(7,8,17);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">I{[10..13]};</span>
[ 19, 20, 21, 22 ]
</pre></div>
<p><a id="X7A55BD4D82580537" name="X7A55BD4D82580537"></a></p>
<h5>7.1-20 Iterator</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Iterator</code>( <var class="Arg">I</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p><var class="Arg">I</var> is an ideal of a numerical semigroup. It returns an iterator over <var class="Arg">I</var>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">s:=NumericalSemigroup(4,10,11);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">i:=[2,3]+s;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">iter:=Iterator(i);</span>
<iterator>
<span class="GAPprompt">gap></span> <span class="GAPinput">NextIterator(iter);</span>
2
<span class="GAPprompt">gap></span> <span class="GAPinput">NextIterator(iter);</span>
3
<span class="GAPprompt">gap></span> <span class="GAPinput">NextIterator(iter);</span>
6
<span class="GAPprompt">gap></span> <span class="GAPinput">SmallElements(i);</span>
[ 2, 3, 6, 7, 10 ]
</pre></div>
<p><a id="X7B39610D7AD5A654" name="X7B39610D7AD5A654"></a></p>
<h5>7.1-21 SumIdealsOfNumericalSemigroup</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SumIdealsOfNumericalSemigroup</code>( <var class="Arg">I</var>, <var class="Arg">J</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">‣ +</code>( <var class="Arg">I</var>, <var class="Arg">J</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><var class="Arg">I, J</var> are ideals of a numerical semigroup. The output is the sum of both ideals <span class="SimpleMath">{ i+j | i∈ <var class="Arg">I</var>, j∈ <var class="Arg">J</var>}</span>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">I:=[3,5,9]+NumericalSemigroup(2,11);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">J:=[2,11]+NumericalSemigroup(2,11);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">I+J;</span>
<Ideal of numerical semigroup>
<span class="GAPprompt">gap></span> <span class="GAPinput">MinimalGeneratingSystemOfIdealOfNumericalSemigroup(last);</span>
[ 5, 14 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">SumIdealsOfNumericalSemigroup(I,J);</span>
<Ideal of numerical semigroup>
<span class="GAPprompt">gap></span> <span class="GAPinput">MinimalGeneratingSystemOfIdealOfNumericalSemigroup(last);</span>
[ 5, 14 ]
</pre></div>
<p><a id="X857FE5C57EE98F5E" name="X857FE5C57EE98F5E"></a></p>
<h5>7.1-22 MultipleOfIdealOfNumericalSemigroup</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ MultipleOfIdealOfNumericalSemigroup</code>( <var class="Arg">n</var>, <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">‣ *</code>( <var class="Arg">n</var>, <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, <var class="Arg">n</var> is a non negative integer. The output is the ideal <span class="SimpleMath"><var class="Arg">I</var>+⋯+<var class="Arg">I</var></span> (<var class="Arg">n</var> times).</p>
<p><var class="Arg"> n * I</var> can be used for short.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">I:=[0,1]+NumericalSemigroup(3,5,7);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">MultipleOfIdealOfNumericalSemigroup(2,I) = 2*I;</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">MinimalGeneratingSystemOfIdealOfNumericalSemigroup(2*I);</span>
[ 0, 1, 2 ]
</pre></div>
<p><a id="X78743CE2845B5860" name="X78743CE2845B5860"></a></p>
<h5>7.1-23 SubtractIdealsOfNumericalSemigroup</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ SubtractIdealsOfNumericalSemigroup</code>( <var class="Arg">I</var>, <var class="Arg">J</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">‣ -</code>( <var class="Arg">I</var>, <var class="Arg">J</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><var class="Arg">I, J</var> are ideals of a numerical semigroup. The output is the ideal <span class="SimpleMath">{ z∈ Z | z+<var class="Arg">J</var>⊆ <var class="Arg">I</var>}</span>.</p>
<p><span class="SimpleMath">I - J</span> can be used as a short for <code class="code">SubtractIdealsOfNumericalSemigroup(I,J)</code>.</p>
<p><span class="SimpleMath">S-</span><var class="Arg">J</var> is a synonym of <span class="SimpleMath">(0+S)-</span><var class="Arg">J</var>, if <span class="SimpleMath">S</span> is the ambient semigroup of <var class="Arg">I</var> and <var class="Arg">J</var>. The following example appears in <a href="chapBib.html#biBHS04">[HS04]</a>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S:=NumericalSemigroup(14, 15, 20, 21, 25);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">I:=[0,1]+S;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">II:=S-I;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">MinimalGenerators(I);</span>
[ 0, 1 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">MinimalGenerators(II);</span>
[ 14, 20 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">MinimalGenerators(I+II);</span>
[ 14, 15, 20, 21 ]
</pre></div>
<p><a id="X8321A10885D2DEF8" name="X8321A10885D2DEF8"></a></p>
<h5>7.1-24 Difference</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Difference</code>( <var class="Arg">I</var>, <var class="Arg">J</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DifferenceOfIdealsOfNumericalSemigroup</code>( <var class="Arg">I</var>, <var class="Arg">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>. The output is the set <span class="SimpleMath"><var class="Arg">I</var>∖ <var class="Arg">J</var></span>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">S:=NumericalSemigroup(14, 15, 20, 21, 25);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">I:=[0,1]+S;</span>
<Ideal of numerical semigroup>
<span class="GAPprompt">gap></span> <span class="GAPinput">2*I-2*I;</span>
<Ideal of numerical semigroup>
<span class="GAPprompt">gap></span> <span class="GAPinput">I-I;</span>
<Ideal of numerical semigroup>
<span class="GAPprompt">gap></span> <span class="GAPinput">ii := 2*I-2*I;</span>
<Ideal of numerical semigroup>
<span class="GAPprompt">gap></span> <span class="GAPinput">i := I-I;</span>
<Ideal of numerical semigroup>
<span class="GAPprompt">gap></span> <span class="GAPinput"> Difference(last2,last);</span>
[ 26, 27, 37, 38 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">DifferenceOfIdealsOfNumericalSemigroup(ii,i);</span>
[ 26, 27, 37, 38 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Difference(i,ii);</span>
[ ]
</pre></div>
<p><a id="X803921F97BEDCA88" name="X803921F97BEDCA88"></a></p>
<h5>7.1-25 TranslationOfIdealOfNumericalSemigroup</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ TranslationOfIdealOfNumericalSemigroup</code>( <var class="Arg">k</var>, <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">‣ +</code>( <var class="Arg">k</var>, <var class="Arg">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 <span class="SimpleMath">{i_1+k,...,i_n+k}</span>, where <span class="SimpleMath">{i_1,...,i_n}</span> 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>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">s:=NumericalSemigroup(13,23);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">l:=List([1..6], _ -> Random([8..34]));</span>
[ 22, 29, 34, 25, 10, 12 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">I:=IdealOfNumericalSemigroup(l, s);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">It:=TranslationOfIdealOfNumericalSemigroup(7,I);</span>
<Ideal of numerical semigroup>
<span class="GAPprompt">gap></span> <span class="GAPinput">It2:=7+I;</span>
<Ideal of numerical semigroup>
<span class="GAPprompt">gap></span> <span class="GAPinput">It2=It;</span>
true
</pre></div>
<p><a id="X7CD66453842CD0AD" name="X7CD66453842CD0AD"></a></p>
<h5>7.1-26 Union</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Union</code>( <var class="Arg">I</var>, <var class="Arg">J</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p><var class="Arg">I, J</var> are ideals of a numerical semigroup. The output is the union of both ideals.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">s:=NumericalSemigroup(3,5,7);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">I:=2+s;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">J:=3+s;;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Union(I,J);</span>
<Ideal of numerical semigroup>
<span class="GAPprompt">gap></span> <span class="GAPinput">Generators(last);</span>
[ 2, 3 ]
</pre></div>
<p><a id="X7B34033979009F64" name="X7B34033979009F64"></a></p>
<h5>7.1-27 Intersection</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ Intersection</code>( <var class="Arg">I</var>, <var class="Arg">J</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IntersectionIdealsOfNumericalSemigroup</code>( <var class="Arg">I</var>, <var class="Arg">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>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">i:=IdealOfNumericalSemigroup([75,89],s);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">j:=IdealOfNumericalSemigroup([115,289],s);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Intersection(i,j);</span>
<Ideal of numerical semigroup>
<span class="GAPprompt">gap></span> <span class="GAPinput">IntersectionIdealsOfNumericalSemigroup(i,j) = Intersection(i,j);</span>
true
</pre></div>
<p><a id="X7D77F1BA7F22DA70" name="X7D77F1BA7F22DA70"></a></p>
<h5>7.1-28 MaximalIdeal</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ MaximalIdeal</code>( <var class="Arg">S</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<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>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">s := NumericalSemigroup(3,7);; </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">MaximalIdeal(s);</span>
<Ideal of numerical semigroup>
<span class="GAPprompt">gap></span> <span class="GAPinput">MaximalIdealOfNumericalSemigroup(s) = MaximalIdeal(s);</span>
true
</pre></div>
<p><a id="X85975C3C86C2BC53" name="X85975C3C86C2BC53"></a></p>
<h5>7.1-29 CanonicalIdeal</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ CanonicalIdeal</code>( <var class="Arg">S</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<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><var class="Arg">S</var> is a numerical semigroup. Computes the (standard) canonical ideal of <var class="Arg">S</var> (<a href="chapBib.html#biBBF97">[BF97]</a>): <span class="SimpleMath">{ x ∈ Z | g-x not ∈ S}</span>, where <span class="SimpleMath">g</span> is the Frobenius number of <var class="Arg">S</var>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">s:=NumericalSemigroup(4,6,11);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">m:=MaximalIdeal(s);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">c:=CanonicalIdeal(s);</span>
<Ideal of numerical semigroup>
<span class="GAPprompt">gap></span> <span class="GAPinput">c-(c-m)=m;</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">id:=3+s;</span>
<Ideal of numerical semigroup>
<span class="GAPprompt">gap></span> <span class="GAPinput">c-(c-id)=id;</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">CanonicalIdealOfNumericalSemigroup(s) = c;</span>
true
</pre></div>
<p><a id="X7D15FA4C843A13B7" name="X7D15FA4C843A13B7"></a></p>
<h5>7.1-30 IsCanonicalIdeal</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsCanonicalIdeal</code>( <var class="Arg">E</var> )</td><td class="tdright">( property )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsCanonicalIdealOfNumericalSemigroup</code>( <var class="Arg">E</var> )</td><td class="tdright">( property )</td></tr></table></div>
<p><var class="Arg">E</var> is an ideal of a numerical semigroup, say <span class="SimpleMath">S</span>. Determines if <var class="Arg">E</var> is a translation of the canonical ideal of <span class="SimpleMath">S</span>, or equivalently, for every ideal <span class="SimpleMath">J</span>, <span class="SimpleMath">E-(E-J)=J</span>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">s:=NumericalSemigroup(3,5,7);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">c:=3+CanonicalIdeal(s);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">c-(c-(3+s))=3+s;</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">IsCanonicalIdeal(c);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">IsCanonicalIdealOfNumericalSemigroup(c);</span>
true
</pre></div>
<p><a id="X829C9685798BB553" name="X829C9685798BB553"></a></p>
<h5>7.1-31 IsAlmostCanonicalIdeal</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsAlmostCanonicalIdeal</ | | |