Gluing of numerical semigroups
Definition
Let \(S_1\) and \(S_2\) be two numerical semigroups minimally generated by \(\{n_1, \ldots, n_r\}\) and \(\{n_{r+1}, \ldots, n_e\}\), respectively. It is said that a numerical semigroup \(S\) is a gluing of \(S_1\) and \(S_2\) if it is of the form
\[ S = \langle \mu n_1, \ldots, \mu n_r, \lambda n_{r+1}, \ldots, \lambda n_e \rangle. \]
for some \(\lambda \in S_1 \setminus \{n_1, \ldots, n_r\}, ~ \mu \in S_2 \setminus \{n_{r+1}, \ldots, n_e\}\) such that \(gcd(\lambda, \mu) = 1\).
It can be proven that \(S\) is a numerical semigroup with minimal system of generators \(\{\mu n_1, \ldots, \mu n_r, \lambda n_{r+1}, \ldots, \lambda n_e \}\) and \(A = \{\mu n_1, \ldots, \mu n_r, \lambda n_{r+1}, \ldots, \lambda n_e\}\) is a gluing of \(A_1 = \{\mu n_1, \ldots, \mu n_r\}\) and \(A_2 = \{ \lambda n_{r+1}, \ldots, \lambda n_e\}\).
Examples
\(\circ\) Let \(S = \langle 110, 154, 171, 247 \rangle\). First, \(gcd(110, 154, 171, 247) = 1\) and \(S\) is a numerical semigroup. Since \(gcd(110, 171) = gcd(110, 247) = 1\), let us consider \(B_1 = \{110, 154\}\) and \(B_2 = \{171, 247\}\). We have, \(gcd(B_1) = 22\) and \(gcd(171, 247) = 19\), then
\[ S = \langle 110, 154, 171, 247 \rangle = \langle 22 \cdot 5, 22 \cdot 7, 19 \cdot 9, 19 \cdot 13 \rangle. \]
Let us consider \(S_1 = \langle 5,7 \rangle\) and \(S_2 = \langle 9,13 \rangle\), Since \(19 = 5 + 2 \cdot 7 \in S_1 \setminus \{5,7\}\) and \(22 = 9 + 13 \in S_2 \setminus \{9,13\}\), it is concluded that \(S\) is a gluing of \(S_1\) and \(S_2\).
Examples with GAP
The following examples are made with the package NumericalSgps in GAP.
\(\diamond\) Let \(S = \langle 40, 329, 338 \rangle\),in GAP:
gap> S := NumericalSemigroup(40, 329, 338);
<Numerical semigroup with 3 generators>
Given a numerical semigroup \(S\), the function AsGluingOfNumericalSemigroups
returns all partitions \(\{A_1, A_2\}\) of the minimal generating set of \(S\) such that \(S\) is a gluing of \(\langle A_1 \rangle\) and \(\langle A_2 \rangle\) with \(\mu = gcd(A_1)\) and \(\lambda = gcd(A_1)\).
gap> AsGluingOfNumericalSemigroups(S);
40, 338 ], [ 329 ] ] ] [ [ [
In this case, \(S\) is a gluing of \(S_1 = \langle 20, 169 \rangle\) and \(\mathbb{N} = \langle 1 \rangle\) with \(\lambda = 329\) and \(\mu = 2\). If there is no partitions, the function returns an empty list.
gap> S := NumericalSemigroup(13, 14, 21, 22);
<Numerical semigroup with 4 generators>
gap> AsGluingOfNumericalSemigroups(S);
[ ]
\(\diamond\) Let \(S = \langle 4, 6, 9 \rangle\), in GAP:
gap> S := NumericalSemigroup(4,6,9);
<Numerical semigroup with 3 generators>
Given a numerical semigroup, the function DotTreeOfGluingsOfNumericalSemigroup
returns a tree (in dot) representing the many ways \(S\) can be decomposed as a gluing of numerical semigroups.
gap> h := DotTreeOfGluingsOfNumericalSemigroup(S);;
gap> Print(h);
digraph NSGraph{rankdir = TB;
0 [label="〈 4, 6, 9 〉"];
0 [label="〈 4, 6, 9 〉", style=filled];
1 [label="〈 4 〉 + 〈 6, 9 〉" , shape=box];
2 [label="〈 1 〉", style=filled];
3 [label="〈 2, 3 〉", style=filled];
4 [label="〈 2 〉 + 〈 3 〉" , shape=box];
5 [label="〈 1 〉", style=filled];
6 [label="〈 1 〉", style=filled];
7 [label="〈 4, 6 〉 + 〈 9 〉" , shape=box];
8 [label="〈 2, 3 〉", style=filled];
10 [label="〈 2 〉 + 〈 3 〉" , shape=box];
11 [label="〈 1 〉", style=filled];
12 [label="〈 1 〉", style=filled];
9 [label="〈 1 〉", style=filled];
0 -> 1;
1 -> 2;
1 -> 3;
3 -> 4;
4 -> 5;
4 -> 6;
0 -> 7;
7 -> 8;
7 -> 9;
8 -> 10;
10 -> 11;
10 -> 12;
}
The obtained graph is as follows.
References
https://gap-packages.github.io/
numericalsgps
.