NumericalSgps an introduction - SSC 2023

Ideals of numerical semigroups

Let \(S\) be a numerical semigroup. A subset \(I\) of \(\mathbb{Z}\) is an ideal of \(S\) if \(I+S\subseteq I\) and there exists \(s\in S\) such that \(s+I\subseteq S\) (this last condition is equivalent to saying that \(I\) has a minimum).

There are a couple of “standard” ideals of \(S\). The maximal ideal, \(S^*\), and the standard canonical ideal

\[ \operatorname{K}(S)=\{z \in \mathbb{Z} : \operatorname{F}(S)-z\not\in S\}. \]

As with numerical semigroup, we can depict the elements of an ideal via its small elements \(\{s_1,\dots,s_n\}\) such that \(I=\{s_1,\dots,s_n,\to\}\), with \(s_n\) the conductor of the ideal, which is the smallest integer \(c\) in \(I\) such that \(c+\mathbb{N}\subseteq I\).

LoadPackage("num");
true
s:=NumericalSemigroup(6,9,11);;
m:=MaximalIdeal(s);;
SmallElements(m);
[ 6, 9, 11, 12, 15, 17, 18, 20, 21, 22, 23, 24, 26 ]
k:=CanonicalIdeal(s);;
SmallElements(k);
[ 0, 6, 9, 11, 12, 15, 17, 18, 20, 21, 22, 23, 24, 26 ]
k=0+s;
true

It is easy to see that \(\operatorname{K}(S)=S\) if and only if \(S\) is symmetric.

The Frobenius number of \(I\) is defined as \(\max(\mathbb{Z}\setminus I)\).

FrobeniusNumber(k);
25
FrobeniusNumber(s);
25

If \(I\) is an ideal, so is any of its translates by an integer. We say that two ideals \(I\) and \(J\) are equivalent if there is an integer \(z\) such that \(I=z+J\).

10+k;
<Ideal of numerical semigroup>

We can translate every ideal so that its minimum is zero in the following way:

m0:=-Minimum(m)+m;
SmallElements(m0);
<Ideal of numerical semigroup>
[ 0, 3, 5, 6, 9, 11, 12, 14, 15, 16, 17, 18, 20 ]

Or we can translate an ideal so that it has the same Frobenius number has its ambient semigroup.

tilde:=i->i+FrobeniusNumber(AmbientNumericalSemigroupOfIdeal(i))-FrobeniusNumber(i);
function( i ) ... end

AmbientNumericalSemigroupOfIdeal outputs the ambient semigroup of an ideal.

SmallElements(tilde(m));
[ 6, 9, 11, 12, 15, 17, 18, 20, 21, 22, 23, 24, 26 ]
tilde(m)=m;
true

The ideal tilde(I) has the property that it contains \(\operatorname{C}(S)+\mathbb{N}\) and it is contained in the standard canonical ideal of \(S\).

IsSubset(k,tilde(m));
true

Notice that if \(X\) is a finite subset of integers, then \(X+S=\bigcup_{x\in X} x+S\) is an ideal of \(S\).

i:=[0,3]+s;
<Ideal of numerical semigroup>
SmallElements(i);
[ 0, 3, 6, 9, 11, 12, 14, 15, 17, 18, 20 ]

As a matter of fact, every ideal of \(S\) is of this form.

Let \(I\) be an ideal, and let \(i_0=\min(I)\). Then \(i_0+S\subseteq I\). Take \(i_1=\min(I\setminus (i_0+S))\). Then \(i_1\) is not congruent with \(i_0\) módulo \(\operatorname{m}(S)\), since \(i_0+k\operatorname{m}(S)\in i_0+S\) for all \(k\in\mathbb{N}\). We can define \(i_{k+1}=\min(I\setminus \bigcup_{j=0}^k (i_j+S))\), whenever \(I\setminus \bigcup_{j=0}^k (i_j+S)\) is not empty. As every new \(i_k\) is not congruent with the previous ones modulo \(\operatorname{m}(S)\), we have that at some point \(I\setminus \bigcup_{j=0}^l (i_j+S)\) is empty. In this way,

\[ I=\{i_0,\dots,i_l\}+S. \]

The elements \(\{i_0,\dots,i_l\}\) are a minimal generating set of \(I\).

An ideal is principal if it is of the form \(x+S\).

MinimalGenerators(m);
[ 6, 9, 11 ]
MinimalGenerators(k);
[ 0 ]

Minimal generators of \(I\) can be obtained by computing \(I\setminus(M+I)\), with \(M=S\setminus\{0\}\).

Difference(i,m+i);
[ 0, 3 ]

Basic operations

We have seen that translates of ideals by integers are idals. Intersections and unions of ideals are ideals. Also the sum of two ideals is an ideal.

5+i;
<Ideal of numerical semigroup>
i:=[0,3]+s;;
j:=[2,5]+s;;
Intersection(i,j);
<Ideal of numerical semigroup>
Union(i,j);
<Ideal of numerical semigroup>
i+j;
<Ideal of numerical semigroup>

In particular, \(nI\) represents \(I+\dots+I\) (\(n\) times).

2*i=i+i;
true

Given two ideals \(I\) and \(J\), the set

\[ I-J=\{z \in \mathbb{Z} : z+J\subseteq I\} \]

is an ideal.

i-j;
<Ideal of numerical semigroup>
SmallElements(i-j);
[ -2, 1, 4, 7, 9, 10, 12, 13, 15, 16, 18 ]

The trace ideal of \(S\) is defined as \(K+(S-K)\).

TraceIdeal(s);
<Ideal of numerical semigroup>

Some other notable elements

We have defined already what the conductor, Frobenius number and minimal generators. We can, as in the case of numerical semigroups define the concepts of Apéry set, genus and type.

SmallElements(i);
[ 0, 3, 6, 9, 11, 12, 14, 15, 17, 18, 20 ]
AperyList(i,9);
[ 0, 28, 11, 3, 22, 14, 6, 25, 17 ]

Apéry lists in numericalsgps for ideals are only defined for elements in the ambient numerical semigroup.

If no second argument is given, the Apéry set is computed with respect to \(\operatorname{m}(S)\).

AperyList(i);
[ 0, 25, 14, 3, 22, 11 ]

The idea of Apery list can be captured by using set difference. Though the output is not sorted in the same way as AperyList.

Difference(i,6+i);
[ 0, 3, 11, 14, 22, 25 ]
Difference(i,3+i);
[ 0, 11, 22 ]
Difference(i,0+s);
[ 3, 14, 25 ]
Difference(i,i+14);
[ 0, 3, 6, 9, 11, 12, 15, 18, 21, 22, 24, 27, 30, 33 ]
Length(Difference(i,i+14));
14
Difference(i,2+i);
[ 0, 3, 6, 9, 12, 15, 18, 21 ]
AperyList(s,-1);
[ 0, 6, 9, 12, 15, 18, 24 ]

The genus of an ideal \(I\) is defined as \(|(\min(I)+\mathbb{N})\setminus I|\).

Length(Difference([Minimum(i)..Conductor(i)],SmallElements(i)));
10

The type of \(I\) is defined as \(|(I-M)\setminus I|\) with \(M=S\setminus\{0\}\). The set \((I-M)\setminus I\) is the set of pseudo-Frobenius numbers of \(I\).

Type(i);
2
PseudoFrobenius(i);
[ 16, 19 ]

The type of the standard canonical ideal is always one.

Type(k);
1

While the type of the maximal ideal is one plus the type of the semigroup.

Type(m);
2
Type(s);
1
PseudoFrobenius(m);
[ 0, 25 ]

Every ideal \(I\) can be decomposed as an intersection of irreducible ideals (those that cannot be expressed as intersection of other ideals properly containing them). This decomposition is unique and contains precisely \(\operatorname{t}(I)\) irreducible ideals.

Type(i);
2
IrreducibleZComponents(i);
[ <Ideal of numerical semigroup>, <Ideal of numerical semigroup> ]
i=Intersection(IrreducibleZComponents(i));
true

Ideals as infinite lists of integers

Ideals are lists of integers, and as such we can obtain an element in a specific position, a range of elements, or even intersect them with other lists of integers.

SmallElements(i);
[ 0, 3, 6, 9, 11, 12, 14, 15, 17, 18, 20 ]
i[1];
0
i[4];
9
i{[10..20]};
[ 18, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29 ]
Intersection(i,[0..20]);
[ 0, 3, 6, 9, 11, 12, 14, 15, 17, 18, 20 ]

Membership is performed as in list (thogh the imlementation is slightly different).

3 in i;
true
2 in i;
false
s:=NumericalSemigroup(3,5,7);;
i:=2+s;;
Difference(0+s,i); #Difference(s,i) will not work
[ 0, 3, 6 ]

Integral ideals

An ideal \(I\) of \(S\) is said to be integral if \(I\subseteq S\).

s:=NumericalSemigroup(4,6,9);;
i:=[0,2]+s;;
IsIntegral(i);
false
IsIntegral(4+s);
true

The complement of any proper ideal in the semigroups is “divisor closed”, in the sense that if \(x\in S\setminus I\), then for every \(y\le_S x\), we have \(y\in S\setminus I\) (remenber that \(a\le_S b\) if \(b-a\in S\)). The converse is also true: the complement of every divisor closed finite set yields is an integral ideal.

s:=NumericalSemigroup(10,11,15,19);;
i:=[20,21,25]+s;;
d:=Difference(0+s,i);
i=IdealByDivisorClosedSet(d,s);
[ 0, 10, 11, 15, 19, 22, 26, 29, 33, 34, 37, 38, 48 ]
true

Any integral ideal can be decomposed in a unique irredundant intersection of irreducible integral ideals.

di:=DecomposeIntegralIdealIntoIrreducibles(i);
[ <Ideal of numerical semigroup>, <Ideal of numerical semigroup> ]
SmallElements(i);
[ 20, 21, 25, 30, 31, 32, 35, 36, 39, 40, 41, 42, 43, 44, 45, 46, 47, 49 ]
List(di,SmallElements);
[ [ 10, 11, 20, 21, 22, 25, 26, 29, 30, 31, 32, 33, 35 ],   [ 20, 21, 25, 30, 31, 32, 34, 35, 36, 39, 40, 41, 42, 43, 44, 45, 46, 47,       49 ] ]
i=Intersection(di);
true

Reduction number and blow-ups

For an integral ideal \(I\) of a numerical semigroup, the Hilbert function associated to \(I\) is the map that associates to every nonnegative integer \(n\) the cardinality of \(nI\setminus (n+1)I\).

s:=NumericalSemigroup(4,6,9);;
m:=MaximalIdeal(s);;
h:=HilbertFunction(m);
function( n ) ... end
List([1..10],h);
[ 3, 4, 4, 4, 4, 4, 4, 4, 4, 4 ]

Not to be confused wit the Hilbert series of \(S\): \(\sum_{s\in S}x^s\).

There is an integer \(n\) such that \(\min(I)+nI=(n+1)I\), which is called the reduction number of \(I\).

ReductionNumber(m);
2

The blow-up of an ideal is the ideal \(\bigcup_{n\in\mathbb{N}} (nI-nI)\).

bi:=BlowUp([0,2]+s);
<Ideal of numerical semigroup>
SmallElements(bi);
[ 0, 2, 4, 6, 8 ]

The blow-up of \(S\) is the blow-up of its maximal ideal.

bs:=BlowUp(s);
SmallElements(bs);
<Numerical semigroup with 2 generators>
[ 0, 2, 4 ]

The Blow-up of a numerical semigroup \(S=\langle n_1,\dots,n_e\rangle\) with multiplicity \(m=n_1\) is precisely the Lipman semigroup associated to \(S\): \(\langle n_2-n_1, n_3-n_1,\dots,n_e-n_1\rangle\).

LipmanSemigroup(s)=BlowUp(s);
true
MinimalGenerators(LipmanSemigroup(s));
[ 2, 5 ]

After repeating the operation of computing Lipman semigroups one reaches \(\mathbb{N}\); the sequence of multiplicities of the semigroups obtained is called the multiplicity sequence of the semigroup.

MultiplicitySequence(s);
[ 4, 2, 2, 1 ]

The the Ratliff-Rush closure of \(I\) is \(\bigcup_{n\in\mathbb{N}} ((n+1)I-nI)\).

RatliffRushClosure(m);
<Ideal of numerical semigroup>

The Ratliff-Rush number of \(I\) is the least integer \(n\) such that the Ratliff-Rush closure of \(I\) equals \((n+1)I-nI\).

RatliffRushNumber(m);
1
RatliffRushClosure(m)=2*m-m;
true