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 .
LoadPackage("num");
true
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.