<Section> <Heading> Factorizations in Numerical Semigroups </Heading> Let <M> S </M> be a numerical semigroup minimally generated by <M> \{m_1,\ldots,m_n\} </M>. A factorization of an element <M>s\in S</M> is an n-tuple <M> a=(a_1,\ldots,a_n) </M> of nonnegative integers such that <M> n=a_1 n_1+\cdots+a_n m_n</M>. The lenght of <M>a</M> is <M>|a|=a_1+\cdots+a_n</M>. Given two factorizations <M>a</M> and <M>b</M> of <M>n</M>, the distance between <M>a</M> and <M>b</M> is <M>d(a,b)=\max \{ |a-\gcd(a,b)|,|b-\gcd(a,b)|\}</M>, where <M>\gcd((a_1,\ldots,a_n),(b_1,\ldots,b_n))=(\min(a_1,b_1),\ldots,\min(a_n,b_n))</M>. <P/> If <M>l_1>\cdots > l_k</M> are the lenghts of all the factorizations of <M>s \in S</M>, the Delta set associated to <M>s</M> is <M>\Delta(s)=\{l_1-l_2,\ldots,l_k-l_{k-1}\}</M>. <P/> The catenary degree of an element in <M>S</M> is the least positive integer <M>c</M> such that for any two of its factorizations <M>a</M> and <M>b</M>, there exists a chain of factorizations starting in <M>a</M> and ending in <M>b</M> and so that the distance between two consecutive links is at most <M>c</M>. The catenary degree of <M>S</M> is the supremum of the catenary degrees of the elements in <M>S</M>. <P/> The tame degree of <M>S</M> is the least positive integer <M>t</M> for any factorization <M>a</M> of an element <M>s</M> in <M>S</M>, and any <M>i</M> such that <M>s-m_i\in S</M>, there exists another factorization <M>b</M> of <M>s</M> so that the distance to <M>a</M> is at most <M>t</M> and <M>b_i\not = 0</M>. <P/> The basic properties of these constants can be found in <Cite Key="GHKb"></Cite>. The algorithm used to compute the catenary and tame degree is an adaptation of the algorithms appearing in <Cite Key="CGLPR"></Cite> for numerical semigroup (see <Cite Key="CGL"></Cite>). The computation of the elascitiy of a numerical semigroup reduces to <M>m/n</M> with <M>m</M> the multiplicity of the semigroup and <M>n</M> its largest minimal generator (see <Cite Key="CHM06"></Cite> or <Cite Key="GHKb"></Cite>). <ManSection> <Func Arg="n, S" Name="FactorizationsElementWRTNumericalSemigroup"></Func> <Description> <A>S</A> is a numerical semigroup and <A>n</A> a nonnegative integer. The output is the set of factorizations of <A>n</A> in terms of the minimal generating set of <A>S</A>. <Example><![CDATA[ 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 ] ] ]]></Example> </Description> </ManSection> <ManSection> <Func Arg="n, S" Name="LengthsOfFactorizationsElementWRTNumericalSemigroup"></Func> <Description> <A>S</A> is a numerical semigroup and <A>n</A> a nonnegative integer. The output is the set of lengths of the factorizations of <A>n</A> in terms of the minimal generating set of <A>S</A>. <Example><![CDATA[ gap> s:=NumericalSemigroup(101,113,196,272,278,286); <Numerical semigroup with 6 generators> gap> LengthsOfFactorizationsElementWRTNumericalSemigroup(1100,s); [ 4, 6, 8, 9 ] ]]></Example> </Description> </ManSection> <ManSection> <Func Arg="n, S" Name="ElasticityOfFactorizationsElementWRTNumericalSemigroup"></Func> <Description> <A>S</A> is a numerical semigroup and <A>n</A> a positive integer. The output is the maximum length divided by the minimum length of the factorizations of <A>n</A> in terms of the minimal generating set of <A>S</A>. <Example><![CDATA[ gap> s:=NumericalSemigroup(101,113,196,272,278,286); <Numerical semigroup with 6 generators> gap> ElasticityOfFactorizationsElementWRTNumericalSemigroup(1100,s); 9/4 ]]></Example> </Description> </ManSection> <ManSection> <Func Arg="S" Name="ElasticityOfNumericalSemigroup"></Func> <Description> <A>S</A> is a numerical semigroup. The output is the elasticity of <A>S</A>. <Example><![CDATA[ gap> s:=NumericalSemigroup(101,113,196,272,278,286); <Numerical semigroup with 6 generators> gap> ElasticityOfNumericalSemigroup(s); 286/101 ]]></Example> </Description> </ManSection> <ManSection> <Func Arg="n, S" Name="DeltaSetOfFactorizationsElementWRTNumericalSemigroup"></Func> <Description> <A>S</A> is a numerical semigroup and <A>n</A> a nonnegative integer. The output is the Delta set of the factorizations of <A>n</A> in terms of the minimal generating set of <A>S</A>. <Example><![CDATA[ gap> s:=NumericalSemigroup(101,113,196,272,278,286); <Numerical semigroup with 6 generators> gap> DeltaSetOfFactorizationsElementWRTNumericalSemigroup(1100,s); [ 1, 2 ] ]]></Example> </Description> </ManSection> <ManSection> <Func Arg="n, S" Name="MaximumDegreeOfElementWRTNumericalSemigroup"></Func> <Description> <A>S</A> is a numerical semigroup and <A>n</A> a nonnegative integer. The output is the maximum length of the factorizations of <A>n</A> in terms of the minimal generating set of <A>S</A>. <Example><![CDATA[ gap> s:=NumericalSemigroup(101,113,196,272,278,286); <Numerical semigroup with 6 generators> gap> MaximumDegreeOfElementWRTNumericalSemigroup(1100,s); 9 ]]></Example> </Description> </ManSection> <ManSection> <Func Arg="S" Name="CatenaryDegreeOfNumericalSemigroup"></Func> <Description> <A>S</A> is a numerical semigroup. The output is the catenary degree of <A>S</A>. <Example><![CDATA[ gap> s:=NumericalSemigroup(101,113,196,272,278,286); <Numerical semigroup with 6 generators> gap> CatenaryDegreeOfNumericalSemigroup(s); 8 ]]></Example> </Description> </ManSection> <ManSection> <Func Arg="n, S" Name="CatenaryDegreeOfElementNS"></Func> <Description> <A>n</A> is a nonnegative integer and <A>S</A> is a numerical semigroup. The output is the catenary degree of <A>n</A> relative to <A>S</A>. <Example><![CDATA[ gap> CatenaryDegreeOfElementNS(157,NumericalSemigroup(13,18)); 0 gap> CatenaryDegreeOfElementNS(1157,NumericalSemigroup(13,18)); 18 ]]></Example> </Description> </ManSection> <ManSection> <Func Arg="S" Name="TameDegreeOfNumericalSemigroup"></Func> <Description> <A>S</A> is a numerical semigroup. The output is the tame degree of <A>S</A>. <Example><![CDATA[ gap> s:=NumericalSemigroup(101,113,196,272,278,286); <Numerical semigroup with 6 generators> gap> TameDegreeOfNumericalSemigroup(s); 14 ]]></Example> </Description> </ManSection> </Section>