<?xmlversion="1.0"encoding="UTF-8"?>
<Section>
<Heading>
Factorizations in Numerical Semigroups
</Heading>
Denumerants, sets of factorizations, R-classes, and L-shapes are described in this section.
<ManSection>
<Func Arg="n, ls" Name="FactorizationsIntegerWRTList"></Func>
<Description>
<A>ls</A> is a list of integers and <A>n</A> an integer.
The output is the set of factorizations of <A>n</A> in terms of the elements in the list <A>ls</A>. This function uses <Ref Func="RestrictedPartitions" BookName="ref"/>.
<Oper Arg="n, S" Name="Factorizations" Label="for an element in a numerical semigroup"></Oper>
<Oper Arg="S, n" Name="Factorizations" Label="for a numerical semigroup and one of its elements"></Oper>
<Func Arg="n, S" Name="FactorizationsElementWRTNumericalSemigroup"></Func>
<Description>
<A>S</A> is a numerical semigroup and <A>n</A> an element of <A>S</A>.
The output is the set of factorizations of <A>n</A> in terms of the minimal
generating set of <A>S</A>.
<Func Arg="ls" Name="RClassesOfSetOfFactorizations"></Func>
<Description>
<A>ls</A> is a set of factorizations (a list of lists of nonnegative integers with the same length).
The output is the set of <M>\mathcal R</M>-classes of this set of factorizations as defined in Chapter 7 of <Cite Key="RGbook"></Cite>.
<Oper Arg="S" Name="LShapes"/>
<Func Arg="S" Name="LShapesOfNumericalSemigroup"></Func>
<Description>
<A>S</A> is a numerical semigroup.
The output is the number of LShapes associated to <A>S</A>. These are ways of arranging the set of factorizations of the elements in the Apéry set of the largest generator, so that if one factorization <M>x</M> is chosen for <M>w</M> and <M>w-w'\in S, then only the factorization of x'</M> of <M>w' with x'\le x</M> can be in the LShape (and if there is no such a factorization, then we have no LShape with <M>x</M> in it), see <Cite Key="AG-GS"></Cite>.
<ManSection>
<Func Arg="f,S" Name="RFMatrices"></Func>
<Description>
<A>S</A> is a numerical semigroup, and <A>f</A> is a pseudo-Frobenius number of <A>S</A>. <P/>
The output is the list of RF-matrices associated to <A>f</A>. The ith row of each matrix contains the coefficients of a combination of <A>f</A> in terms of the minimal generators of the semigroup, obtained by substraction the ith generator to the factorizations of <A>f</A> plus the ith generator of <A>S</A>, see <Cite Key="RFMatrix"></Cite>.
<ManSection>
<Func Arg="n, S" Name="DenumerantOfElementInNumericalSemigroup"></Func>
<Description>
<A>S</A> is a numerical semigroup and <A>n</A> a positive integer.
The output is the number of factorizations of <A>n</A> in terms of the minimal
generating set of <A>S</A>.
<ManSection>
<Oper Arg="S" Name="DenumerantFunction"/>
<Description>
<A>S</A> is a numerical semigroup.
The output is a function that for a given <M>n</M> computes the number of factorizations of <A>n</A> in terms of the minimal
generating set of <A>S</A>.
<ManSection>
<Oper Arg="n, S" Name="DenumerantIdeal" Label="denumerant ideal of a given number of factorizations in a numerical semigroup"></Oper>
<Oper Arg="S, n" Name="DenumerantIdeal" Label="denumerant ideal of semigroup with respect to a number of factorizations"></Oper>
<Description>
<A>S</A> is a numerical semigroup and <A>n</A> a nonnegative integer.
The output is the ideal of elements in <A>S</A> with more than <A>n</A> factorizations. If we add zero to this set, we obtain what is is called in <Cite Key="komatsu"></Cite> an <A>n</A>-semigroup.
<Example><![CDATA[
gap> s:=NumericalSemigroup(101,113,195,272,278,286);;
gap> 1311 in DenumerantIdeal(6,s);
false
gap> 1311 in DenumerantIdeal(5,s);
true
]]></Example>
</Description>
</ManSection>
</Section>
<Section>
<Heading>
Invariants based on lengths
</Heading>
This section is devoted to nonunique factorization invariants based on lengths of factorizations. There are some families of numerical semigroups related to maximal denumerantes; membership tests for these families are provede here.
<ManSection>
<Func Arg="n, ls" Name="LengthsOfFactorizationsIntegerWRTList"></Func>
<Description>
<A>ls</A> is a list of integers and <A>n</A> an integer.
The output is the set of lengths of the factorizations of <A>n</A> in terms of the elements in <A>ls</A>.
<Func Arg="n, S" Name="LengthsOfFactorizationsElementWRTNumericalSemigroup"></Func>
<Description>
<A>S</A> is a numerical semigroup and <A>n</A> an element of <A>S</A>.
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>.
<ManSection>
<Oper Arg="n, S" Name="Elasticity" Label="for the factorizations of an element in a numerical semigroup"></Oper>
<Oper Arg="S, n" Name="Elasticity" Label="for the factorizations in a numerical semigroup of one of its elements"></Oper>
<Func Arg="n, S" Name="ElasticityOfFactorizationsElementWRTNumericalSemigroup"></Func>
<Description>
<A>S</A> is a numerical semigroup and <A>n</A> an element of <A>S</A>.
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>.
<Oper Arg="ls" Name="DeltaSet" Label="for a set of integers"/>
<Func Arg="ls" Name="DeltaSetOfSetOfIntegers"></Func>
<Description>
<A>ls</A> is list of integers.
The output is the Delta set of the elements in <A>ls</A>, that is, the set of differences of consecutive elements in the list.
<Oper Arg="n, S" Name="DeltaSet" Label="for the factorizations of an element in a numerical semigroup"/>
<Oper Arg="S, n" Name="DeltaSet" Label="for the factorizations in a numerical semigroup of one of its elements"/>
<Func Arg="n, S" Name="DeltaSetOfFactorizationsElementWRTNumericalSemigroup"></Func>
<Description>
<A>S</A> is a numerical semigroup and <A>n</A> an element of <A>S</A>.
The output is the Delta set of the factorizations of <A>n</A> in terms of the minimal
generating set of <A>S</A>.
<A>S</A> is a numerical semigroup.
Computes the bound were the periodicity starts for Delta sets of the elements in <A>S</A>; see <Cite Key="GG-MF-VT"></Cite>.
<ManSection>
<Oper Arg="S, n" Name="MaximumDegree"/>
<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>.
<ManSection>
<Func Arg="S" Name="IsAdditiveNumericalSemigroup"></Func>
<Description>
<A>S</A> is a numerical semigroup. Detects if <A>S</A> is additive, that is, <M>\textrm{ord}(m+x)=\textrm{ord}(x)+1</M> for all <M>x</M> in <A>S</A>, where <M>m</M> is the multiplicity of <A>S</A> (<M>\textrm{ord}</M> corresponds to <Ref Func="MaximumDegreeOfElementWRTNumericalSemigroup"/>; see Section <Ref Sect="sec:ns-ap-fact"/> for an alternate definition). For these semigroups <M>\textrm{gr}_\mathfrak{m}(K[\![S]\!])</M> is Cohen-Macaulay (see <Cite Key="BH"></Cite>).
<ManSection>
<Oper Arg="n, S" Name="MaximalDenumerant" Label="for element in numerical semigroup"/>
<Oper Arg="S, n" Name="MaximalDenumerant" Label="for a numerical semigroup and one of its elements"/>
<Func Arg="n, S" Name="MaximalDenumerantOfElementInNumericalSemigroup"></Func>
<Description>
<A>S</A> is a numerical semigroup and <A>n</A> an element of <A>S</A>.
The output is the number of factorizations of <A>n</A> in terms of the minimal
generating set of <A>S</A> with maximal length.
<Func Arg="ls" Name="MaximalDenumerantOfSetOfFactorizations"></Func>
<Description>
<A>ls</A> is list of factorizations (a list of lists of nonnegative integers with the same length).
The output is number of elements in <A>ls</A> with maximal length.
<ManSection>
<Oper Arg="S" Name="MaximalDenumerant"/>
<Func Arg="S" Name="MaximalDenumerantOfNumericalSemigroup"></Func>
<Description>
<A>S</A> is a numerical semigroup.
The output is the maximal denumerant of <A>S</A>, that is, the maximum of the maximal denumerants of the elements in <A>S</A> (see <Cite Key="BH"></Cite>).
<ManSection>
<Oper Arg="S" Name="Adjustment"/>
<Func Arg="S" Name="AdjustmentOfNumericalSemigroup"></Func>
<Description>
<A>S</A> is a numerical semigroup.
The output is the adjustment of <A>S</A> as defined in <Cite Key="BH"></Cite>.
<Section>
<Heading>
Invariants based on distances
</Heading>
This section is devoted to invariants that rely on the concept of distance between two factorizations.
<ManSection>
<Oper Arg="ls" Name="CatenaryDegree" Label="for sets of factorizations"/>
<Func Arg="ls" Name="CatenaryDegreeOfSetOfFactorizations"></Func>
<Description>
<A>ls</A> is a set of factorizations (a list of lists of nonnegative integers with the same length).
The output is the catenary degree of this set of factorizations.
<ManSection>
<Func Arg="ls" Name="AdjacentCatenaryDegreeOfSetOfFactorizations"></Func>
<Description>
<A>ls</A> is a set of factorizations.
The output is the adjacent catenary degree of this set of factorizations, that is, the supremum of the distance between to sets of factorizations with adjacent lengths. More precisely, if <M>l_1,\ldots,l_t</M> are the lengths of the factorizations of the elements in <A>ls</A>, and <M>Z_{l_i}</M> is the set of factorizations in <A>ls</A> with length <M>l_i</M>, then the adjacent catenary degree is the maximum of the distances <M>\mathrm d (Z_{l_i},Z_{l_{i+1}})</M>.
<ManSection>
<Func Arg="ls" Name="EqualCatenaryDegreeOfSetOfFactorizations"></Func>
<Description>
<A>ls</A> is a set of factorizations. The same as CatenaryDegreeOfSetOfFactorizations, but now the factorizations joined by the chain must have the same length, and the elements in the chain also. Equivalently, if <M>l_1,\ldots,l_t</M> are the lengths of the factorizations of the elements in <A>ls</A>, and <M>Z_{l_i}</M> is the set of factorizations in <A>ls</A> with length <M>l_i</M>, then the equal catenary degree is the maximum of the CatenaryDegreeOfSetOfFactorizations of <M>\mathrm d (Z_{l_i},Z_{l_{i+1}})</M>.
<ManSection>
<Func Arg="ls" Name="MonotoneCatenaryDegreeOfSetOfFactorizations"></Func>
<Description>
<A>ls</A> is a set of factorizations. The same as CatenaryDegreeOfSetOfFactorizations, but now the factorizations are joined by a chain with nondecreasing lengths. Equivalently, it is the maximum of the AdjacentCatenaryDegreeOfSetOfFactorizations and the EqualCatenaryDegreeOfSetOfFactorizations.
<ManSection>
<Oper Arg="n, S" Name="CatenaryDegree" Label="for element in a numerical semigroup"/>
<Oper Arg="S, n" Name="CatenaryDegree" Label="for a numerical semigroup and one of its elements"/>
<Func Arg="n, S" Name="CatenaryDegreeOfElementInNumericalSemigroup"></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>.
<Description>
<A>ls</A> is a set of factorizations (a list of lists of nonnegative integers with the same length).
The output is the tame degree of this set of factorizations.
<ManSection>
<Func Arg="S" Name="DegreesOffEqualPrimitiveElementsOfNumericalSemigroup"></Func>
<Description>
<A>S</A> is a numerical semigroup.
<P/>
The output is the set of elements <M>s</M> in <A>S</A> such that there exists a minimal solution to <M>msg\cdot x-msg\cdot y = 0</M>, such that <M>x,y</M> are factorizations with the same length of <M>s</M>, and <M>msg</M> is the minimal generating system of <A>S</A>. These elements are used to compute the equal catenary degree of <A>S</A>.
<Func Arg="S" Name="EqualCatenaryDegreeOfNumericalSemigroup"></Func>
<Description>
<A>S</A> is a numerical semigroup.
The output is the equal catenary degree of <A>S</A>.
<ManSection>
<Func Arg="S" Name="DegreesOfMonotonePrimitiveElementsOfNumericalSemigroup"></Func>
<Description>
<A>S</A> is a numerical semigroup.
<P/>
The output is the set of elements <M>s</M> in <A>S</A> such that there exists a minimal solution to <M>msg\cdot x-msg\cdot y = 0</M>, such that <M>x,y</M> are factorizations of <M>s</M>, with <M>|x|\le |y|</M>; <M>msg</M> stands the minimal generating system of <A>S</A>. These elements are used to compute the monotone catenary degree of <A>S</A>.
<Func Arg="S" Name="MonotoneCatenaryDegreeOfNumericalSemigroup"></Func>
<Description>
<A>S</A> is a numerical semigroup.
The output is the monotone catenary degree of <A>S</A>.
<ManSection>
<Oper Arg="S" Name="TameDegree" Label="for numerical semigroups"></Oper>
<Func Arg="S" Name="TameDegreeOfNumericalSemigroup"></Func>
<Description>
<A>S</A> is a numerical semigroup.
The output is the tame degree of <A>S</A>.
<ManSection>
<Oper Arg="n, S" Name="TameDegree" Label="for element in numerical semigroups"></Oper>
<Oper Arg="S, n" Name="TameDegree" Label="for numerical semigroups and one of its elements"></Oper>
<Func Arg="n, S" Name="TameDegreeOfElementInNumericalSemigroup"></Func>
<Description>
<A>n</A> is an element of the numerical semigroup <A>S</A>.
The output is the tame degree of <A>n</A> in <A>S</A>.
There are no primes among the irreducible elements (minimal generators) of a numerical semigroup. However, there is a way to measure how far an element is frome being prime: the <M>\omega</M>-primality.
<ManSection>
<Oper Arg="n, S" Name="OmegaPrimality" Label="for an element in a numerical semigroup"/>
<Oper Arg="S, n" Name="OmegaPrimality" Label="for a numerical semigroup and one of its elements"/>
<Func Arg="n, S" Name="OmegaPrimalityOfElementInNumericalSemigroup"></Func>
<Description>
<A>n</A> is an element of the numerical semigroup <A>S</A>.
The output is the <M>\omega</M>-primality of <A>n</A> in <A>S</A> as explained in <Cite Key="B-GS-G"></Cite>. The current implementation is due to Chris O'Neill based on a work in progress with Pelayo and Thomas.
<Section>
<Heading>
Homogenization of Numerical Semigroups
</Heading>
Let <M> S </M> be a numerical semigroup minimally generated by
<M> \{m_1,\ldots,m_n\} </M>. The homogenization of <M>S</M>, <M>S^\mathrm{hom}</M> is the semigroup generated by <M>\{(1,0),(1,m_1),\ldots, (1,m_n)\}</M>. The catenary degree of <M>S^\mathrm{hom}</M> coincides with the homogeneous catenary degree of <M>S</M>, and it is between the catenary and the monotone catenary degree of <M>S</M>. The advantage of this catenary degree is that is less costly to compute than the monotone catenary degree, and has some nice interpretations (<Cite Key="GSOSN"></Cite>). This section contains the auxiliary functions needed to compute the homogeneous catenary degree.
<ManSection>
<Func Arg="n, S" Name="BelongsToHomogenizationOfNumericalSemigroup"></Func>
<Description>
<A>S</A> is a numerical semigroup and <A>n</A> a list with two entries (a pair).
The output is true if the <A>n</A> belongs to the homogenization of <A>S</A>.
<ManSection>
<Func Arg="n, S" Name="FactorizationsInHomogenizationOfNumericalSemigroup"></Func>
<Description>
<A>S</A> is a numerical semigroup and <A>n</A> a list with two entries (a pair).
The output is the set of factorizations <A>n</A> in terms of the minimal generating system of the homogenization of <A>S</A>.
<ManSection>
<Func Arg="S" Name="HomogeneousCatenaryDegreeOfNumericalSemigroup"></Func>
<Description>
<A>S</A> is a numerical semigroup.
The output is the homogeneous catenary degree of <A>S</A>. Observe that for a single element in the homogenization of <A>S</A>, its catenary degree can be computed with <C>CatenaryDegreeOfSetOfFactorizations</C> and <C>FactorizationsInHomogenizationOfNumericalSemigroup</C>.
Given a numerical semigroup <M>S</M> and two integers <M>a,b</M>, we write <M>a\le_S b</M> if <M>b-a\in S</M>. We also say that <M>a</M> divides <M>b</M> (with respect to <M>S</M>). The semigroup <M>S</M> with this binary relation is a poset.<P/>
The set of divisors of <M>n</M> in <M>S</M> will be denoted by <M>\mathrm{D}_S(n)</M>. If we are given <M>n_1,\ldots,n_r\in S</M>, the set of the divisors of these elements is <M>\mathrm{D}(n_1,\ldots, n_r)= \bigcup_{i=1}^r \mathrm{D}(n_i)</M>.<P/>
For a numerical semigroup <M>S</M>, we can define the sequence <M>\{\nu_i\}_{i\ge 1}</M>, with <M>\nu_i</M> the number of divisors of the <M>i</M>th element in <M>S</M>. It can be shown that the first <M>2g-c</M> elements of the sequence uniquely determine the semigroup (with <M>c</M> the conductor of <M>S</M> and <M>g</M> its genus), see <Cite Key="bras-ns-codes"/>.<P/>
There is another sequence associated to divisors that also determines the semigroup. Let <M>S=\{\lambda_0=0 < \lambda_1 \dots\}</M> be a numerical semigroup. We can define the following binary operation on <M>\mathbb{N}</M>: <M>i\oplus_S i=k</M>, where <M>k</M> is such that <M>\lambda_i+\lambda_j=\lambda_k</M>. Set <M>\tau_i=\max\{ j\in \mathbb{N}: \hbox{ exists } k\in\{j,\ldots,i\} \hbox{ with } j\oplus_S k=i\}</M>. The first <M>2c-g+1</M> determine uniquely <M>S</M> (see <Cite Key="bras-ns-codes"/>).<P/>
Translated to code, the definition of <M>\tau_i</M> could be as follows.
<ManSection>
<Func Arg="S,n" Name="MoebiusFunctionAssociatedToNumericalSemigroup"></Func>
<Description>
<A>S</A> is a numerical semigroup and <A>n</A> is an integer.
As <M>(S,\le_S)</M> is a poset, we can define the Möbius function associated to it as in <Cite Key="CHRA"></Cite>. The output is the value of the Möbius function in the integer <A>n</A>, that is, the alternate sum of the number of chains from 0 to <A>n</A>.
<ManSection>
<Oper Arg="S" Name="MoebiusFunction"/>
<Description>
<A>S</A> is a numerical semigroup.
As <M>(S,\le_S)</M> is a poset, we can define the Möbius function associated to it as in <Cite Key="CHRA"></Cite>. The output is the Möbius function associated to <A>S</A>.
<ManSection>
<Oper Arg="S,n" Name="DivisorsOfElementInNumericalSemigroup"/>
<Description>
<A>S</A> is a numerical semigroup and <A>n</A> is an integer. The arguments can also be given as <A>n, S</A>.
The output is the set of divisors of <A>n</A> in <A>S</A>.
<ManSection>
<Func Arg="nuseq" Name="NumericalSemigroupByNuSequence"/>
<Description>
<A>nuseq</A> is a list of integers that represents a <M>\nu</M>-sequence, that is, the <M>i</M>th element in the sequence is the number of divisors of the <M>i</M>th element in a certain numerical semigroup. Though the sequence is finite, it is understood that from the last element every entry increases exactly by one. <P/>
The output is the only numerical semigroup whose <M>\nu</M>-sequence is <M><A>nusec</A>\cup \{k,k+1, \ldots\}</M> (with <M>k</M> the last element of <A>nusec</A>). <P/>
The implementation is inspired in Theorem 1.54 in <Cite Key="bras-ns-codes"/>.
<ManSection>
<Func Arg="tauseq" Name="NumericalSemigroupByTauSequence"/>
<Description>
<A>tauseq</A> is a list of integers that represents a <M>\tau</M>-sequence. Though the sequence is finite, it is understood that <M>\tau_{k+2i} = \tau_{k+2i+1}</M>, with <M>k</M> the length of the list, and this amount increases by one as <M>i</M> increases. <P/>
The output is the only numerical semigroup whose <M>\tau</M>-sequence is <M><A>tausec</A>\cup \{l+1,l+1,l+2,l+2, \ldots\}</M> (with <M>l</M> the last element of <A>tausec</A>). <P/>
The implementation is inspired in Theorem 1.60 in <Cite Key="bras-ns-codes"/>.
<Section>
<Heading>
Feng-Rao distances and numbers
</Heading>
Let <M>S</M> be a numerical semigroup and let <M>n\in S</M>. The Feng-Rao distance of <M>n</M> is then defined as <M>\delta_S(n)=\min\{ \#\mathrm{D}(x)\mid n\le x,\ x\in S\}</M>.<P/>
The <M>r</M>th generalized distance is <M>\delta_S^r(n)=\{ \#\mathrm{D}(n_1,\ldots,n_r) \mid n\le n_1 < \cdots < n_r,\ n_i\in S\}</M>.
<ManSection>
<Func Arg="S,r,m" Name="FengRaoDistance"></Func>
<Description>
<A>S</A> is a numerical semigroup, <A>r</A> and <A>m</A> integers.
The output is the <A>r</A>-th Feng-Rao distance of the element <A>m</A> in the numerical semigroup <A>S</A>.
<Section Label="sec:ns-ap-fact">
<Heading>
Numerical semigroups with Apéry sets having special factorization properties
</Heading>
Let <M>S</M> be a numerical semigroup with maximal ideal <M>M</M>, and let <M>x\in S</M>. The order of <M>x</M>, denoted <M>\textrm{ord}(x)</M> is the largest positive integer <M>k</M> such that <M>x\in kM\setminus(k+1)M</M>. Notice that the order of an element corresponds with <Ref Func="MaximumDegreeOfElementWRTNumericalSemigroup"/>.
<P/>
Recall that for <M>x,y\in \mathbb{Z}</M>, we write <M>x\le_S y</M> if <M>y-x\in S</M>. Define the relation <M>\preceq_S</M> on <M>S</M> as <M>x\preceq_S y</M> if <M>x\le_S y</M> and <M>\textrm{ord}(y)=\textrm{ord}(x)+\textrm{ord}(y-x)</M>.
<P/>
A numerical semigroup <M>S</M> with multiplicity <M>m</M> is said to be pure if the maximal elements of <M>\textrm{Ap}(S,m)</M> with respect to <M>\le_S</M> have all the same order. The semigroup <M>S</M> is M-pure if the maximal elements of <M>\textrm{Ap}(S,m)</M> with respect to <M>\preceq_S</M> have all the same order, <Cite Key="Br"></Cite>.
<P/>
The numerical semigroup <M>S</M> is said to be homogeneous if for every element in <M>\textrm{Ap}(S,m)</M>, its set of lengths is a singleton (that is, all its a factorizations have the same length), <Cite Key="homogeneous-ns"></Cite>.
<P/>
A numerical semigroup <M>S</M> is supersymmetric if it is symmetric, additive, and whenever <M>w+w'=f+m for some w,w'\in \textrm{Ap}(S,m)</M> (with <M>m</M> the multiplicity and <M>f</M> the Frobenius number), we have <M>\textrm{ord}(w+w')=\textrm{ord}(w)+\textrm{ord}(w')</M>, see <Cite Key="BH"></Cite>).
<ManSection>
<Func Arg="S" Name="IsSuperSymmetricNumericalSemigroup"></Func>
<Description>
<A>S</A> is a numerical semigroup. Detects if <A>S</A> is supersymmetric.
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.