Tame degree of an element
Definition
Let \(S\) be a numerical semigroup minimally generated by \(\{n_1, n_2, \ldots, n_p\}\), let \(n \in S\) and let \(\mathbf{Z}(n)\) be the set of factorizations of \(n\) in \(S\). Let us assume that \(n - n_i \in S\) for some \(i \in \{1, 2, \ldots, p\}\). It is defined
\[ \mathbf{t}_i(n) = \sup \{ d(z, \mathbf{Z}(n) \cap (\mathbf{e}_i + \mathbb{N}^p)) ~ | ~ z \in \mathbf{Z}(n) \}, \]
where: for all \(i \in \{1, 2, \ldots, p\}\), \(\mathbf{e}_i \in \mathbb{N}^p\) has the \(i-\)th coordinate equals to \(1\) and the rest \(0\); for any set \(A \subseteq \mathbb{N}^p\), \(d(z, A) = \sup_{a \in A} d(z, a)\); for any \(x, y \in \mathbf{Z}(n)\), \(d(x,y)\) denotes the distance between \(x\) and \(y\). Then, it is defined the tame degree of \(n\) in \(S\) as
\[ \mathbf{t}_i(n) = \max \{ \mathbf{t}_i(n) ~ | ~ n - n_i \in S, 1 \le i \le p\}. \]
From the definition of tame degree of an element it is defined the tame degree of a numerical semigroup.
Examples
\(\circ\) Let \(S = \langle 6, 14, 15 \rangle\) and \(s = 36\). First, we have \(36 - 6 = 30 \in S, 36 - 14 = 22 \not \in S\) and \(36 - 15 = 21 \in S\). The set of factorizations is \(\mathbf{Z}(36) = \{(6,0,0), (1,0,2)\}\), then,
\[ \mathbf{t}_1(36) = \sup \{ d(z, \mathbf{Z}(36) \cap ((1,0,0) + \mathbb{N}^3) ~ | ~ z \in \mathbf{Z}(36) \} = \max \{0, 5\} = 5. \]
\[ \mathbf{t}_3(36) = \sup \{ d(z, \mathbf{Z}(36) \cap ((0, 0, 1) + \mathbb{N}^3) ~ | ~ z \in \mathbf{Z}(36) \} = \max \{0\} = 0. \]
Therefore, the tame degree of \(s = 36\) in \(S\) is \(\mathbf{t}(n) = 5\).
Examples with GAP
The following example is made with the package NumericalSgps in GAP.
\(\diamond\) Let \(S = \langle 35, 42, 61, 71, 89 \rangle\), in GAP:
gap> S := NumericalSemigroup(35, 42, 61, 71, 89);
<Numerical semigroup with 5 generators>
Given a numerical semigroup \(S\) and an element \(n\) of it, the functions TameDegree
and TameDegreeOfElementInNumericalSemigroup
return the tame degree of \(n\) in \(S\).
gap> TameDegree(300, S);
5
gap> TameDegree(S, 300);
5
gap> TameDegree(300, S) = TameDegreeOfElementInNumericalSemigroup(300, S);
true
If we give only a numerical semigroup \(S\) in TameDegree
, the function computes the tame degree of \(S\).
gap> TameDegree(S);
9
On the other hand, given a set of factorizations of an element in a numerical semigroup, the functions TameDegree
and TameDegreeOfSetOfFactorizations
computes the tame degree with respect to the given set of factorizations.
gap> z := Factorizations(574, S);
14, 2, 0, 0, 0 ], [ 8, 7, 0, 0, 0 ], [ 2, 12, 0, 0, 0 ],
[ [ 3, 1, 7, 0, 0 ], [ 5, 2, 4, 1, 0 ], [ 7, 3, 1, 2, 0 ],
[ 1, 8, 1, 2, 0 ], [ 0, 4, 2, 4, 0 ], [ 1, 1, 0, 7, 0 ],
[ 1, 2, 6, 0, 1 ], [ 3, 3, 3, 1, 1 ], [ 5, 4, 0, 2, 1 ],
[ 4, 0, 1, 4, 1 ], [ 1, 4, 2, 1, 2 ], [ 0, 0, 3, 3, 2 ],
[ 2, 1, 0, 4, 2 ], [ 5, 0, 1, 1, 3 ], [ 1, 0, 3, 0, 4 ],
[ 3, 1, 0, 1, 4 ] ]
[ gap> TameDegree(z);
9
gap> TameDegree(z) = TameDegreeOfSetOfFactorizations(z);
true
References
https://gap-packages.github.io/
numericalsgps
.