Let S be a numerical semigroup minimally generated by {m_1,...,m_n}. A factorization of an element s∈ S is an n-tuple a=(a_1,...,a_n) of nonnegative integers such that n=a_1 n_1+⋯+a_n m_n. The lenght of a is |a|=a_1+⋯+a_n. Given two factorizations a and b of n, the distance between a and b is d(a,b)=max { |a-gcd(a,b)|,|b-gcd(a,b)|}, where gcd((a_1,...,a_n),(b_1,...,b_n))=(min(a_1,b_1),...,min(a_n,b_n)).
If l_1>⋯ > l_k are the lenghts of all the factorizations of s ∈ S, the Delta set associated to s is ∆(s)={l_1-l_2,...,l_k-l_k-1}.
The catenary degree of an element in S is the least positive integer c such that for any two of its factorizations a and b, there exists a chain of factorizations starting in a and ending in b and so that the distance between two consecutive links is at most c. The catenary degree of S is the supremum of the catenary degrees of the elements in S.
The tame degree of S is the least positive integer t for any factorization a of an element s in S, and any i such that s-m_i∈ S, there exists another factorization b of s so that the distance to a is at most t and b_inot = 0.
The ω-primality of an elment s in S is the least positive integer k such that if (∑_i∈ I s_i)-s∈ S, s_i∈ S, then there exists Ω⊆ I with cardinality k such that (∑_i∈ Ω s_i)-s∈ S. The ω-primality is the maximum of the ω-primality of its minimal generators.
The basic properties of these constants can be found in [GH06]. The algorithm used to compute the catenary and tame degree is an adaptation of the algorithms appearing in [CGLPR06] for numerical semigroup (see [CGD07]). The computation of the elascitiy of a numerical semigroup reduces to m/n with m the multiplicity of the semigroup and n its largest minimal generator (see [CHM06] or [GH06]).
‣ FactorizationsElementWRTNumericalSemigroup( n, S ) | ( function ) |
S is a numerical semigroup and n a nonnegative integer. The output is the set of factorizations of n in terms of the minimal generating set of S.
gap> s:=NumericalSemigroup(101,113,196,272,278,286); <Numerical semigroup with 6 generators> gap> FactorizationsElementWRTNumericalSemigroup(1100,s); [ [ 0, 0, 0, 2, 2, 0 ], [ 0, 2, 3, 0, 0, 1 ], [ 0, 8, 1, 0, 0, 0 ], [ 5, 1, 1, 0, 0, 1 ] ]
‣ LengthsOfFactorizationsElementWRTNumericalSemigroup( n, S ) | ( function ) |
S is a numerical semigroup and n a nonnegative integer. The output is the set of lengths of the factorizations of n in terms of the minimal generating set of S.
gap> s:=NumericalSemigroup(101,113,196,272,278,286); <Numerical semigroup with 6 generators> gap> LengthsOfFactorizationsElementWRTNumericalSemigroup(1100,s); [ 4, 6, 8, 9 ]
‣ ElasticityOfFactorizationsElementWRTNumericalSemigroup( n, S ) | ( function ) |
S is a numerical semigroup and n a positive integer. The output is the maximum length divided by the minimum length of the factorizations of n in terms of the minimal generating set of S.
gap> s:=NumericalSemigroup(101,113,196,272,278,286); <Numerical semigroup with 6 generators> gap> ElasticityOfFactorizationsElementWRTNumericalSemigroup(1100,s); 9/4
‣ ElasticityOfNumericalSemigroup( S ) | ( function ) |
S is a numerical semigroup. The output is the elasticity of S.
gap> s:=NumericalSemigroup(101,113,196,272,278,286); <Numerical semigroup with 6 generators> gap> ElasticityOfNumericalSemigroup(s); 286/101
‣ DeltaSetOfFactorizationsElementWRTNumericalSemigroup( n, S ) | ( function ) |
S is a numerical semigroup and n a nonnegative integer. The output is the Delta set of the factorizations of n in terms of the minimal generating set of S.
gap> s:=NumericalSemigroup(101,113,196,272,278,286); <Numerical semigroup with 6 generators> gap> DeltaSetOfFactorizationsElementWRTNumericalSemigroup(1100,s); [ 1, 2 ]
‣ MaximumDegreeOfElementWRTNumericalSemigroup( n, S ) | ( function ) |
S is a numerical semigroup and n a nonnegative integer. The output is the maximum length of the factorizations of n in terms of the minimal generating set of S.
gap> s:=NumericalSemigroup(101,113,196,272,278,286); <Numerical semigroup with 6 generators> gap> MaximumDegreeOfElementWRTNumericalSemigroup(1100,s); 9
‣ CatenaryDegreeOfNumericalSemigroup( S ) | ( function ) |
S is a numerical semigroup. The output is the catenary degree of S.
gap> s:=NumericalSemigroup(101,113,196,272,278,286); <Numerical semigroup with 6 generators> gap> CatenaryDegreeOfNumericalSemigroup(s); 8
‣ CatenaryDegreeOfElementInNumericalSemigroup( n, S ) | ( function ) |
n is a nonnegative integer and S is a numerical semigroup. The output is the catenary degree of n relative to S.
gap> CatenaryDegreeOfElementInNumericalSemigroup(157,NumericalSemigroup(13,18)); 0 gap> CatenaryDegreeOfElementInNumericalSemigroup(1157,NumericalSemigroup(13,18)); 18
‣ TameDegreeOfNumericalSemigroup( S ) | ( function ) |
S is a numerical semigroup. The output is the tame degree of S.
gap> s:=NumericalSemigroup(101,113,196,272,278,286); <Numerical semigroup with 6 generators> gap> TameDegreeOfNumericalSemigroup(s); 14
‣ TameDegreeOfElementInNumericalSemigroup( n, S ) | ( function ) |
n is an elment of the numerical semigroup S. The output is the tame degree of n in S.
gap> s:=NumericalSemigroup(10,11,13); <Numerical semigroup with 3 generators> gap> TameDegreeOfElementInNumericalSemigroup(100,s); 5
‣ OmegaPrimalityOfElementInNumericalSemigroup( n, S ) | ( function ) |
n is an elment of the numerical semigroup S. The output is the ω-primality of n in S as explained in [BGG10].
gap> s:=NumericalSemigroup(10,11,13); <Numerical semigroup with 3 generators> gap> OmegaPrimalityOfElementinNumericalSemigroup(100,s); 13
‣ OmegaPrimalityOfNumericalSemigroup( n, S ) | ( function ) |
S is a numerical semigroup. The output is the maximum of the ω-primalities of the minimal generators of S.
gap> s:=NumericalSemigroup(10,11,13); <Numerical semigroup with 3 generators> gap> OmegaPrimalityOfNumericalSemigroup(s); 5
generated by GAPDoc2HTML