Relation order of a numerical semigroup
Definition
Let \(S\) be a numerical semigroup. It is defined the relation \(\le_S\) over \(\mathbb{Z}\) as follows:
\[ a \le_S b \Longleftrightarrow b - a \in S. \]
It can be proven that \(\le_S\) is a partial order relation. From this relation order is possible to characterize the pseudo-Frobenius numbers of \(S\).
Examples
\(\circ\) Let \(S = \langle 10, 14, 17, 21 \rangle\) and the integers \(x_1 = 8, x_2 = 62\). For \(x_1\), there is no positive integer \(y \ne x_1\) such that \(y \le_S x_1\), since \(x_1 - y = 8 - y < 10\) and the only element in \(S\) smaller than \(10\) is \(0\), therefore \(x_1\) is a minimal in \(\mathbb{N}\), but is not minimal in \(\mathbb{Z}\), since \(-2 \le_S x_1\). On the other hand, for \(x_2 = 62\) we have that \(10 \le_S 62\) and \(62 \le_S 72\).
\(\circ\) Let \(S\) be a numerical semigroup and let \(F(S)\) be the Frobenius number of \(S\). If we suppose that \(F(S) \le_S x\) for some \(x \in \mathbb{Z} \setminus S\), then there exists \(s \in S\) such that \(x = F(S) + s\), but that means \(x \in S\), which is a contradiction. Therefore, \(F(S)\) is maximal in \(\mathbb{Z} \setminus S\).
Examples with GAP
The following examples are made with the package NumericalSgps in GAP.
\(\diamond\) Let \(S = \langle 15,16,17,20 \rangle\), in GAP:
gap> S := NumericalSemigroup(15,16,17,20);
<Numerical semigroup with 4 generators>
Given a numerical semigroup \(S\) and a list of integers \(A\), the function HasseDiagramOfNumericalSemigroup
returns a binary relation which is the Hasse diagram of \(A\) with respect to the order \(\le_S\).
gap> A := [3, 20, 37, 57, 60];
3, 20, 37, 57, 60 ]
[ gap> h := HasseDiagramOfNumericalSemigroup(S, A);
<general mapping: Domain([ 3, 20, 37, 57, 60 ]) -> Domain(
3, 20, 37, 57, 60 ]) > [
Moreover, given a binary relation, the function DotBinaryRelation
returns a GraphViz dot that represents the given binary relation.
gap> DotBinaryRelation(h);
"digraph NSGraph{rankdir = TB; edge[dir=back];\n1 [label=\"3\"];\n2 [lab\
el=\"20\"];\n3 [label=\"37\"];\n4 [label=\"57\"];\n5 [label=\"60\"];\n2 -\
> 1;\n3 -> 2;\n5 -> 2;\n4 -> 3;\n}"
gap> Print(DotBinaryRelation(h));
digraph NSGraph{rankdir = TB; edge[dir=back];
1 [label="3"];
2 [label="20"];
3 [label="37"];
4 [label="57"];
5 [label="60"];
2 -> 1;
3 -> 2;
5 -> 2;
4 -> 3;
}
The graph obtained is as follows.
\(\diamond\) Let \(S = \langle 18, 22, 25, 30 \rangle\), in GAP:
gap> S := NumericalSemigroup(18, 22, 25, 30);
<Numerical semigroup with 4 generators>
Given a numerical semigroup and two integers \(a,b \in \mathbb{Z}\), the following function returns true if \(a \le_S b\) and false otherwise.
gap> AreRelatedNumericalSemigroup := function(S,a,b)
> if not IsNumericalSemigroup(S) then
> Error("First argument must be a Numerical Semigroup");
> fi;
> if not IsInt(a) then
> Error("Second argument must be an integer");
> fi;
> if not IsInt(b) then
> Error("Third argument must be an integer");
> fi;
> if (b-a) in S then
> return true;
> fi;
> return false;
> end;
function( S, a, b ) ... end
If we consider \(a = 65, b = 95\) and \(a = 18, b = 22\),
gap> AreRelatedNumericalSemigroup(S, 65, 95);
true
gap> AreRelatedNumericalSemigroup(S, 18, 22);
false
References
https://gap-packages.github.io/
numericalsgps
.