Dilatation of a numerical semigroup

Definition

Let \(T\) and \(S\) be numerical semigroups. It is said that \(T\) is a dilatation of \(S\) if there exists \(a \in S\) such that \(T = \{a + s ~ | ~ s \in S \setminus \{0\}\} \cup \{0\}\). Although the definition of dilatation and pi-semigroup is apparently similar, the constructions are deeply different.

It can be proven that if \(S\) is a Wilf semigroup, then every dilatation of \(S\) is a Wilf semigroup.

Examples

\(\circ\) Let \(S = \{0, 15, 17, 19, 20, 22, 24, \rightarrow \}\). If \(S\) is a dilatation of a numerical semigroup \(T\) with \(t \in T \setminus \{0\}\), then \(t + m(T) = 15\), where \(m(T)\) denotes the multiplicity of \(T\), then \(t \in \{1, \ldots, 14\}\). If we consider

\[ T_j = \{15-j, 17-j, 19-j, 20-j, 22-j, 24-j, \rightarrow\}, ~~~~ \text{for } ~ j \in \{1, \ldots, 14\}, \]

it is deduced that \(S\) is a dilatation of a numerical semigroup if, an only if, there exists \(j \in \{1, \ldots, 14\}\) such that \(T_j\) is a numerical semigroup and \(j \in T_j\). The first condition is true for \(j \in \{1, 2, 3, 4, 5, 6, 8, 10\}\) and the second condition it holds for \(j \in \{10, 11, 12, 13, 14\}\), concluding that \(j = 10\) is the only possibility and

\[ S = \{15, 17, 19, 20, 22, 24, \rightarrow \} \cup {0} = (10 + \{5,7,9,10,12,14, \rightarrow\}) \cup {0} \]

\[ \Longrightarrow S = (10 + \langle 5,7,9 \rangle) \cup \{0\}, \]

concluding that \(S\) is a dilatation of \(\langle 5, 7, 9 \rangle\).

Examples with GAP

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

\(\diamond\) Let \(S = \langle 14, 15, 27, 40, 46, 65 \rangle\), in GAP:

gap> S := NumericalSemigroup(14, 15, 27, 40, 46, 65);
<Numerical semigroup with 6 generators>

Given a numerical semigroup \(S\) and a non-negative integer \(a \in S\), the function DilatationOfNumericalSemigroup returns the dilatation of \(S\) with respect to \(a\).

gap> 29 in S;
true
gap> T := DilatationOfNumericalSemigroup(S, 29);
<Numerical semigroup>
gap> I := MinimalGenerators(T);
[ 41, 42, 54, 55, 56, 57, 67, 68, 69, 70, 71, 72, 73, 81, 85, 86, 87, 88, 92, 94, 100, 101, 102, 103, 106, 107, 116, 117, 118, 119, 120, 131, 132 ]
gap> L := SmallElements(T);
[ 0, 41, 42, 54, 55, 56, 57, 67, 68, 69, 70, 71, 72, 73, 81, 82, 83, 84,
  85, 86, 87, 88, 92, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 106 ]

Therefore, \(T = (\{29 + s ~ | ~ s \in S \setminus \{0\}\}) \cup \{0\} = \langle I \rangle = \{L, \rightarrow\}\).

\(\diamond\) Given a numerical semigroup \(S\), the following function returns true if \(S\) is a dilatation of a certain numerical semigroup and false otherwise.

gap> IsDilatationOfNumericalSemigroup := function(S)
>       local m, C, sm_elem, j, sm_elem_j;
>       if not IsNumericalSemigroup(S) then
>           Error("The argument must be a Numerical Semigroup");
>       fi;
>       if 1 in S then
>           return false;
>       fi;
>       m := Multiplicity(S);
>       C := Conductor(S);
>       sm_elem := SmallElements(MaximalIdeal(S));
>       for j in [1..(m-1)] do
>       sm_elem_j := sm_elem - j;
>       if RepresentsSmallElementsOfNumericalSemigroup(Union(sm_elem_j, [0])) then
>           if j in sm_elem_j or j > C-j then
>               return true;
>           fi;
>       fi;
>       od;
>       return false;
> end;
function( S ) ... end

Moreover, given a dilatation numerical semigroup \(T\), the following function returns a list with two elements, a numerical semigroup \(S\) and an element \(s \in S \setminus \{0\}\) such that \(T\) is a dilatation of \(S\) with respect to \(s\).

gap> WhichDilatationOfNumericalSemigroup := function(S)
>       local m, C, sm_elem, j, sm_elem_j, S_j;
>       if not IsNumericalSemigroup(S) then
>           Error("The argument must be a Numerical Semigroup");
>       fi;
>       if 1 in S then
>           return false;
>       fi;
>       m := Multiplicity(S);
>       C := Conductor(S);
>       sm_elem := SmallElements(MaximalIdeal(S));
>       for j in [1..(m-1)] do
>       sm_elem_j := sm_elem - j;
>       if RepresentsSmallElementsOfNumericalSemigroup(Union(sm_elem_j, [0])) then
>           if j in sm_elem_j or j > C-j then
>               S_j := NumericalSemigroupBySmallElements(Union(sm_elem_j, [0]));
>               return [S_j, j];
>           fi;
>       fi;
>       od;
>       Error("The argument must be a dilatation Numerical Semigroup");
> end;    
function( S ) ... end

Let \(S = \langle 13, 14, 25, 29 \rangle\), in GAP:

gap> S := NumericalSemigroup(13, 14, 25, 29);
<Numerical semigroup with 4 generators>

We have that \(S\) is not a dilatation of any numerical semigroup.

gap> IsDilatationOfNumericalSemigroup(S);
false

Therefore, there exist non-trivial numerical semigroups that are not a dilatation.

References

Barucci, Strazzanti, V. 2019. “Dilatations of Numerical Semigroups.” Semigroup Forum 98: 251–60. https://doi.org/10.1007/s00233-018-9922-9.
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.