<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\subseteq I\)</span> and that there exists <span class="SimpleMath">\(d\in S\)</span> such that <span class="SimpleMath">\(d+I\subseteq S\)</span>.</p>
<p>If <span class="SimpleMath">\(\{i_1,\ldots,i_k\}\)</span> is a subset of <span class="SimpleMath">\({\mathbb Z}\)</span>, then the set <span class="SimpleMath">\(I=\{i_1,\ldots,i_k\}+S=\bigcup_{n=1}^k i_n+S\)</span> is an ideal relative to <span class="SimpleMath">\(S\)</span>, and <span class="SimpleMath">\(\{i_1,\ldots, 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_mj.html#biBBDF97">[BDF97]</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>
<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="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="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="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="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="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 <varclass="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">\(\textit{S}\setminus \textit{X}\)</span>.</p>
<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="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="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="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">\(\textit{I}-M\setminus \textit{I}\)</span>, with <span class="SimpleMath">\(M\)</span> the maximal ideal of the ambient semigroup of <var class="Arg">I</var> (see <a href="chapBib_mj.html#biBnsapp2">[ADG20]</a>).</p>
<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_mj.html#biBgas-semigroups">[DS21]</a>).</p>
<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="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="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="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="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="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="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">\(\textit{I}+\cdots+\textit{I}\)</span> (<var class="Arg">n</var> times).</p>
<p><var class="Arg"> n * I</var> can be used for short.</p>
<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\in {\mathbb Z}\ |\ z+\textit{J}\subseteq \textit{I}\}\)</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_mj.html#biBHS04">[HS04]</a>.</p>
<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">\(\textit{I}\setminus \textit{J}\)</span>.</p>
<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,\ldots,i_n+k\}\)</span>, where <span class="SimpleMath">\(\{i_1,\ldots,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="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="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 <varclass="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="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="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IsAlmostCanonicalIdeal</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>. Set <span class="SimpleMath">\(I\)</span> to be a translation of <var class="Arg">E</var> so that its conductor is the same as the conductor of <span class="SimpleMath">\(S\)</span>, and let <span class="SimpleMath">\(M\)</span> and <span class="SimpleMath">\(K\)</span> be the maximal and canonical ideals of <span class="SimpleMath">\(S\)</span>, respectively. Then <var class="Arg">E</var> is almost canonical if <span class="SimpleMath">\(I-M=K-M\)</span> (see <a href="chapBib_mj.html#biBgas-semigroups">[DS21]</a>). Determines if <var class="Arg">E</var> almost canonical.</p>
<p>Computes the type sequence of a numerical semigroup. That is, the secuence <span class="SimpleMath">\(t_i(\textit{S})=\sharp(\textit{S}(i)\setminus \textit{S}(i-1))\)</span>, with <span class="SimpleMath">\(\textit{S}(i)=\{ s\in S\mid s\ge s_i\}\)</span> and <span class="SimpleMath">\(s_i\)</span> the <span class="SimpleMath">\(i\)</span>th element of <var class="Arg">S</var>.</p>
<p>This function is the implementation of the algorithm given in <a href="chapBib_mj.html#biBBDF97">[BDF97]</a>.</p>
<h4>7.2 <span class="Heading">
Decomposition into irreducibles
</span></h4>
<p>Let <span class="SimpleMath">\(I\)</span> be an ideal of a numerical semigroup <span class="SimpleMath">\(S\)</span>. We say that <span class="SimpleMath">\(I\)</span> is <span class="SimpleMath">\(\mathbb{Z}\)</span>-<em>irreducible</em> if it cannot be expressed as a finite intersection of other relative ideals properly containing it. Every ideal <span class="SimpleMath">\(I\)</span> can be expressed as an intersection of exactly <span class="SimpleMath">\(t\)</span> irreducible ideals of <span class="SimpleMath">\(S\)</span>, where <span class="SimpleMath">\(t\)</span> is the type of <span class="SimpleMath">\(I\)</span>. These irreducible ideals are unique and are known as the <em>irreducible <span class="SimpleMath">\(\mathbb{Z}\)</span>-components</em> of <span class="SimpleMath">\(I\)</span>. Recall that an ideal is integral (or proper) if it is contained in its ambient semigroup. We say that an integral ideal is <em>irreducible</em> if it cannot be expressed as an intersection of other proper integral ideals. Every integral ideal admits a unique decomposition into irredundant irreducible integral ideals.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ IrreducibleZComponents</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 list of irreducible <span class="SimpleMath">\(\mathbb{Z}\)</span>-components of <var class="Arg">I</var>. These are calculated using Proposition 24 in <a href="chapBib_mj.html#biBnsapp2">[ADG20]</a>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ DecomposeIntegralIdealIntoIrreducibles</code>( <var class="Arg">I</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p><var class="Arg">I</var> is an integral ideal of a numerical semigroup. The output is the list of irreducible integral ideals whose intersection is the unique irredundant decomposition of <varclass="Arg">I</var> into integral proper ideals. The computations are performed using Theorem 4 in <a href="chapBib_mj.html#biBnsapp2">[ADG20]</a>.</p>
<h4>7.3 <span class="Heading">
Blow ups and closures
</span></h4>
<p>The blow up of an ideal <span class="SimpleMath">\(I\)</span> of a numerical semigroup is the ideal <span class="SimpleMath">\(\bigcup_{n\geq 0} n\textit{I}-n\textit{I}\)</span>. In this section we provide functions to compute the blow up and related invariants.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ HilbertFunctionOfIdealOfNumericalSemigroup</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. <var class="Arg">I</var> must be contained in its ambient semigroup. The output is the cardinality of the set <span class="SimpleMath">\(\textit{n}\textit{I}\setminus (\textit{n}+1)\textit{I}\)</span>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ HilbertFunction</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. <var class="Arg">I</var> must be contained in its ambient semigroup (integral ideal). The output is a function that maps to each <span class="SimpleMath">\(n\)</span> the cardinality of the set <span class="SimpleMath">\(n\textit{I}\setminus (n+1)\textit{I}\)</span>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ ReductionNumber</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">‣ ReductionNumberIdealNumericalSemigroup</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 least integer such that <span class="SimpleMath">\(n \textit{I} + i=(n+1)\textit{I}\)</span>, where <span class="SimpleMath">\(i=min(\textit{I})\)</span>.</p>
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.