Inductive numerical semigroup
Definition
Let \(S\) be a numerical semigroup. It is said that \(S\) is an inductive numerical semigroup if there exist \(I_1 = \{a_0, \ldots, a_{k-1}\}\) and \(I_2 = \{b_1, \ldots, b_{k-1}\}\) two lists of positive integers holding \(b_{i+1} \ge a_i b_i\) for all \(i \in \{0, \ldots, k-2\}\) and
\[ S_0 = \mathbb{N}, ~~ S_i = a_{i-1} S_{i-1} \cup \{a_{i-1}b_{i-1}, \rightarrow \}, ~~ \text{for all } ~ i \in \{1, \ldots, k\}, \]
such that \(S_k = S\). In this definition, \(a_i S_i = \{a_i \cdot s ~ | ~ s \in S_i \}\).
From the definition, every inductive numerical semigroup is a multiple numerical semigroup.
Examples
\(\circ\) Let \(I_1 = \{2,3\}\) and \(I_2 = \{3, 10\}\). We have \(a_0 = 2, a_1 = 3\), \(b_0 = 3, b_1 = 10\) and \(b_1 = 10 \ge 6 = a_0 b_0\). Now, \(S_0 = \mathbb{N}\),
\[ S_1 = a_0S_0 \cup \{a_0b_0, \rightarrow\} = 2 \mathbb{N} \cup \{6, \rightarrow\} = \{0, 2, 4, 6, \rightarrow \}, \] and
\[ S_2 = a_1S_1 \cup \{a_1b_1, \rightarrow\} = 3 S_1 \cup \{30, \rightarrow\} = \{0, 6, 12, 18, 21, 24, 27, 30, \rightarrow\}. \]
The numerical semigroup \(S_2\) is minimally generated by \(P(S_2) = \{6, 21, 31, 32, 34, 35\}\). Therefore, \(S = \langle 6, 21, 31, 32, 34, 35 \rangle\) is an inductive numerical semigroup.
Examples with GAP
The following example is made with the package NumericalSgps in GAP.
\(\diamond\) Let \(I_1 = \{1, 2, 4, 5, 10\}\) and \(I_2 = \{2, 4, 10, 41, 206\}\), in GAP:
gap> I_1 := [1, 2, 4, 5, 10];
1, 2, 4, 5, 10 ]
[ gap> I_2 := [2, 4, 10, 41, 206];
2, 4, 10, 41, 206 ] [
Given two list of integers \(I_1 = \{a_0, \ldots, a_k\}\), \(I_2 = \{b_0, \ldots, b_k\}\) so that \(b_{i+1} \ge a_i b_i\) for all \(i \in \{0, \ldots, k-2\}\), the function InductiveNumericalSemigroup
returns \(S_k\).
gap> S := InductiveNumericalSemigroup(I_1, I_2);
<Numerical semigroup>
gap> SmallElements(S);
0, 400, 800, 1200, 1600, 1800, 2000, 2050, 2060 ] [
The function SmallElements
returns a list with the left elements and the conductor of the given numerical semigroup. Therefore, \(S_5 = \{0, 400, 800, 1200, 1600, 1800, 2000, 2050, 2060, \rightarrow\}\).
References
https://gap-packages.github.io/
numericalsgps
.