Length of a factorization
Definition
Let \(S\) be a numerical semigroup minimally generated by \(\{n_1, n_2, \ldots, n_p\}\), let \(s \in S\) and let \(x = (x_1, x_2, \ldots, x_p) \in \mathbf{Z}(s)\), where \(\mathbf{Z}(s)\) denotes the set of factorizations of \(s\) in \(S\). It is defined the length of the factorization \(x\) as
\[ |x| = x_1 + \cdots + x_p. \]
Examples
\(\circ\) Let \(S = \langle 5, 12, 17 \rangle\) and \(s = 70\). Its set of factorizations is \(\mathbf{Z}(70) = \{(14, 0), (2,5)\}\). The length of \((14,0)\) is \(14\) and the length of \((2,5)\) is \(7\).
Examples with GAP
The following examples are made with the package NumericalSgps in GAP.
\(\diamond\) Let \(S = \langle 5, 13, 27, 34 \rangle\), in GAP:
gap> S := NumericalSemigroup(5, 13, 27, 34);
<Numerical semigroup with 4 generators>
Let us consider \(s = 60\). As \(60 = 5 \cdot 4 + 13 \cdot 1 + 27 \cdot 1 + 34 \cdot 0\), we have that \(x = (4, 1, 1, 0)\) is a factorization of \(s\) in \(S\). Its length can be computed with the function Sum
.
gap> x := [4,1,1,0];
4, 1, 1, 0 ]
[ gap> Sum(x);
6
The function Factorizations
returns the set of factorizations given a numerical semigroup and an element of it.
gap> Factorizations(S,60);
12, 0, 0, 0 ], [ 4, 1, 1, 0 ], [ 0, 2, 0, 1 ] ] [ [
Given a numerical semigroup \(S\) and an element \(n\) of it, the function LengthsOfFactorizationsElementWRTNumericalSemigroup
returns a list with all distinct lengths of the factorizations of \(n\) in \(S\).
gap> LengthsOfFactorizationsElementWRTNumericalSemigroup(60, S);
3, 6, 12 ] [
The list obtained is the set of lengths of \(s = 60\) in \(S\).
\(\diamond\) Let \(S = \langle 39, 41, 57, 81, 110 \rangle\), in GAP:
gap> S := NumericalSemigroup(39, 41, 57, 81, 110);
<Numerical semigroup with 5 generators>
Given a numerical semigroup \(S\) and a non-negative integer \(n \in S\). The functions MaximumDegree
and MaximumDegreeOfElementWRTNumericalSemigroup
return the maximum length of the set of factorizations of \(n\) in \(S\), that is, the order of \(n\) in \(S\).
gap> MaximumDegree(S, 200);
4
gap> MaximumDegreeOfElementWRTNumericalSemigroup(200, S);
4
Moreover, given a numerical semigroup \(S\) and an element \(n \in S\), the functions MaximalDenumerant
and MaximalDenumerantOfElementInNumericalSemigroup
return the number of factorizations of \(n\) in \(S\) with maximal length, that is, the maximal denumerant of \(n\) in \(S\).
gap> 335 in S;
true
gap> MaximalDenumerant(S, 335);
2
gap> MaximalDenumerant(335, S);
2
gap> MaximalDenumerantOfElementInNumericalSemigroup(335, S);
2
References
https://gap-packages.github.io/
numericalsgps
.