Some basic definitions¶
Recall that a numerical semigroup is a subset of the set of nonnegative integers, , that is closed under addition, , and there are only finitely many positive integers not belonging to . The first two contidions imply that is a submonoid of .
The set is known as the set of gaps of , denoted , and the largest integer not belonging to is its Frobenius number, . The conductor of , has the following property: .
LoadPackage("num");
true
s:=NumericalSemigroupByGaps([1..5]);
<Numerical semigroup>
10 in s;
true
FrobeniusNumber(s);
5
Gaps(s);
[ 1 .. 5 ]
We can see which elements in the semigroup are in a given interval.
Intersection(s,[0..30]);
[ 0, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 ]
Or which is the th element in the semigroup.
s[30];
34
Or even, what are the first elements in the semigroup.
s{[1..20]};
[ 0, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24 ]
The genus of is the cardinality of , denoted .
Genus(s);
5
The set is known as the set of small elements of (if we remove the conductor, then somtimes is called the set of left or sporadic elements).
SmallElements(s);
[ 0, 6 ]
s=NumericalSemigroupBySmallElements([0,6]);
true
Denote by . It follows that . Since for every with we have that , we have that there are less left elements than gaps, and so the following inequality always holds.
Genus(s)>= (FrobeniusNumber(s)+1)/2;
true
Given a set of positive integers, the submonoid (under addition) of generated by is the intersection of all submonoids of contanining , which can be described as
The submonoid is a numerical semigroup if and only if .
We say that is a generating system of if , and that is a minimal generating system of if, in addition, no proper subset of generates .
Every numerical semgiroup has a unique minimal generating system: , with . Sometimes the elements in the minimal generating system of are called minimal generators, atoms, irreducible, or primitive elements of . The cardinality of the minimal generating system of is known as the embedding dimension of , denoted .
Generators(s);
[ 6 .. 11 ]
MinimalGenerators(s);
[ 6 .. 11 ]
EmbeddingDimension(s);
6
We can define a numerical semigoup by giving one of its generating sets.
s:=NumericalSemigroup(3,5,7);
<Numerical semigroup with 3 generators>
The multiplicity of a numerical semigroup is the least positive integer in (and coincides with its smallest minimal generator), we will denote it by .
Multiplicity(s);
3
Apéry sets¶
One of the most important tools when studying numerical semigroups is the concept of Apéry sets. Given a numerical semigroup and a nonzero element of (one can define also Apéry sets for elements outside , but we are not going to deal with them here), the Apéry set of in (or of with respect to ) is the set
This set has precisely elements, one in each congruence class modulo . Moreover, for every there exist unique and such that . This in particular implies that the embedding dimension of is always smaller than or equal to its multiplicity, since is a minimal generating set of for all .
s:=NumericalSemigroup(6,10,15);;
AperyList(s,12);
[ 0, 25, 26, 15, 16, 41, 6, 31, 20, 21, 10, 35 ]
If the second argument is not given, then the Apéry set is taken with respect to the multiplicity of the numerical semigroup.
AperyList(s);
[ 0, 25, 20, 15, 10, 35 ]
The output is arranged in a list, so that in the th position (starting in 0) we find the least element in congruent with modulo . In this way, membership to becomes trivial once an Apéry set of the semigroup is known.
This has some other interesting consequences:
FrobeniusNumber(s)=Maximum(AperyList(s,12))-12;
true
Genus(s)=(Sum(AperyList(s,12)))/12- (12-1)/2;
true
Let be the multiplcity of , and let be the element in the Apéry set of in congruent with modulo . We can write . The tuple is known as the Kunz coordinates of .
KunzCoordinates(s);
[ 4, 3, 2, 1, 5 ]
Notice that every nonnegative integer can be written as for some , with . It follows easily that if and only if . So it is at no surprise that the genus is precisely the sum of the Kunz coordinates of , which is just a reformulation of the above statement on the genus.
Genus(s)=Sum(KunzCoordinates(s));
true
Notice that for all , and thus , this imposes some conditions on the tuples that can be Kunz coordinates of a numerical semigroup with multiplicity . In fact, there is a one to one correspondence between numerical semigroups with multiplicity and integers points in what it is called the Kunz polyhedron.
KunzPolytope(6);
[ [ 1, 0, 0, 0, 0, -1 ], [ 0, 1, 0, 0, 0, -1 ], [ 0, 0, 1, 0, 0, -1 ], [ 0, 0, 0, 1, 0, -1 ], [ 0, 0, 0, 0, 1, -1 ], [ 2, -1, 0, 0, 0, 0 ], [ 1, 1, -1, 0, 0, 0 ], [ 1, 0, 1, -1, 0, 0 ], [ 1, 0, 0, 1, -1, 0 ], [ 0, 2, 0, -1, 0, 0 ], [ 0, 1, 1, 0, -1, 0 ], [ -1, 1, 0, 0, 1, 1 ], [ -1, 0, 1, 1, 0, 1 ], [ 0, -1, 1, 0, 1, 1 ], [ 0, -1, 0, 2, 0, 1 ], [ 0, 0, -1, 1, 1, 1 ], [ 0, 0, 0, -1, 2, 1 ] ]
The first elements of this output mean that , while for instance translates to , and to .
x:=List([1..5],i->Indeterminate(Rationals,i));;
x1:=Concatenation(x,[1]);;
for eq in KunzPolytope(6) do Print(eq*x1," ≥ 0\n"); od;
x_1-1 ≥ 0
x_2-1 ≥ 0
x_3-1 ≥ 0
x_4-1 ≥ 0
x_5-1 ≥ 0
2*x_1-x_2 ≥ 0
x_1+x_2-x_3 ≥ 0
x_1+x_3-x_4 ≥ 0
x_1+x_4-x_5 ≥ 0
2*x_2-x_4 ≥ 0
x_2+x_3-x_5 ≥ 0
-x_1+x_2+x_5+1 ≥ 0
-x_1+x_3+x_4+1 ≥ 0
-x_2+x_3+x_5+1 ≥ 0
-x_2+2*x_4+1 ≥ 0
-x_3+x_4+x_5+1 ≥ 0
-x_4+2*x_5+1 ≥ 0
Pseudo-Frobenius numbers and type¶
Let be a numerical semigroup. A pseudo-Frobenius number is an integer such that . In particular, the Frobenius number of is a pseudo-Frobenius number. The cardinality of the set of pseudo-Frobenius numbers of , , is known as the type of .
The semigroup induces the following ordering over the integers: if . It easily follows that
s:=NumericalSemigroup(6,11,13,21);
<Numerical semigroup with 4 generators>
PseudoFrobenius(s);
[ 15, 16, 20 ]
Type(s);
3
Is is not difficult to prove that for any ,
rap:=HasseDiagramOfAperyListOfNumericalSemigroup(s);
<general mapping: Domain([ 0, 11, 13, 21, 22, 26 ]) -> Domain([ 0, 11, 13, 21, 22, 26 ]) >
JupyterSplashDot(DotBinaryRelation(rap));
6+PseudoFrobenius(s);
[ 21, 22, 26 ]
The minimal elements in with respect to are precisely the minimal generators of .
For every element , we have that is a gap of . Thus . By combining this with , we obtain
Genus(s);
13
(FrobeniusNumber(s)+Type(s))/2;
23/2
Duality minimal generators and special gaps¶
Notice that for a given numerical semigroup , an element is a minimal generator if and only if is also a numerical semigroup (which has one more gap than ). Starting with , by removing minimal generators we can construct all numerical semigroups with a given genus.
c:=Union(List([0..4],i->NumericalSemigroupsWithGenus(i)));;
cc:=Filtered(Cartesian(c,c),p->IsSubset(p[2],p[1]) and IsSubset(MinimalGenerators(p[2]),Difference(p[2],p[1]))
and Length(Difference(p[2],p[1]))=1);;
d:=Domain(List(c,MinimalGenerators));;
pairs:=List(cc,p->Tuple([MinimalGenerators(p[1]),MinimalGenerators(p[2])]));;
br:=BinaryRelationByElements(d,pairs);
<general mapping: Domain([ [ 1 ], [ 2, 3 ], [ 2, 5 ], [ 2, 7 ], [ 2, 9 ], [ 3 .. 5 ], [ 3, 4 ], [ 3, 5, 7 ], [ 3, 5 ], [ 3, 7, 8 ], [ 4 .. 7 ], [ 4, 5, 6 ], [ 4, 5, 7 ], [ 4, 6, 7, 9 ], [ 5 .. 9 ] ]) -> Domain([ [ 1 ], [ 2, 3 ], [ 2, 5 ], [ 2, 7 ], [ 2, 9 ], [ 3 .. 5 ], [ 3, 4 ], [ 3, 5, 7 ], [ 3, 5 ], [ 3, 7, 8 ], [ 4 .. 7 ], [ 4, 5, 6 ], [ 4, 5, 7 ], [ 4, 6, 7, 9 ], [ 5 .. 9 ] ]) >
JupyterSplashDot(DotBinaryRelation(br));
For any numerical semigroup (other than ), the set is also a numerical semigroup. The semigroup is obtained from by removing a minimal generator larger than its Frobenius number.
So if we remove minimal generators larger than the Frobenius number, we still obtain the same numerical semigroups, but the above directed graph becomes a tree.
cc:=Filtered(Cartesian(c,c),p->IsSubset(p[2],p[1]) and Difference(p[2],p[1])=[FrobeniusNumber(p[1])]);;
pairs:=List(cc,p->Tuple([MinimalGenerators(p[1]),MinimalGenerators(p[2])]));;
br:=BinaryRelationByElements(d,pairs);
<general mapping: Domain([ [ 1 ], [ 2, 3 ], [ 2, 5 ], [ 2, 7 ], [ 2, 9 ], [ 3 .. 5 ], [ 3, 4 ], [ 3, 5, 7 ], [ 3, 5 ], [ 3, 7, 8 ], [ 4 .. 7 ], [ 4, 5, 6 ], [ 4, 5, 7 ], [ 4, 6, 7, 9 ], [ 5 .. 9 ] ]) -> Domain([ [ 1 ], [ 2, 3 ], [ 2, 5 ], [ 2, 7 ], [ 2, 9 ], [ 3 .. 5 ], [ 3, 4 ], [ 3, 5, 7 ], [ 3, 5 ], [ 3, 7, 8 ], [ 4 .. 7 ], [ 4, 5, 6 ], [ 4, 5, 7 ], [ 4, 6, 7, 9 ], [ 5 .. 9 ] ]) >
JupyterSplashDot(DotBinaryRelation(br));
Now let us think about the dual process: what are the gaps that I may add to a numerical semigroup in order to obtain a nuew numerical semigroup. We already know that we can always add the Frobenius number, but we may have some other options. Let be a numerical semigroup and let be a gap of . As we want to be a numerical semigroup, , and consequently must be in . But also for every positive integer . This means that . The set of gaps having these properties are known as special gaps.
s:=NumericalSemigroup(4,7,9,10);;
SpecialGaps(s);
[ 5, 6 ]
If we keep adding special gaps to our semigroup and the resulting semigroups, we will obtain the set of all oversemigroups of the given numerical semigroup.
s:=NumericalSemigroup(4,5,7);;
JupyterSplashDot(DotOverSemigroups(s));
When some bounds are attained¶
Numerical semigroups with maximal embedding dimension¶
We have already seen that the embedding dimension of a numerical semigroup is always less than or equal to the multiplicity. We say that a numerical semigroup has maximal embedding dimension if .
s:=NumericalSemigroup(3,5,7);;
IsMED(s);
true
A numerical semigroup is of maximal embedding dimension if and only if is a numerical semigroup, or equivalently, for any with , we have .
It turns out that the intersecction of two maximal embedding dimension numerical semigroups is again of maximal embedding dimension, and thus we can think about a maximal embedding dimension closure.
s:=NumericalSemigroup(3,5);;
MinimalGenerators(MEDClosure(s));
[ 3, 5, 7 ]
It also makes sense to talk abot the minimal generators as a numerical semigroup with maximal embedding dimension. An element in a numerical semigroup with maximal embedding dimension, with , will be in that minimal MED generating system if and only if is again a numerical semigroup with maximal embedding dimension.
MinimalMEDGeneratingSystemOfMEDNumericalSemigroup(NumericalSemigroup(3,5,7));
[ 3, 5 ]
t:=RemoveMinimalGeneratorFromNumericalSemigroup(5,s);
<Numerical semigroup with 3 generators>
MinimalGenerators(t);
[ 3, 8, 10 ]
IsMED(t);
true
If is a numerical semigroup with maximal embedding dimension, then , and thus . It is not hard to prove that has maximal embedding dimension if and only if it has maximal type.
Type(NumericalSemigroup(3,5,7));
2
A particular class of numerical semigroups with maximal embedding dimension is that of Arf numerical semigroups. A numerical semigroup if Arf if for any , with , one gets . Clearly, the intersection of two Arf numerical semigroups is again an Arf numerical semigroup.
MinimalGenerators(ArfNumericalSemigroupClosure(NumericalSemigroup(3,5)));
[ 3, 5, 7 ]
Irreducible numerical semigroups¶
We say that a numerical semigroup is irreducible if it cannot be expressed as the intersection of two numerical semigroups properly containing it.
It can be (easily) shown that if we fix a positive integer , then is irreducible if and only if it is maximal (with respect to inclusion) in the set of all numerical semigroups with Frobenius number (or equivalently, in the set of all numerical semigroups not containing ).
Recall that . Having less genus means being “bigger”, and so if is odd, then is irreducible if and only if .
For even, we obtain that is irreducible if and only if .
Every numerical semigroup can be expressed as a finite intersection of irreducible numerical semigroups. Two minimal (non-redundant) expressions of the semigroup as intersection of irreducible numerical semigroup may have different factors.
s:=NumericalSemigroup(3,7,8);
<Numerical semigroup with 3 generators>
SmallElements(s);
[ 0, 3, 6 ]
IsIrreducible(s);
false
l:=DecomposeIntoIrreducibles(s);
[ <Numerical semigroup with 2 generators>, <Numerical semigroup with 3 generators> ]
List(l,SmallElements);
[ [ 0, 3, 4, 6 ], [ 0, 3, 5 ] ]
Notice also that for every integer , both and cannot be in (since otherwise their sum, which is , would be in ). If we want to have the least possible number of gaps once the Frobenius number is fixed, then we do not want and to be gaps at the same time (unless they are the same and then ).
Assume that is odd. Then we say that is symmetric if for any integer , we have that . A numerical semigroup with odd Frobenius number is irreducible if and only if it is symmetric.
For the case even, we have to take into account . A numerical semigroup is pseudo-symmetric if is even and for any integer not in and different from , we have that . A numerical semigroup with even Frobenius number is irreducible if and only if it is pseudo-symmetric.
PseudoFrobenius(s);
[ 4, 5 ]
li:=IrreducibleNumericalSemigroupsWithFrobeniusNumber(13);
[ <Numerical semigroup>, <Numerical semigroup>, <Numerical semigroup>, <Numerical semigroup>, <Numerical semigroup>, <Numerical semigroup>, <Numerical semigroup>, <Numerical semigroup> ]
List(li,PseudoFrobenius);
[ [ 13 ], [ 13 ], [ 13 ], [ 13 ], [ 13 ], [ 13 ], [ 13 ], [ 13 ] ]
li:=IrreducibleNumericalSemigroupsWithFrobeniusNumber(14);
[ <Numerical semigroup>, <Numerical semigroup>, <Numerical semigroup>, <Numerical semigroup>, <Numerical semigroup>, <Numerical semigroup> ]
List(li,PseudoFrobenius);
[ [ 7, 14 ], [ 7, 14 ], [ 7, 14 ], [ 7, 14 ], [ 7, 14 ], [ 7, 14 ] ]
Symmetric numerical semigroups correspond with those numerical semigroups of type one, while is pseudo-symmetric if and only if . As we have seen above, there are numerical semigroups with type two that are not pseudo-symmetric.
LoadPackage("jupyterviz");
true
li:=List([1..25], i->[i,Length(IrreducibleNumericalSemigroupsWithFrobeniusNumber(i))]);
[ [ 1, 1 ], [ 2, 1 ], [ 3, 1 ], [ 4, 1 ], [ 5, 2 ], [ 6, 1 ], [ 7, 3 ], [ 8, 2 ], [ 9, 3 ], [ 10, 3 ], [ 11, 6 ], [ 12, 2 ], [ 13, 8 ], [ 14, 6 ], [ 15, 7 ], [ 16, 7 ], [ 17, 15 ], [ 18, 7 ], [ 19, 20 ], [ 20, 11 ], [ 21, 18 ], [ 22, 20 ], [ 23, 36 ], [ 24, 14 ], [ 25, 44 ] ]
Display(li);
[ [ 1, 1 ],
[ 2, 1 ],
[ 3, 1 ],
[ 4, 1 ],
[ 5, 2 ],
[ 6, 1 ],
[ 7, 3 ],
[ 8, 2 ],
[ 9, 3 ],
[ 10, 3 ],
[ 11, 6 ],
[ 12, 2 ],
[ 13, 8 ],
[ 14, 6 ],
[ 15, 7 ],
[ 16, 7 ],
[ 17, 15 ],
[ 18, 7 ],
[ 19, 20 ],
[ 20, 11 ],
[ 21, 18 ],
[ 22, 20 ],
[ 23, 36 ],
[ 24, 14 ],
[ 25, 44 ] ]
Almost symmetric numerical semigroups¶
Recall that for a numerical semigroup , . We say that is almost symmetric if . Consequently, these are numerical semigroups maximal with respect to inclusion once the type and the Frobenius number are fixed.
Clearly, every irreducible numerical semigroup is almost symmetric.
s:=NumericalSemigroup(3,7,8);;
IsAlmostSymmetric(s);
false
FrobeniusNumber(s);
5
la:=AlmostSymmetricNumericalSemigroupsWithFrobeniusNumber(5);
[ <Numerical semigroup>, <Numerical semigroup>, <Numerical semigroup>, <Numerical semigroup> ]
List(la,SmallElements);
[ [ 0, 6 ], [ 0, 4, 6 ], [ 0, 2, 4, 6 ], [ 0, 3, 4, 6 ] ]
SmallElements(s);
[ 0, 3, 6 ]
li:=List([1..25], i->[i,Length(AlmostSymmetricNumericalSemigroupsWithFrobeniusNumber(i))]);
[ [ 1, 1 ], [ 2, 1 ], [ 3, 2 ], [ 4, 2 ], [ 5, 4 ], [ 6, 3 ], [ 7, 7 ], [ 8, 6 ], [ 9, 11 ], [ 10, 9 ], [ 11, 20 ], [ 12, 15 ], [ 13, 32 ], [ 14, 24 ], [ 15, 47 ], [ 16, 42 ], [ 17, 83 ], [ 18, 58 ], [ 19, 131 ], [ 20, 103 ], [ 21, 188 ], [ 22, 151 ], [ 23, 323 ], [ 24, 241 ], [ 25, 494 ] ]
Display(li);
[ [ 1, 1 ],
[ 2, 1 ],
[ 3, 2 ],
[ 4, 2 ],
[ 5, 4 ],
[ 6, 3 ],
[ 7, 7 ],
[ 8, 6 ],
[ 9, 11 ],
[ 10, 9 ],
[ 11, 20 ],
[ 12, 15 ],
[ 13, 32 ],
[ 14, 24 ],
[ 15, 47 ],
[ 16, 42 ],
[ 17, 83 ],
[ 18, 58 ],
[ 19, 131 ],
[ 20, 103 ],
[ 21, 188 ],
[ 22, 151 ],
[ 23, 323 ],
[ 24, 241 ],
[ 25, 494 ] ]
There are many other generalizations of symmetry.
Minimal presentations¶
In mathematics many algebraic objects are given by means of (free) generators and some relations among them. For numerical semigroups it is sometimes useful to have representation of this form.
Let be a numerical semigroup minimally generated by . Every element admits an expression of the form , and for every , the integer . Thus, the following (monoid) morphism
is surjective. There is an isomorphism theorem for monoids, and consequently we have that is isomorphic to as a monoid, where . As a congruence, admints a system of generators, which is known as a presentation for .
A minimal presentation for is just a minimal generating system of .
s:=NumericalSemigroup(2,3);
<Numerical semigroup with 2 generators>
MinimalPresentation(s);
[ [ [ 0, 2 ], [ 3, 0 ] ] ]
Thus can be viewed as the monoid generated by and , which fulfil the relation .
Given , the set corresponds to all the expressions that migh have in terms of the minimal generators of . We will call this set, the set of factorizations of , and we will denote it by .
Factorizations(6,s);
[ [ 3, 0 ], [ 0, 2 ] ]
Factorizations(20,s);
[ [ 10, 0 ], [ 7, 2 ], [ 4, 4 ], [ 1, 6 ] ]
A set ρ generates a congruence σ on if for any pair there exists a chain such that
- , ,
- for all , there exists and such that and either or .
You can see the sequence as a chain of transformations from to , and at each step we are applying a relation (or trade) chanbe by (or viceversa).
For instance, in the above example . We start with and apply the only minimal relation we have on our numerical semigroup: . If we do this a couple of times more, we obtain the chaing , , , and .
s:=NumericalSemigroup(3,5,7);;
MinimalPresentation(s);
[ [ [ 0, 0, 2 ], [ 3, 1, 0 ] ], [ [ 0, 1, 1 ], [ 4, 0, 0 ] ], [ [ 0, 2, 0 ], [ 1, 0, 1 ] ] ]
Factorizations(20,s);
[ [ 5, 1, 0 ], [ 0, 4, 0 ], [ 1, 2, 1 ], [ 2, 0, 2 ] ]
Assume that we want to check that can be obtained from the minimal relations of . Notice that these two factorizations have some common support, in fact and . Thus, if we find a chain going from to , then by adding to all the steps, we obtain a chain connecting our original factorizations. But we already have this chain, since is already in our minimal presentation.
The idea can be extended to factorizations of larger elements in . Whenever they have a common “factor”, remove it, and try to connect the new factorizations. This motivates the definition of -classes.
Let be a subset of . We say that are connected if there exists a sequence (for some ) such that
- , ,
- for every , and have common support.
The connected components of under this relation are called -classes of .
Length(RClassesOfSetOfFactorizations(Factorizations(20,s)));
1
The idea is that whenever we are in the same -class, we can connect any two factorizations with a chain where two consequtive elements have common support. For these two elements, we remove the common part, moving now to the factorizations of an element smaller than the original one. If these two new factorizations are in the same -class, we repeat the process. This will end when we arrive at factorizations in different -classes, and then we only have to connect all the chains that we found translated accordingly.
Let us illustrate this with an example.
Factorizations(21,s);
[ [ 7, 0, 0 ], [ 2, 3, 0 ], [ 3, 1, 1 ], [ 0, 0, 3 ] ]
RClassesOfSetOfFactorizations(Factorizations(21,s));
[ [ [ 0, 0, 3 ], [ 2, 3, 0 ], [ 3, 1, 1 ], [ 7, 0, 0 ] ] ]
JupyterSplashDot(DotEliahouGraph(Factorizations(21,s)));
We know that , and we want to see how can we obtain this pair from the minimal relations of . Both and are in the same -class. We can, instance, connect them with the sequence , , . By transitivity, if we find a chain of trades going from to and another from to , by joining them we will find a chain from to .
By removing the common part of and , we obtain and , and the pair is in our minimal presentation. We do the same with and , obtaining and , and is in our minimal presentation. Let . Then .
In this construction, elements with more than one -class are crucial. These elements are called Betti elements (or degrees) of .
bs:=BettiElements(s);
[ 10, 12, 14 ]
List(bs,b-> RClassesOfSetOfFactorizations(Factorizations(b,s)));
[ [ [ [ 0, 2, 0 ] ], [ [ 1, 0, 1 ] ] ], [ [ [ 4, 0, 0 ] ], [ [ 0, 1, 1 ] ] ], [ [ [ 3, 1, 0 ] ], [ [ 0, 0, 2 ] ] ] ]
It is not hard to prove that if is a Betti element, then with and . Thus the number of Betti elements is finite. As a consequence of this, all minimal presentations have the same cardinality, since we only need relations “connecting” different -classes of the factorizations of the Betti elements of . This also provides a way do determine all minimal relations of a numerical semigroup (up to symmetry).
AllMinimalRelationsOfNumericalSemigroup(s);
[ [ [ 1, 0, 1 ], [ 0, 2, 0 ] ], [ [ 3, 1, 0 ], [ 0, 0, 2 ] ], [ [ 4, 0, 0 ], [ 0, 1, 1 ] ] ]
Minimal presentations of numerical semigroups with embedding dimension two have cardinality one. Thos for embedding dimension three have cardinality two or three. There are numerical semigroups with embedding dimension four with arbitrarily large minimal presentations.
Minimal presentations and binomial ideals¶
Let be a numerical semigroup minimally generated by . Let be a field and be the polynomial ring on the variables with coefficients in .
Let be another unknown. We can define the subring , which is known as the semigroup ring of . Let be the unique ring homomorphism determined by .
For , write . Clearly, , and consequently whenever , we have that . It is not hard to prove that
and that a set ρ generates as a congruence if and only if generates as an ideal.
s:=NumericalSemigroup(3,5,7);;
In order to compute we can use elimination in the following way.
x:=Indeterminate(Rationals,"x");;
y:=Indeterminate(Rationals,"y");;
z:=Indeterminate(Rationals,"z");;
t:=Indeterminate(Rationals,"t");;
We identify each variable to to the power of the corresponding minimal generator.
gens:=[x-t^3,y-t^5,z-t^7];;
Now, we eliminate the variable .
gr:=GroebnerBasis(gens,EliminationOrdering([t]));
[ -t^3+x, -t^5+y, -t^7+z, x*t^2-y, x^2*t-z, -x^2+y*t, -x^3+z*t^2, x*y-z*t, -x*z+y^2, -x^4+y*z, -x^3*y+z^2, x^2*y^3-z^3, -x*y^5+z^4, y^7-z^5 ]
gensi:=Filtered(gr, g->DegreeIndeterminate(g,t)=0);
[ -x*z+y^2, -x^4+y*z, -x^3*y+z^2, x^2*y^3-z^3, -x*y^5+z^4, y^7-z^5 ]
Next, we extract the exponents of the binomials obtained.
ed:=3;;
bintopair:=function(pp)
local m1,m2, d1, d2, p;
p:=pp/LeadingCoefficientOfPolynomial(pp,MonomialLexOrdering());
m1:=LeadingMonomialOfPolynomial(p, MonomialLexOrdering());
m2:=m1-p;
d1:=List([1..ed], i->DegreeIndeterminate(m1,i));;
d2:=List([1..ed], i->DegreeIndeterminate(m2,i));;
return Set([d1,d2]);
end;
function( pp ) ... end
rho:=List(gensi,bintopair);
[ [ [ 0, 2, 0 ], [ 1, 0, 1 ] ], [ [ 0, 1, 1 ], [ 4, 0, 0 ] ], [ [ 0, 0, 2 ], [ 3, 1, 0 ] ], [ [ 0, 0, 3 ], [ 2, 3, 0 ] ], [ [ 0, 0, 4 ], [ 1, 5, 0 ] ], [ [ 0, 0, 5 ], [ 0, 7, 0 ] ] ]
The resulting set does not have to be minimal in general. We can detect those factorizations that correspond to Betti elements.
betticand:=Set(rho, p->p[1]*MinimalGenerators(s));
[ 10, 12, 14, 21, 28, 35 ]
betti:=Filtered(betticand, b->Length(RClassesOfSetOfFactorizations(Factorizations(b,s)))>1);
[ 10, 12, 14 ]
List(betti, b->RClassesOfSetOfFactorizations(Factorizations(b,s)));
[ [ [ [ 0, 2, 0 ] ], [ [ 1, 0, 1 ] ] ], [ [ [ 4, 0, 0 ] ], [ [ 0, 1, 1 ] ] ], [ [ [ 3, 1, 0 ] ], [ [ 0, 0, 2 ] ] ] ]
Length based factorization invariants¶
Let be minimally generated by . Recall that the set of factorizations of an element is , that is,
Sets of lengths of factorizations¶
The length of a factorization is the number of minimal generators involved in it, that is, . We define the set of lenghts of the factorizations of as
s:=NumericalSemigroup(3,5,7);;
LengthsOfFactorizationsElementWRTNumericalSemigroup(200,s);
[ 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66 ]
Delta sets¶
One can arrange the lengths of the factorizations of an element in the following way . The Delta set of is then defined as .
DeltaSet(200,s);
[ 2 ]
The Delta set of is the union of all the delta sets of its elements.
DeltaSet(s);
[ 2 ]
Recall that a minimal presentation of was
rho:=MinimalPresentation(s);
[ [ [ 0, 0, 2 ], [ 3, 1, 0 ] ], [ [ 0, 1, 1 ], [ 4, 0, 0 ] ], [ [ 0, 2, 0 ], [ 1, 0, 1 ] ] ]
And that one can “walk” from a factorization to any other factorization of the same element by using this minimal relations.
Set(rho, p->AbsInt(Sum(p[1]-p[2])));
[ 0, 2 ]
So it comes as no surprise that . In fact, it is not difficult to prove , with σ any minimal presentation of , and that .
The idea behing the minimum is that any possible “jump” will be a linear combination of the “jumps” in the minimal relations. As for the maximum, “jumps” are preserved under translations, and thus the largest “jump” will be achieved between two factorizations with no commom support and in a Betti element.
The structure of is very well known when has embedding dimension two or three, and even when it is generated by an arithmetice sequence.
The elasticity¶
The elasticity of the factorizations of an element in a numerical semigroup is ratio between the largest length and smallest lenght of its factorizations, that is,
The elasticity of the semigroup is defined as
For numerical semigroups, this supremum becomes a maximum, and the elasticity is attained at the element (the product of the smallest generator times the largest generator).
Elasticity(100,s);
2
Elasticity(s);
7/3
Elasticity(3*7,s);
7/3
Distance based factorization invariants¶
s:=NumericalSemigroup(10,13,19,21);;
We have already used DotEliahouGraph
, the labels of the edges are the distances between de factorizations they connect.
JupyterSplashDot(DotEliahouGraph(Factorizations(100,s)));
The catenary degree¶
In addition, DotFactorizationGraph
draws a minimum spanning tree.
JupyterSplashDot(DotFactorizationGraph(Factorizations(100,s)));
In particular, this means that we can go from any factorization of 100 in to any other factorization of the same element by using a path such that two consecutive nodes are at a distance of at most four. This is precisely the idea behind the concept of catenary degree.
Let and be two factorizations of . An -chain joining and is a sequence of factorizations of such that . The catenary degree of , denoted , in the minimum such that for any two factorizations of there exists an -chain connecting them.
The catenary degree of is
This supremum is a maximum.
CatenaryDegree(100,s);
4
CatenaryDegree(s);
4
Recall that by using the minimal relations of we can find a path joining any two different factorizations of an element. Thus, it is not hard to prove that the maximum of the catenary degree of is attained at one of its Betti elements.
Set(BettiElements(s), b->CatenaryDegree(b,s));
[ 3, 4 ]
The tame degree¶
The catenary degree measures the minimum distance needed to find paths connecting any two factorizations of an element in the semigroup in such a way that every step in the path is withing that minimum distance.
The tame degree intends to measure a radius in which for any factorization of , with , you will find another factorization such that and .
Let such that for some . Define , which is nonempty as . Set
and
The tame degree of is defined as
s:=NumericalSemigroup( 24, 59, 114);
<Numerical semigroup with 3 generators>
TameDegree(s);
29
Usually the tame degre is not attained at the Betti elements.
Set(BettiElements(s),b->TameDegree(b,s));
[ 11, 19 ]
It can be shown that the tame degree of is attained at an element such that has a factorization in for some . Elements having this property are of the form with , more specifically, there exists such that and .
For , the Rosales graph is defined as follows. The vertices of are the minimal generators such that , and is an edge whenever .
JupyterSplashDot(DotRosalesGraph(400,s));
BettiElements(s);
[ 354, 456 ]
JupyterSplashDot(DotRosalesGraph(456,s));
JupyterSplashDot(DotRosalesGraph(354,s));
The number of connected components of coincides with the set of -classes of the set of factorizations of . Thus the catenary degree is attained in an with not connected, and the tame degree in an with not complete.
Primality¶
Recall that induces an order over the integers if . If and are in , then we say that divides if . In this way, minimal generators (irreducibles, atoms, primitive elements) are those not having proper divisors. A natural question arises: are there “prime” elements in a numerical semigroup. The ones to be candidates to be prime are the minimal generators of the semigroup.
Let be minimally generated by . Consider the set . Notice that , and so the set . Let , . Then divides and cannot divide any of its “factors”. Hence, cannot be prime.
Let . The ω-primality of , , is defined as the least integer such that whenever divides for some , then divides for some . By an argument similar to the one given above,
s:=NumericalSemigroup(3,5,7);
<Numerical semigroup with 3 generators>
OmegaPrimality(10,s);
5
Observe that if , then for some . Let be such . Then , and thus , which means that . This bounds the search for cmputing .
There is an alternative way to compute the set . Observe that if an only if for some . So we can solve the problem by looking at the nonnegative integer solutions (in to the equation
and then project onto the first coordinates.
The omega primality of is defined as the maximum of the omega primalities of its minimal generators.
OmegaPrimality(s);
4
It can be shown that
Divisors¶
Let be an element in a numerical semigroup . The set of divisors of is
The Feng-Rao distance of is defined as
Let be the conductor of and let be its genus. It can be shown that for ,
ndiv:={x,s}->Length(DivisorsOfElementInNumericalSemigroup(x,s));;
s:=NumericalSemigroup(3,5,7);;
List(s{[1..20]}, x->ndiv(x,s));
[ 1, 2, 2, 3, 2, 4, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 ]
FengRaoDistance(s,1,10);
5
The generalized Feng-Rao distance is defined as
where . It can be shown that for ,
The constant is known as the th Feng-Rao number. For ,
The definition of the Apéry set for elements not in is the same as the one given above.
Complete intersections¶
Let be a numerical semigroup minimally generated by with . The cardinality of a (any) minimal presentation is lowed bounded by and upper bounded by .
Numerical semigroups attaining the upper bound are precisely those of maximal embedding dimension.
A numerical semigroup is a complete intersection if its number of minimal relations is .
s:=NumericalSemigroup(4,6,9);;
MinimalPresentation(s);
[ [ [ 0, 0, 2 ], [ 0, 3, 0 ] ], [ [ 0, 2, 0 ], [ 3, 0, 0 ] ] ]
IsCompleteIntersection(s);
true
Let and be numerical semigroups, and let and (none of them a minimal generator). Then is again a numerical semigroup, and if and are the minimal generating systems of and , respectively, is a minimal generating system of .
In this case, we say that is a gluing of and .
AsGluingOfNumericalSemigroups(s);
[ [ [ 4 ], [ 6, 9 ] ], [ [ 4, 6 ], [ 9 ] ] ]
JupyterSplashDot(DotTreeOfGluingsOfNumericalSemigroup(s));
It can be shown taht is a complete intersection if it is either or is a gluing of two complete intersection numerical semigroups.
A numerical semigroup is a gluing if and only if it admits a minimal presentation of the form , where
- only “moves” generators in (it is a presentation of ),
- only “moves” generators in (it is a presentation of ),
- is a factorization with support in , and is a factorization with support in .
Free numerical semigroups¶
A numerical semigroup minimally generated by is free for this arrangment of its minimal generators if either or is a gluing with and is free.
Minimal free numerical semigroups have stair-like minimal presentations.
A numerical semigroup might be free for different arrangments of its minimal generators, but does not have to be free for all the arrangments of its minimal generators.
s:=NumericalSemigroup(4,6,9);;
IsFree(s);
true
IsUniversallyFree(s);
false
s:=NumericalSemigroup(6,10,15);;
IsUniversallyFree(s);
true
Telescopic numerical semigroups¶
A numerical semigroup minimally generated by is telescopic if it is free for the arrangment .
s:=NumericalSemigroup(4,6,9);;
IsTelescopic(s);
true
Suppose that is telescopic and define and . Then is the semigroup associated to a plane curve singularity if and only if for all .
NumSgpsUseSingular();
x:=X(Rationals,"x");; y:=X(Rationals,"y");;
f:= y^4-2*x^3*y^2-4*x^5*y+x^6-x^7;;
s:=SemigroupOfValuesOfPlaneCurve(f);
MinimalGenerators(s);
true
<Numerical semigroup with 3 generators>
[ 4, 6, 13 ]
IsTelescopic(s);
true
IsNumericalSemigroupAssociatedIrreduciblePlanarCurveSingularity(s);
true
# is:=[0..60];;
# Plot([is,i->Length(CompleteIntersectionNumericalSemigroupsWithFrobeniusNumber(2*i+1))],
# [is, i->Length(FreeNumericalSemigroupsWithFrobeniusNumber(2*i+1))],
# [is, i->Length(TelescopicNumericalSemigroupsWithFrobeniusNumber(2*i+1))]);
Display(List([0..60],i->[i,Length(CompleteIntersectionNumericalSemigroupsWithFrobeniusNumber(2*i+1)),
Length(FreeNumericalSemigroupsWithFrobeniusNumber(2*i+1)),
Length(TelescopicNumericalSemigroupsWithFrobeniusNumber(2*i+1))]));
[ [ 0, 1, 1, 1 ],
[ 1, 1, 1, 1 ],
[ 2, 2, 2, 2 ],
[ 3, 3, 3, 2 ],
[ 4, 2, 2, 2 ],
[ 5, 4, 4, 4 ],
[ 6, 5, 5, 3 ],
[ 7, 3, 3, 2 ],
[ 8, 7, 7, 5 ],
[ 9, 8, 8, 6 ],
[ 10, 5, 5, 4 ],
[ 11, 11, 11, 8 ],
[ 12, 11, 11, 8 ],
[ 13, 9, 9, 7 ],
[ 14, 14, 14, 10 ],
[ 15, 17, 17, 9 ],
[ 16, 12, 12, 8 ],
[ 17, 18, 18, 12 ],
[ 18, 24, 24, 12 ],
[ 19, 16, 16, 11 ],
[ 20, 27, 27, 18 ],
[ 21, 31, 31, 19 ],
[ 22, 21, 21, 13 ],
[ 23, 36, 35, 20 ],
[ 24, 38, 38, 22 ],
[ 25, 27, 27, 16 ],
[ 26, 46, 46, 24 ],
[ 27, 45, 45, 25 ],
[ 28, 34, 33, 20 ],
[ 29, 57, 57, 32 ],
[ 30, 62, 62, 31 ],
[ 31, 43, 43, 25 ],
[ 32, 65, 65, 37 ],
[ 33, 77, 76, 39 ],
[ 34, 53, 52, 29 ],
[ 35, 84, 83, 43 ],
[ 36, 90, 90, 47 ],
[ 37, 61, 61, 37 ],
[ 38, 100, 100, 52 ],
[ 39, 110, 109, 54 ],
[ 40, 80, 79, 47 ],
[ 41, 122, 120, 61 ],
[ 42, 120, 120, 60 ],
[ 43, 94, 94, 48 ],
[ 44, 143, 142, 73 ],
[ 45, 151, 149, 72 ],
[ 46, 108, 106, 57 ],
[ 47, 158, 157, 75 ],
[ 48, 179, 179, 84 ],
[ 49, 128, 128, 68 ],
[ 50, 197, 194, 86 ],
[ 51, 209, 207, 89 ],
[ 52, 142, 142, 76 ],
[ 53, 229, 227, 101 ],
[ 54, 238, 235, 104 ],
[ 55, 172, 169, 83 ],
[ 56, 264, 260, 122 ],
[ 57, 259, 258, 118 ],
[ 58, 202, 200, 96 ],
[ 59, 294, 291, 128 ],
[ 60, 311, 310, 140 ] ]
Apéry sets and gluings¶
Assume that is a gluing of and . Then
In particular,
and
In particular, the gluing of two symmetric numerical semigroups is symmetric, and every complete intersection is a symmetric numerical semigroup.
Hilbert series (or generating functions) and gluings¶
Let be a numerical semigroup. The Hilbert series associated to is the formal series
Also, for every
Thus, if is a gluing, then
Define the polynomial associated to as
s:=NumericalSemigroup(4,6,9);;
p:=NumericalSemigroupPolynomial(s,x);
x^12-x^11+x^8-x^7+x^6-x^5+x^4-x+1
Print(p);
x^12-x^11+x^8-x^7+x^6-x^5+x^4-x+1
If is a complete intersection, then
where is the number of -classes of . Thus,
Since all the roots of are in the unit circle, by Kronecker’s theorem is a product of cyclotomic polynomial.
A numerical semigroup is cyclotomic if is a product of cyclotomic polynomials. Consequently, every complete intersection is cyclotomic.
IsCyclotomicNumericalSemigroup(s);
true
IsKroneckerPolynomial(p);
true
For every numerical semigroup , the polynomial can be expressed in the following form (uniquely)
The sequence is known as the cyclotomic exponent sequence associated to .
CyclotomicExponentSequence(s,40);
[ 1, 0, 0, -1, 0, -1, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 1 ]
WittCoefficients(p,40);
[ 1, 0, 0, -1, 0, -1, 0, 0, -1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
The numerical semigroup is cyclotomic if and only if its cyclotomic exponent sequence has finite support.
s:=NumericalSemigroup(3,5,7);;
p:=NumericalSemigroupPolynomial(s,x);;
WittCoefficients(p,150);
[ 1, 0, -1, 0, -1, 0, -1, 0, 0, 1, 0, 1, 0, 1, 0, 0, -1, 0, -1, 0, 0, 1, 0, 1, 0, 1, -1, 0, -2, 0, -2, 1, -1, 3, 0, 3, -1, 3, -3, 1, -5, 1, -5, 3, -3, 7, -2, 8, -4, 7, -9, 4, -14, 6, -14, 12, -10, 22, -9, 25, -16, 23, -30, 17, -42, 23, -43, 41, -36, 66, -37, 76, -60, 73, -100, 66, -133, 91, -139, 148, -129, 219, -146, 252, -222, 252, -340, 255, -438, 346, -469, 524, -473, 731, -564, 846, -820, 887, -1183, 973, -1488, 1309, -1635, 1889, -1756, 2530, -2157, 2947, -3026, 3214, -4181, 3701, -5187, 4922, -5839, 6834, -6563, 8905, -8200, 10467, -11195, 11807, -14992, 14052, -18463, 18510, -21237, 24982, -24675, 31960, -31101, 37904, -41573, 43905, -54450, 53343, -66840, 69606, -78312, 91968, -93176, 116272, -117909, 139142, -155059, 164573, -199918, 202659, -245305, 262345 ]
We still do not know if every cyclotomic polynomial is a complete intersection.