  
  [1X3 [33X[0;0YBasic operations with numerical semigroups[133X[101X
  
  
  [1X3.1 [33X[0;0YThe definitions[133X[101X
  
  [1X3.1-1 MultiplicityOfNumericalSemigroup[101X
  
  [29X[2XMultiplicityOfNumericalSemigroup[102X( [3XNS[103X ) [32X attribute
  
  [33X[0;0Y[3XNS[103X  is  a  numerical semigroup. Returns the multiplicity of [3XNS[103X, which is the
  smallest positive integer belonging to [3XNS[103X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XS := NumericalSemigroup("modular", 7,53);[127X[104X
    [4X[28X<Modular numerical semigroup satisfying 7x mod 53 <= x >[128X[104X
    [4X[25Xgap>[125X [27XMultiplicityOfNumericalSemigroup(S);[127X[104X
    [4X[28X8[128X[104X
  [4X[32X[104X
  
  [1X3.1-2 GeneratorsOfNumericalSemigroup[101X
  
  [29X[2XGeneratorsOfNumericalSemigroup[102X( [3XS[103X ) [32X function
  [29X[2XMinimalGeneratingSystemOfNumericalSemigroup[102X( [3XS[103X ) [32X attribute
  [29X[2XMinimalGeneratingSystem[102X( [3XS[103X ) [32X attribute
  
  [33X[0;0Y[3XS[103X  is a numerical semigroup. [10XGeneratorsOfNumericalSemigroup[110X returns a set of
  generators      of      [10XS[110X,      which      may      not      be     minimal.
  [10XMinimalGeneratingSystemOfNumericalSemigroup[110X   returns  the  minimal  set  of
  generators of [10XS[110X.[133X
  
  [33X[0;0YFrom  Version  0.980,  [10XReducedSetOfGeneratorsOfNumericalSemigroup[110X  is just a
  synonym       of       [10XMinimalGeneratingSystemOfNumericalSemigroup[110X       and
  [10XGeneratorsOfNumericalSemigroupNC[110X      is      just      a     synonym     of
  [10XGeneratorsOfNumericalSemigroup[110X.  The  names  are kept for compatibility with
  code produced for previous versions, but will be removed in the future.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XS := NumericalSemigroup("modular", 5,53);[127X[104X
    [4X[28X<Modular numerical semigroup satisfying 5x mod 53 <= x >[128X[104X
    [4X[25Xgap>[125X [27XGeneratorsOfNumericalSemigroup(S);[127X[104X
    [4X[28X[ 11, 12, 13, 32, 53 ][128X[104X
    [4X[25Xgap>[125X [27XS := NumericalSemigroup(3, 5, 53);[127X[104X
    [4X[28X<Numerical semigroup with 3 generators>[128X[104X
    [4X[25Xgap>[125X [27XGeneratorsOfNumericalSemigroup(S);[127X[104X
    [4X[28X[ 3, 5, 53 ][128X[104X
    [4X[25Xgap>[125X [27XMinimalGeneratingSystemOfNumericalSemigroup(S);[127X[104X
    [4X[28X[ 3, 5 ][128X[104X
    [4X[25Xgap>[125X [27XMinimalGeneratingSystem(S)=MinimalGeneratingSystemOfNumericalSemigroup(S);[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [1X3.1-3 EmbeddingDimensionOfNumericalSemigroup[101X
  
  [29X[2XEmbeddingDimensionOfNumericalSemigroup[102X( [3XNS[103X ) [32X attribute
  
  [33X[0;0Y[10XNS[110X  is  a  numerical  semigroup.  It  returns the cardinality of its minimal
  generating system.[133X
  
  [1X3.1-4 SmallElementsOfNumericalSemigroup[101X
  
  [29X[2XSmallElementsOfNumericalSemigroup[102X( [3XNS[103X ) [32X attribute
  [29X[2XSmallElements[102X( [3XNS[103X ) [32X attribute
  
  [33X[0;0Y[10XNS[110X is a numerical semigroup. It returns the list of small elements of [10XNS[110X. Of
  course,  the  time  consumed  to  return  a result may depend on the way the
  semigroup is given.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XSmallElementsOfNumericalSemigroup(NumericalSemigroup(3,5,7));[127X[104X
    [4X[28X[ 0, 3, 5 ][128X[104X
    [4X[25Xgap>[125X [27XSmallElements(NumericalSemigroup(3,5,7));                    [127X[104X
    [4X[28X[ 0, 3, 5 ][128X[104X
  [4X[32X[104X
  
  [1X3.1-5 FirstElementsOfNumericalSemigroup[101X
  
  [29X[2XFirstElementsOfNumericalSemigroup[102X( [3Xn[103X, [3XNS[103X ) [32X function
  
  [33X[0;0Y[10XNS[110X  is  a numerical semigroup. It returns the list with the first [3Xn[103X elements
  of [10XNS[110X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XFirstElementsOfNumericalSemigroup(2,NumericalSemigroup(3,5,7));[127X[104X
    [4X[28X[ 0, 3 ][128X[104X
    [4X[25Xgap>[125X [27XFirstElementsOfNumericalSemigroup(10,NumericalSemigroup(3,5,7));[127X[104X
    [4X[28X[ 0, 3, 5, 6, 7, 8, 9, 10, 11, 12 ][128X[104X
  [4X[32X[104X
  
  [1X3.1-6 AperyListOfNumericalSemigroupWRTElement[101X
  
  [29X[2XAperyListOfNumericalSemigroupWRTElement[102X( [3XS[103X, [3Xm[103X ) [32X operation
  
  [33X[0;0Y[3XS[103X  is  a  numerical semigroup and [3Xm[103X is a positive element of [3XS[103X. Computes the
  Apéry  list of [3XS[103X with respect to [3Xm[103X. It contains for every [22Xi∈ {0,...,[3Xm[103X-1}[122X, in
  the  [22Xi+1[122Xth  position, the smallest element in the semigroup congruent with [22Xi[122X
  modulo [3Xm[103X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XS := NumericalSemigroup("modular", 5,53);[127X[104X
    [4X[28X<Modular numerical semigroup satisfying 5x mod 53 <= x >[128X[104X
    [4X[25Xgap>[125X [27XAperyListOfNumericalSemigroupWRTElement(S,12);[127X[104X
    [4X[28X[ 0, 13, 26, 39, 52, 53, 54, 43, 32, 33, 22, 11 ][128X[104X
  [4X[32X[104X
  
  [1X3.1-7 AperyListOfNumericalSemigroup[101X
  
  [29X[2XAperyListOfNumericalSemigroup[102X( [3XS[103X ) [32X operation
  
  [33X[0;0Y[3XS[103X  is a numerical semigroup. It computes the Apéry list of [3XS[103X with respect to
  the multiplicity of [3XS[103X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XS := NumericalSemigroup("modular", 5,53);[127X[104X
    [4X[28X<Modular numerical semigroup satisfying 5x mod 53 <= x >[128X[104X
    [4X[25Xgap>[125X [27XAperyListOfNumericalSemigroup(S);[127X[104X
    [4X[28X[ 0, 12, 13, 25, 26, 38, 39, 51, 52, 53, 32 ][128X[104X
  [4X[32X[104X
  
  [1X3.1-8 AperyListOfNumericalSemigroupWRTInteger[101X
  
  [29X[2XAperyListOfNumericalSemigroupWRTInteger[102X( [3XS[103X, [3Xm[103X ) [32X function
  
  [33X[0;0Y[3XS[103X  is  a numerical semigroup and [3Xm[103X is a positive integer. Computes the Apéry
  list  of  [3XS[103X with respect to [3Xm[103X, that is, the set of elements [22Xx[122X in [3XS[103X such that
  [22Xx-[122X[3Xm[103X  is  not in [3XS[103X. If [3Xm[103X is an element in [3XS[103X, then the output, as sets, is the
  same   as   [3XAperyListOfNumericalSemigroupWRTInteger[103X,   though  without  side
  effects,  in  the  sense  that  this  information  is  no longer used by the
  package.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27X s:=NumericalSemigroup(10,13,19,27);[127X[104X
    [4X[28X<Numerical semigroup with 4 generators>[128X[104X
    [4X[25Xgap>[125X [27XAperyListOfNumericalSemigroupWRTInteger(s,11);[127X[104X
    [4X[28X[ 0, 10, 13, 19, 20, 23, 26, 27, 29, 32, 33, 36, 39, 42, 45, 46, 52, 55 ][128X[104X
    [4X[25Xgap>[125X [27XLength(last);[127X[104X
    [4X[28X18[128X[104X
    [4X[25Xgap>[125X [27XAperyListOfNumericalSemigroupWRTInteger(s,10);[127X[104X
    [4X[28X[ 0, 13, 19, 26, 27, 32, 38, 45, 51, 54 ][128X[104X
    [4X[25Xgap>[125X [27XAperyListOfNumericalSemigroupWRTElement(s,10);[127X[104X
    [4X[28X[ 0, 51, 32, 13, 54, 45, 26, 27, 38, 19 ][128X[104X
    [4X[25Xgap>[125X [27XLength(last);[127X[104X
    [4X[28X10[128X[104X
  [4X[32X[104X
  
  [1X3.1-9 AperyListOfNumericalSemigroupAsGraph[101X
  
  [29X[2XAperyListOfNumericalSemigroupAsGraph[102X( [3Xap[103X ) [32X function
  
  [33X[0;0Y[3Xap[103X  is  the  Apéry  list of a numerical semigroup. This function returns the
  adjacency  list of the graph [22X(ap, E)[122X where the edge [22Xu -> v[122X is in [22XE[122X iff [22Xv - u[122X
  is in [22Xap[122X. The 0 is ignored.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSemigroup(3,7);;[127X[104X
    [4X[25Xgap>[125X [27XAperyListOfNumericalSemigroupWRTElement(s,10);[127X[104X
    [4X[28X[ 0, 21, 12, 3, 14, 15, 6, 7, 18, 9 ][128X[104X
    [4X[25Xgap>[125X [27XAperyListOfNumericalSemigroupAsGraph(last);[127X[104X
    [4X[28X[ ,, [ 3, 6, 9, 12, 15, 18, 21 ],,, [ 6, 9, 12, 15, 18, 21 ],[128X[104X
    [4X[28X[ 7, 14, 21 ],, [ 9, 12, 15, 18, 21 ],,, [ 12, 15, 18, 21 ],,[128X[104X
    [4X[28X[ 14, 21 ], [ 15, 18, 21 ],,, [ 18, 21 ],,, [ 21 ] ][128X[104X
  [4X[32X[104X
  
  [1X3.1-10 KunzCoordinatesOfNumericalSemigroup[101X
  
  [29X[2XKunzCoordinatesOfNumericalSemigroup[102X( [3XS[103X, [3Xm[103X ) [32X function
  
  [33X[0;0Y[3XS[103X  is  a  numerical  semigroup,  and [3Xm[103X is a nonzero element of [3XS[103X. The second
  argument is optional, and if missing it is assumed to be the multiplicity of
  [3XS[103X.[133X
  
  [33X[0;0YThen the Apéry set of [3Xm[103X in [3XS[103X has the form [22X[0,k_1m+1,...,k_m-1m+m-1][122X, and the
  output is the [22X(m-1)[122X-uple [22X[k_1,k_2,...,k_m-1][122X[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xs:=NumericalSemigroup(3,5,7);[127X[104X
    [4X[28X<Numerical semigroup with 3 generators>[128X[104X
    [4X[25Xgap>[125X [27XKunzCoordinatesOfNumericalSemigroup(s);[127X[104X
    [4X[28X[ 2, 1 ][128X[104X
    [4X[25Xgap>[125X [27XKunzCoordinatesOfNumericalSemigroup(s,5);[127X[104X
    [4X[28X[ 1, 1, 0, 1 ][128X[104X
  [4X[32X[104X
  
  [1X3.1-11 KunzPolytope[101X
  
  [29X[2XKunzPolytope[102X( [3Xm[103X ) [32X function
  
  [33X[0;0Y[3Xm[103X is a positive ingeger.[133X
  
  [33X[0;0YThe  Kunz  coordinates  of  the  semigroups  with  that  multiplicity  [3Xm[103X are
  solutions  of  a  system of inequalities [22XAxge b[122X (see [CGB02]). The output is
  the matrix [22X(A|-b)[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XKunzPolytope(3);[127X[104X
    [4X[28X[ [ 1, 0, -1 ], [ 0, 1, -1 ], [ 2, -1, 0 ], [ -1, 2, 1 ] ][128X[104X
  [4X[32X[104X
  
  
  [1X3.2 [33X[0;0YFrobenius Number[133X[101X
  
  [33X[0;0YThe  largest nonnegative integer not belonging to a numerical semigroup [22XS[122X is
  the  [13XFrobenius  number[113X  of  [22XS[122X. If [22XS[122X is the set of nonnegative integers, then
  clearly its Frobenius number is [22X-1[122X, otherwise its Frobenius number coincides
  with  the  maximum of the gaps (or fundamental gaps) of [22XS[122X. An integer [22Xz[122X is a
  [13Xpseudo-Frobenius number[113X of [22XS[122X if [22Xz+S∖{0}⊆ S[122X.[133X
  
  [1X3.2-1 FrobeniusNumberOfNumericalSemigroup[101X
  
  [29X[2XFrobeniusNumberOfNumericalSemigroup[102X( [3XNS[103X ) [32X attribute
  
  [33X[0;0Y[10XNS[110X  is  a  numerical  semigroup.  It  returns the Frobenius number of [10XNS[110X. Of
  course,  the  time  consumed  to  return  a result may depend on the way the
  semigroup is given or on the knowledge already produced on the semigroup.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XFrobeniusNumberOfNumericalSemigroup(NumericalSemigroup(3,5,7));[127X[104X
    [4X[28X4[128X[104X
  [4X[32X[104X
  
  [1X3.2-2 FrobeniusNumber[101X
  
  [29X[2XFrobeniusNumber[102X( [3XNS[103X ) [32X attribute
  
  [33X[0;0YThis is just a synonym of [2XFrobeniusNumberOfNumericalSemigroup[102X ([14X3.2-1[114X).[133X
  
  [1X3.2-3 ConductorOfNumericalSemigroup[101X
  
  [29X[2XConductorOfNumericalSemigroup[102X( [3XNS[103X ) [32X attribute
  
  [33X[0;0YThis is just a synonym of [10X FrobeniusNumberOfNumericalSemigroup[110X ([10XNS[110X)[22X+1[122X.[133X
  
  [1X3.2-4 PseudoFrobeniusOfNumericalSemigroup[101X
  
  [29X[2XPseudoFrobeniusOfNumericalSemigroup[102X( [3XS[103X ) [32X attribute
  
  [33X[0;0Y[10XS[110X is a numerical semigroup. It returns set of pseudo-Frobenius numbers of [3XS[103X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XS := NumericalSemigroup("modular", 5,53);[127X[104X
    [4X[28X<Modular numerical semigroup satisfying 5x mod 53 <= x >[128X[104X
    [4X[25Xgap>[125X [27XPseudoFrobeniusOfNumericalSemigroup(S);[127X[104X
    [4X[28X[ 21, 40, 41, 42 ][128X[104X
  [4X[32X[104X
  
  [1X3.2-5 TypeOfNumericalSemigroup[101X
  
  [29X[2XTypeOfNumericalSemigroup[102X( [3XNS[103X ) [32X attribute
  
  [33X[0;0YStands for [10XLength(PseudoFrobeniusOfNumericalSemigroup (NS))[110X.[133X
  
  
  [1X3.3 [33X[0;0YGaps[133X[101X
  
  [33X[0;0YA  [13Xgap[113X  of a numerical semigroup [22XS[122X is a nonnegative integer not belonging to
  [22XS[122X. The [13Xfundamental gaps[113X of [22XS[122X are those gaps that are maximal with respect to
  the  partial order induced by division in [22XN[122X. The [13Xspecial gaps[113X of a numerical
  semigroup  [22XS[122X,  are those fundamental gaps such that if they are added to the
  given  numerical  semigroup,  then  the  resulting  set is again a numerical
  semigroup.[133X
  
  [1X3.3-1 GapsOfNumericalSemigroup[101X
  
  [29X[2XGapsOfNumericalSemigroup[102X( [3XNS[103X ) [32X attribute
  
  [33X[0;0Y[10XNS[110X is a numerical semigroup. It returns the set of gaps of [10XNS[110X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XGapsOfNumericalSemigroup(NumericalSemigroup(3,5,7));[127X[104X
    [4X[28X[ 1, 2, 4 ][128X[104X
  [4X[32X[104X
  
  [1X3.3-2 GenusOfNumericalSemigroup[101X
  
  [29X[2XGenusOfNumericalSemigroup[102X( [3XNS[103X ) [32X attribute
  
  [33X[0;0Y[10XNS[110X is a numerical semigroup. It returns the number of gaps of [10XNS[110X.[133X
  
  [1X3.3-3 FundamentalGapsOfNumericalSemigroup[101X
  
  [29X[2XFundamentalGapsOfNumericalSemigroup[102X( [3XS[103X ) [32X attribute
  
  [33X[0;0Y[10XS[110X is a numerical semigroup. It returns the set of fundamental gaps of [3XS[103X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XS := NumericalSemigroup("modular", 5,53);[127X[104X
    [4X[28X<Modular numerical semigroup satisfying 5x mod 53 <= x >[128X[104X
    [4X[25Xgap>[125X [27XFundamentalGapsOfNumericalSemigroup(S);[127X[104X
    [4X[28X[ 16, 17, 18, 19, 27, 28, 29, 30, 31, 40, 41, 42 ][128X[104X
    [4X[25Xgap>[125X [27XGapsOfNumericalSemigroup(S);[127X[104X
    [4X[28X[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 15, 16, 17, 18, 19, 20, 21, 27, 28, 29,[128X[104X
    [4X[28X  30, 31, 40, 41, 42 ][128X[104X
  [4X[32X[104X
  
  [1X3.3-4 SpecialGapsOfNumericalSemigroup[101X
  
  [29X[2XSpecialGapsOfNumericalSemigroup[102X( [3XS[103X ) [32X attribute
  
  [33X[0;0Y[10XS[110X is a numerical semigroup. It returns the special gaps of [3XS[103X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XS := NumericalSemigroup("modular", 5,53);[127X[104X
    [4X[28X<Modular numerical semigroup satisfying 5x mod 53 <= x >[128X[104X
    [4X[25Xgap>[125X [27XSpecialGapsOfNumericalSemigroup(S);[127X[104X
    [4X[28X[ 40, 41, 42 ][128X[104X
  [4X[32X[104X
  
