Multiplicity sequence of a numerical semigroup
Definition
Let \(S\) be a numerical semigroup other than \(\mathbb{N}\), \(M = S^* = S \setminus \{0\}\) the maximal ideal of \(S\) and \(\mathcal{B}(M)\) the blowup of \(M\). It is known that \(\mathcal{B}(M)\) is a numerical semigroup such that \(S \subsetneq \mathcal{B}(M)\). Then, setting \(S^1 = \mathcal{B}(M)\), it can be considered the blowup of its maximal ideal, \(S^2\), and repeating the argument, it is obtained a chain of numerical semigroups
\[ S = S^0 \subsetneq S^1 \subsetneq S^2 \subsetneq \cdots \subsetneq S^i \subsetneq S^{i+1} \subsetneq \cdots \subsetneq \mathbb{N}, \]
where \(S^{i+1}\) is the blowup of the maximal ideal of \(S^i\) for all \(i \in \mathbb{N}\). This chain stabilizes at \(\mathbb{N}\) since \(|\mathbb{N} \setminus S|\) is finite, and if we consider the multiplicity \(m_i = m(S^i)\) of each \(S^i\), we get a non increasing sequence \((m_0, m_1, m_2, \ldots)\) that stabilizes at \(1\). It is defined the multiplicity sequence of \(S\) as the sequence \((m_0, m_1, m_2, \ldots)\).
Examples
\(\circ\) Let \(S = \langle 3, 5, 7 \rangle\). Let us define for any \(A,B \subseteq \mathbb{Z}\), \(A + B = \{a + b ~ | ~ a \in A, b \in B\}\) and \(A - B = \{z \in \mathbb{Z} ~ | ~ z + B \subseteq A\}\). We have \(m(S) = 3\) and \(S^*\) has reduction number \(r(S^*) = 1\), since
\[ 2S^* = S^* + S^* = \{6, 8, \rightarrow \} = 3 + S^* = m(S^*) + S^*, \]
where \(m(S^*)\) denotes the multiplicity of \(S^*\) as relative ideal.Then, \(S^1 = \mathcal{B}(S^*) = S^* - S^* = \{0, 2, \rightarrow \}\). Now, \(m(S^1) = 2\) and \(r((S^1)^*) = 1\),
\[ 2(S^1)^* = (S^1)^* + (S^1)^* = \{4, \rightarrow \} = 2 + (S^1)^*. \]
Finally, \(S^2 = \mathcal{B}((S^1)^*) = (S^1)^* - (S^1)^* = \mathbb{N}\) and the multiplicity sequence of \(S\) is \((3,2,1)\).
Examples with GAP
The following example is made with the package NumericalSgps in GAP.
\(\diamond\) Let \(S = \langle 12, 17, 21, 30 \rangle\), in GAP:
gap> S := NumericalSemigroup(12, 17, 21, 30);
<Numerical semigroup with 4 generators>
The function MultiplicitySequence
returns the multiplicity sequence of a numerical semigroup.
gap> MultiplicitySequence(S);
12, 5, 4, 1 ] [
If we are interested in the blowups generated in the process, given a numerical semigroup, the function BlowUp
returns the blowup of \(S^*\). Moreover, the function MinimalGenerators
returns a list with the minimal set of generators of a given numerical semigroup.
gap> MinimalGenerators(S);
12, 17, 21, 30 ]
[ gap> S1 := BlowUp(S);
<Numerical semigroup with 4 generators>
gap> MinimalGenerators(S1);
5, 9, 12 ]
[ gap> S2 := BlowUp(S1);
<Numerical semigroup with 3 generators>
gap> MinimalGenerators(S2);
4, 5, 7 ]
[ gap> S3 := BlowUp(S2);
<The numerical semigroup N>
gap> MinimalGenerators(S3);
1 ] [
References
https://gap-packages.github.io/
numericalsgps
.