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

Bryant, Hamblin, L. 2013. “The Maximal Denumerant of a Numerical Semigroup.” Semigroup Forum 86: 571–82. https://doi.org/10.1007/s00233-012-9448-5.
Delgado, M., P. A. Garcia-Sanchez, and J. Morais. 2024. NumericalSgps, a Package for Numerical Semigroups, Version 1.4.0.” https://gap-packages.github.io/ numericalsgps.