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
https://gap-packages.github.io/
numericalsgps
.