Cyclotomic numerical semigroup

Definition

Let \(S\) be a numerical semigroup with Hilbert series \(H_S(x)\). It is said that \(S\) is cyclotomic if the polynomial associated to \(S\), \(f_S = (1-x)H_S(x)\), is a Kronecker polynomial, that is, a monic polynomial with integer coefficients having all its roots in the unit circumference, or equivalently, a product of cyclotomic polynomials.

Examples

\(\circ\) Let \(S = \langle 4, 10, 15 \rangle\). It is well known that if \(S\) is a numerical semigroup minimally generated by \(P = \{n_1, \ldots, n_e\}\) and \(\chi\) is the Euler characteristic, then

\[ H_S(x) = \frac{\sum_{s \in S} \chi(\mathcal{F}(s))x^s}{(1 - x^{n_1})\cdots(1-x^{n_e})}, \]

where \(\mathcal{F}(s)\) is the shaded set of \(s\) in \(S\). In this example, \(S\) is minimally generated by \(P = \{4, 10, 15\}\) and if \(s > 29\), then \(\mathcal{F}(s) = 0\), where it is deduced that

\[ (1-x)H_S(x) = x^{22}-x^{21}+x^{18}-x^{17}+x^{14}-x^{13}+x^{12}-x^{11} \]

\[ +x^{10}-x^9+x^8-x^5+x^4-x+1, \]

and all its roots are in the unit circumference, concluding that \(S\) is cyclotomic.

Examples with GAP

The following example is made with the package NumericalSgps in GAP.

\(\diamond\) Let \(S = \langle 12, 44, 70, 85 \rangle\), in GAP:

gap> S := NumericalSemigroup(12, 44, 70, 85);
<Numerical semigroup with 4 generators>

Given a numerical semigroup \(S\), the function IsCyclotomicNumericalSemigroup returns true if \(S\) is a cyclotomic numerical semigroup.

gap> IsCyclotomicNumericalSemigroup(S);
true

Given a numerical semigroup \(S\) and an indeterminate \(x\) (or a value \(x = s \in \mathbb{Z}\)), the function NumericalSemigroupPolynomial returns \((1-x)H_S(x)\). Moreover, the function IsKroneckerPolynomial returns true if a given polynomial \(f\) is Kronecker and false otherwise.

gap> x := X(Rationals, "x");
x
gap> f := NumericalSemigroupPolynomial(S, x);
x^232-x^231+x^220-x^219+x^208-x^207+x^196-x^195+x^188-x^187+x^184-x^183+x^176-x^175+x^172-x^171+x\
^164-x^163+x^162-x^161+x^160-x^159+x^152-x^151+x^150-x^149+x^148-x^146+x^144-x^143+x^140-x^139+x^\
138-x^137+x^136-x^134+x^132-x^131+x^128-x^127+x^126-x^125+x^124-x^122+x^120-x^119+x^118-x^117+x^1\
16-x^115+x^114-x^113+x^112-x^110+x^108-x^107+x^106-x^105+x^104-x^101+x^100-x^98+x^96-x^95+x^94-x^\
93+x^92-x^89+x^88-x^86+x^84-x^83+x^82-x^81+x^80-x^73+x^72-x^71+x^70-x^69+x^68-x^61+x^60-x^57+x^56\
-x^49+x^48-x^45+x^44-x^37+x^36-x^25+x^24-x^13+x^12-x+1
gap> IsKroneckerPolynomial(f);
true

Given a polynomial \(p(x) = a_0 + a_1x + \cdots + a_nx^{n}\), the function IsSelfReciprocalUnivariatePolynomial returns true if \(p\) is selfreciprocal, that is, if \(a_i = a_{n-i}\) for all \(i \in \mathbb{N}\) with \(2i \le n\). It can be proven that \(S\) is symmetric if, and only if, \(f_S\) es selfreciprocal.

gap> IsSelfReciprocalUnivariatePolynomial(f);
true

References

Ciolan, Emil-Alexandru, Pedro A. Garcı́a-Sánchez, and Pieter Moree. 2016. “Cyclotomic Numerical Semigroups.” SIAM Journal on Discrete Mathematics 30 (2): 650–68. https://doi.org/10.1137/140989479.
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.