Factorizations in Numerical Semigroups
Let S be a numerical semigroup minimally generated by \{m_1,\ldots,m_n\} . A factorization of an element s\in S is an n-tuple a=(a_1,\ldots,a_n) of nonnegative integers such that n=a_1 n_1+\cdots+a_n m_n. The lenght of a is |a|=a_1+\cdots+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,\ldots,a_n),(b_1,\ldots,b_n))=(\min(a_1,b_1),\ldots,\min(a_n,b_n)).

If l_1>\cdots > l_k are the lenghts of all the factorizations of s \in S, the Delta set associated to s is \Delta(s)=\{l_1-l_2,\ldots,l_k-l_{k-1}\}.

The catenary degree of S is the least positive integer c such that for any two factorizations a and b of an element in S, there exists a chain of factorizations staring in a and ending in b and so that the distance between two consecutive links is at most c.

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\in S, there exists another factorization b of s so that the distance to a is at most t and b_i\not = 0.

The basic properties of these constants can be found in . The algorithm used to compute the catenary and tame degree is an adaptation of the algorithms appearing in for numerical semigroup (see ). 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 or ).

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 ] ]
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 ]
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
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
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 ]
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
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> CatenaryDegreeNumericalSemigroup(s); 8
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> TameDegreeNumericalSemigroup(s); 14