Maximal denumerant of a numerical semigroup
Definition
Let \(S\) be a numerical semigroup minimally generated by \(P(S) = \{n_1, \ldots, n_e\}\), ordered from smallest to largest. It is defined the maximal denumerant of \(S\), denoted by \(d_{max}(S)\), as
\[ d_{max}(S) = \max_{s \in S} \{d_{max}(s;S)\}, \]
where \(d_{max}(s;S)\) denotes the maximal denumerant of \(s\) in \(S\).
It can be proven that the maximal denumerant of a numerical semigroup \(S\) is always finite. Moreover, let us consider for all \(i \in \{0, \ldots, n_1 - 1\}\) the sets \(S_i\) defined as
\[ S_i = \{s \in S ~ | ~ s \equiv i ~ (mod ~ n_1) \}, \]
and the blowup of \(S\), \(B(S)\). For any \(b \in B(S)\), let us denote \(\mathcal{P}(b)\) for the set of all factorizations in \(B(S)\) with respect to the set of generators \(D = \{n_1, n_2 - n_1, \ldots, n_{e-1} - n_e\}\). If the adjustment of \(S\) is \(adj(S) = \{u_0 < u_1 < \cdots\}\), it is defined for each \(j \in \mathbb{N}\),
If \(j = 0\), \(\mathcal{R}(u_0) = \mathcal{P}(u_0)\),
If \(j > 0\), then
\[ \mathcal{R}(u_j) = \left \{ x \in \mathcal{P}(u_j) ~ | ~ |x| < \min \mathbf{L}(u_{j-1}; B^{\mathcal{D}}) - \frac{u_j - u_{j-1}}{n_1} \right \}, \]
where \(|x|\) is the length of \(x\) and \(\mathbf{L}(u_{j-1}; B^{D})\) is the set of lengths of \(u_{j-1}\) in \(B(S)\) with respect to the system of generators \(D\). Therefore, it can be proven that \(d_{max}(S_i) = \max_{u \in adj(S_i)} |\mathcal{R}(u)|\) and
\[ d_{max} (S) = \max_{0 \le i < n_1} d_{max} (S_i) = \max_{\stackrel{0 \le i < n_1}{u \in adj(S_i)}} \left| \mathcal{R}(u) \right|. \]
Examples
\(\circ\) Let \(S = \langle 3, 5, 7 \rangle\). With some computations, it is obtained that \(adj(S_0) = \{0\}, adj(S_1) = \{4\}\) and \(adj(S_2) = \{2\}\) (see adjustment of a numerical semigroup for more details). Then,
\[ \mathcal{R}(0) = \mathcal{P}(0) = \{(0,0,0)\}, ~~ \mathcal{R}(4) = \{(0,0,1), (0,2,0)\}, ~~ \text{and} ~~ \mathcal{R}(2) = \{(0,2,0)\}, \]
concluding that \(d_{max}(S) = 2\).
Examples with GAP
The following example is made with the package NumericalSgps in GAP.
\(\diamond\) Let \(S = \langle 31, 49, 74, 118, 128, 150 \rangle\), in GAP:
gap> S := NumericalSemigroup(31, 49, 74, 118, 128, 150);
<Numerical semigroup with 6 generators>
Given a numerical semigroup \(S\), the functions MaximalDenumerant
and MaximalDenumerantOfNumericalSemigroup
return the maximal denumerant of \(S\).
gap> MaximalDenumerant(S);
3
gap> MaximalDenumerantOfNumericalSemigroup(S);
3
If in function MaximalDenumerant
we give an element \(n \in S\), then the function returns the maximal denumerant of \(n\) in \(S\).
gap> 720 in S;
true
gap> MaximalDenumerant(S, 720);
2
References
https://gap-packages.github.io/
numericalsgps
.