Genus

Definition

Let \(S\) be a numerical semigroup. By definition of numerical semigroup, the set \(\mathbb{N} \setminus S\), usually denoted by \(G(S)\), is finite. It is defined the genus of \(S\) as the cardinal of \(\mathbb{N} \setminus S\), and it is denoted by \(g(S)\) or \(\Omega(S)\). Sometimes it is referred to as the degree of singularity of \(S\).

If \(n(S)\) is the cardinal of the set formed by the left elements of \(S\), and \(C(S)\) is the conductor of \(S\), it is deduced the relation \(n(S) + g(S) = C(S)\).

Examples

\(\circ\) Let \(S = \langle 6, 10, 13, 14, 15 \rangle\). Computing the first elements of \(S\), it is obtained that \(S = \{ 0, 6, 10, 12, 13, 14, 15, 16, 18, \rightarrow \}\), and \(\mathbb{N} \setminus S = \{1, 2, 3, 4, 5, 7, 8, 9, 11, 17\}\). Thus, \(g(S) = 10\).

\(\circ\) Let \(S = \{ 0, 4, 8, 9, 11, 12, 13, 15, \rightarrow \}\). The set of left elements is \(N(S) = \{0, 4, 8, 9, 11, 12, 13\}\) and the conductor is \(C(S) = 15\), therefore \(g(S) = C(S) - n(S) = 15 - 7 = 8\).

Examples with GAP

The following examples are made with the package NumericalSgps in GAP.

\(\diamond\) Let \(S = \langle 8, 11, 13, 15, 19 \rangle\), in GAP:

gap> S := NumericalSemigroup(8, 11, 13, 15, 19);
<Numerical semigroup with 5 generators>

In order to compute the genus of \(S\), we can apply the functions Genus or GenusOfNumericalSemigroup.

gap> Genus(S);
15
gap> GenusOfNumericalSemigroup(S);
15

\(\diamond\) Let \(S = \langle 6, 8, 10, 13 \rangle\), in GAP:

gap> S := NumericalSemigroup(6, 8, 10, 13);
<Numerical semigroup with 4 generators>

We will use the relation \(g(S) = C(S) - n(S)\) to compute the genus. First, we use the function SmallElements to calculate the set \(N(S) \cup \{C(S)\}\).

gap> SmallElements(S);
[ 0, 6, 8, 10, 12, 13, 14, 16, 18 ]

Then, we get \(C(S) = 18\) and \(n(S) = |\{0, 6, 8, 10, 12, 13, 14, 16 \}| = 8\), so \(g(S) = C(S) - n(S) = 10\). Applying the function Genus:

gap> Genus(S);
10

\(\diamond\) Given a non-negative number \(g\), the function NumericalSemigroupsWithGenus computes all the numerical semigroups with genus \(g\).

gap> A := NumericalSemigroupsWithGenus(3);
[ <Numerical semigroup with 4 generators>,
  <Numerical semigroup with 3 generators>,
  <Numerical semigroup with 3 generators>,
  <Numerical semigroup with 2 generators> ]

The code List(List_NS, l -> Function(l)); applies the function Function to each element of a list \(List\_NS\).

gap> List(A, l -> SmallElements(l));
[ [ 0, 4 ], [ 0, 3, 5 ], [ 0, 3, 4, 6 ], [ 0, 2, 4, 6 ] ]

References

Assi, Abdallah, Marco D’Anna, and Pedro A. Garcı́a-Sánchez. 2020. Numerical Semigroups and Applications. Vol. 3. RSME Springer Series. Springer, [Cham]. https://doi.org/10.1007/978-3-030-54943-5.
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.