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.

NSGraph 0 〈 4, 6, 9 〉 1 〈 4 〉 + 〈 6, 9 〉 0->1 7 〈 4, 6 〉 + 〈 9 〉 0->7 2 〈 1 〉 1->2 3 〈 2, 3 〉 1->3 4 〈 2 〉 + 〈 3 〉 3->4 5 〈 1 〉 4->5 6 〈 1 〉 4->6 8 〈 2, 3 〉 7->8 9 〈 1 〉 7->9 10 〈 2 〉 + 〈 3 〉 8->10 11 〈 1 〉 10->11 12 〈 1 〉 10->12

References

Delgado, M., P. A. Garcia-Sanchez, and J. Morais. 2024. NumericalSgps, a Package for Numerical Semigroups, Version 1.4.0.” https://gap-packages.github.io/ numericalsgps.
Rosales, J. C., and P. A. Garcı́a-Sánchez. 2009. Numerical Semigroups. Springer.