  
  [1X7 Ideals of numerical semigroups[0X
  
  
  [1X7.1 Ideals of numerical semigroups[0X
  
  Let  S be a numerical semigroup. A set I of integers is an [13Xideal relative[0m to
  a  numerical  semigroup  S provided that I+Ssubseteq I and that there exists
  din S such that d+Isubseteq S.
  
  If     {i_1,...,i_k}     is    a    subset    of    Z,    then    the    set
  I={i_1,...,i_k}+S=bigcup_n=1^k   i_n+S  is  an  ideal  relative  to  S,  and
  {i_1,...,  i_k}  is a system of generators of I. A system of generators M is
  minimal  if  no proper subset of M generates the same ideal. Usually, ideals
  are specified by means of its generators and the ambient numerical semigroup
  to which they are ideals (for more information see for instance [BF97]).
  
  [1X7.1-1 IdealOfNumericalSemigroup[0m
  
  [2X> IdealOfNumericalSemigroup( [0X[3Xl, S[0X[2X ) ________________________________[0Xfunction
  
  [3XS[0m is a numerical semigroup and [3Xl[0m a list of integers.
  
  The output is the ideal of [3XS[0m generated by [3Xl[0m
  
  There are several shortcuts for this function, as shown in the example.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4Xgap> IdealOfNumericalSemigroup([3,5],NumericalSemigroup(9,11));[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> [3,5]+NumericalSemigroup(9,11);[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> last=last2;[0X
    [4Xtrue[0X
    [4Xgap> 3+NumericalSemigroup(5,9);[0X
    [4X<Ideal of numerical semigroup>[0X
    [4X[0X
    [4X                        [0X
  [4X------------------------------------------------------------------[0X
  
  [1X7.1-2 IsIdealOfNumericalSemigroup[0m
  
  [2X> IsIdealOfNumericalSemigroup( [0X[3XObj[0X[2X ) _______________________________[0Xfunction
  
  Tests if the object [3XObj[0m is an ideal of a numerical semigroup.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4Xgap> I:=[1..7]+NumericalSemigroup(7,19);[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> IsIdealOfNumericalSemigroup(I);[0X
    [4Xtrue[0X
    [4Xgap> IsIdealOfNumericalSemigroup(2);[0X
    [4Xfalse[0X
    [4X[0X
    [4X                        [0X
  [4X------------------------------------------------------------------[0X
  
  [1X7.1-3 MinimalGeneratingSystemOfIdealOfNumericalSemigroup[0m
  
  [2X> MinimalGeneratingSystemOfIdealOfNumericalSemigroup( [0X[3XI[0X[2X ) __________[0Xfunction
  
  [3XI[0m is an ideal of a numerical semigroup.
  
  The output is the minimal system of generators of [3XI[0m.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4Xgap> I:=[3,5,9]+NumericalSemigroup(2,11);[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> MinimalGeneratingSystemOfIdealOfNumericalSemigroup(I);[0X
    [4X[ 3 ][0X
    [4X[0X
    [4X                        [0X
  [4X------------------------------------------------------------------[0X
  
  [1X7.1-4 GeneratorsOfIdealOfNumericalSemigroup[0m
  
  [2X> GeneratorsOfIdealOfNumericalSemigroup( [0X[3XI[0X[2X ) _______________________[0Xfunction
  [2X> GeneratorsOfIdealOfNumericalSemigroupNC( [0X[3XI[0X[2X ) _____________________[0Xfunction
  
  [3XI[0m is an ideal of a numerical semigroup.
  
  The   output   of   [10XGeneratorsOfIdealOfNumericalSemigroup[0m  is  a  system  of
  generators  of the ideal. If the minimal system of generators is known, then
  it is used as output. [10XGeneratorsOfIdealOfNumericalSemigroupNC[0m always returns
  the set of generators stored in [3XI!.generators[0m.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4Xgap> I:=[3,5,9]+NumericalSemigroup(2,11);[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> GeneratorsOfIdealOfNumericalSemigroup(I);[0X
    [4X[ 3, 5, 9 ][0X
    [4Xgap> MinimalGeneratingSystemOfIdealOfNumericalSemigroup(I);[0X
    [4X[ 3 ][0X
    [4Xgap> GeneratorsOfIdealOfNumericalSemigroup(I);[0X
    [4X[ 3 ][0X
    [4Xgap> GeneratorsOfIdealOfNumericalSemigroupNC(I);[0X
    [4X[ 3, 5, 9 ][0X
    [4X[0X
    [4X                        [0X
  [4X------------------------------------------------------------------[0X
  
  [1X7.1-5 AmbientNumericalSemigroupOfIdeal[0m
  
  [2X> AmbientNumericalSemigroupOfIdeal( [0X[3XI[0X[2X ) ____________________________[0Xfunction
  
  [3XI[0m is an ideal of a numerical semigroup, say S.
  
  The output is S.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4Xgap> I:=[3,5,9]+NumericalSemigroup(2,11);[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> AmbientNumericalSemigroupOfIdeal(I);[0X
    [4X<Numerical semigroup with 2 generators>[0X
    [4X[0X
    [4X                        [0X
  [4X------------------------------------------------------------------[0X
  
  [1X7.1-6 SmallElementsOfIdealOfNumericalSemigroup[0m
  
  [2X> SmallElementsOfIdealOfNumericalSemigroup( [0X[3XI[0X[2X ) ____________________[0Xfunction
  
  [3XI[0m is an ideal of a numerical semigroup.
  
  The  output  is a list with the elements in [3XI[0m that are less than or equal to
  the greatest integer not belonging to the ideal plus one.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4Xgap> I:=[3,5,9]+NumericalSemigroup(2,11);[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> SmallElementsOfIdealOfNumericalSemigroup(I);[0X
    [4X[ 3, 5, 7, 9, 11, 13 ][0X
    [4Xgap> J:=[2,11]+NumericalSemigroup(2,11);[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> SmallElementsOfIdealOfNumericalSemigroup(J);[0X
    [4X[ 2, 4, 6, 8, 10 ][0X
    [4X[0X
    [4X                        [0X
  [4X------------------------------------------------------------------[0X
  
  [1X7.1-7 BelongsToIdealOfNumericalSemigroup[0m
  
  [2X> BelongsToIdealOfNumericalSemigroup( [0X[3Xn, I[0X[2X ) _______________________[0Xfunction
  
  [3XI[0m is an ideal of a numerical semigroup, [3Xn[0m is an integer.
  
  The output is true if [3Xn[0m belongs to [3XI[0m.
  
  [3X n in I[0m can be used for short.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4Xgap> J:=[2,11]+NumericalSemigroup(2,11);[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> BelongsToIdealOfNumericalSemigroup(9,J);[0X
    [4Xfalse[0X
    [4Xgap> 9 in J;[0X
    [4Xfalse[0X
    [4Xgap> BelongsToIdealOfNumericalSemigroup(10,J);[0X
    [4Xtrue[0X
    [4Xgap> 10 in J;[0X
    [4Xtrue[0X
    [4X[0X
    [4X                        [0X
  [4X------------------------------------------------------------------[0X
  
  [1X7.1-8 SumIdealsOfNumericalSemigroup[0m
  
  [2X> SumIdealsOfNumericalSemigroup( [0X[3XI, J[0X[2X ) ____________________________[0Xfunction
  
  [3XI, J[0m are ideals of a numerical semigroup.
  
  The output is the sum of both ideals { i+j | iin [3XI[0m, jin [3XJ[0m}.
  
  [3XI + J[0m is a synonym of this function.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4Xgap> I:=[3,5,9]+NumericalSemigroup(2,11);[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> J:=[2,11]+NumericalSemigroup(2,11);[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> I+J;[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> MinimalGeneratingSystemOfIdealOfNumericalSemigroup(last);[0X
    [4X[ 5, 14 ][0X
    [4Xgap> SumIdealsOfNumericalSemigroup(I,J);[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> MinimalGeneratingSystemOfIdealOfNumericalSemigroup(last);[0X
    [4X[ 5, 14 ][0X
    [4X[0X
    [4X                        [0X
  [4X------------------------------------------------------------------[0X
  
  [1X7.1-9 MultipleOfIdealOfNumericalSemigroup[0m
  
  [2X> MultipleOfIdealOfNumericalSemigroup( [0X[3Xn, I[0X[2X ) ______________________[0Xfunction
  
  [3XI[0m is an ideal of a numerical semigroup, [3Xn[0m is a non negative integer.
  
  The output is the ideal [3XI[0m+cdots+[3XI[0m ([3Xn[0m times).
  
  [3X n * I[0m can be used for short.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4Xgap> I:=[0,1]+NumericalSemigroup(3,5,7);[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> MinimalGeneratingSystemOfIdealOfNumericalSemigroup(2*I);[0X
    [4X[ 0, 1, 2 ][0X
    [4X[0X
    [4X                        [0X
  [4X------------------------------------------------------------------[0X
  
  [1X7.1-10 SubtractIdealsOfNumericalSemigroup[0m
  
  [2X> SubtractIdealsOfNumericalSemigroup( [0X[3XI, J[0X[2X ) _______________________[0Xfunction
  
  [3XI, J[0m are ideals of a numerical semigroup.
  
  The output is the ideal { zin Z | z+[3XJ[0msubseteq [3XI[0m}.
  
  [3XI  -  J[0m  is  a  synonym  of  this function. The following example appears in
  [HS04a].
  
  [4X---------------------------  Example  ----------------------------[0X
    [4Xgap> S:=NumericalSemigroup(14, 15, 20, 21, 25);[0X
    [4X<Numerical semigroup with 5 generators>[0X
    [4Xgap> I:=[0,1]+S;[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> II:=(0+S)-I;[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> MinimalGeneratingSystemOfIdealOfNumericalSemigroup(I);[0X
    [4X[ 0, 1 ][0X
    [4Xgap> MinimalGeneratingSystemOfIdealOfNumericalSemigroup(II);[0X
    [4X[ 14, 20 ][0X
    [4Xgap> MinimalGeneratingSystemOfIdealOfNumericalSemigroup(I+II);[0X
    [4X[ 14, 15, 20, 21 ][0X
    [4X[0X
    [4X                        [0X
  [4X------------------------------------------------------------------[0X
  
  [1X7.1-11 DifferenceOfIdealsOfNumericalSemigroup[0m
  
  [2X> DifferenceOfIdealsOfNumericalSemigroup( [0X[3XI, J[0X[2X ) ___________________[0Xfunction
  
  [3XI, J[0m are ideals of a numerical semigroup. [3XJ[0m must be contained in [3XI[0m.
  
  The output is the set [3XI[0m\ [3XJ[0m.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4Xgap> S:=NumericalSemigroup(14, 15, 20, 21, 25);[0X
    [4X<Numerical semigroup with 5 generators>[0X
    [4Xgap> I:=[0,1]+S;[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> 2*I-2*I;[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> I-I;[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> DifferenceOfIdealsOfNumericalSemigroup(last2,last);[0X
    [4X[ 26, 27, 37, 38 ][0X
    [4X[0X
    [4X                        [0X
  [4X------------------------------------------------------------------[0X
  
  [1X7.1-12 TranslationOfIdealOfNumericalSemigroup[0m
  
  [2X> TranslationOfIdealOfNumericalSemigroup( [0X[3Xk, I[0X[2X ) ___________________[0Xfunction
  
  Given  an  ideal  [3XI[0m  of  a numerical semigroup S and an integer [3Xk[0m returns an
  ideal  of  the  numerical  semigroup  S generated by {i_1+k,...,i_n+k} where
  {i_1,...,i_n} is the system of generators of [3XI[0m.
  
  As  a synonym to [10XTranslationOfIdealOfNumericalSemigroup(k, I)[0m the expression
  [10Xk + I[0m may be used.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4Xgap> s:=NumericalSemigroup(13,23);[0X
    [4X<Numerical semigroup with 2 generators>[0X
    [4Xgap> l:=List([1..6], _ -> Random([8..34]));[0X
    [4X[ 22, 29, 34, 25, 10, 12 ][0X
    [4Xgap> I:=IdealOfNumericalSemigroup(l, s);[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> It:=TranslationOfIdealOfNumericalSemigroup(7,I);[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> It2:=7+I;[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> It2=It;[0X
    [4Xtrue[0X
    [4X[0X
    [4X										[0X
  [4X------------------------------------------------------------------[0X
  
  [1X7.1-13 HilbertFunctionOfIdealOfNumericalSemigroup[0m
  
  [2X> HilbertFunctionOfIdealOfNumericalSemigroup( [0X[3Xn, I[0X[2X ) _______________[0Xfunction
  
  [3XI[0m  is an ideal of a numerical semigroup, [3Xn[0m is a non negative integer. [3XI[0m must
  be contained in its ambient semigroup.
  
  The output is the cardinality of the set [3Xn[0m[3XI[0m\ ([3Xn[0m+1)[3XI[0m.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4Xgap> I:=[6,9,11]+NumericalSemigroup(6,9,11);;[0X
    [4Xgap> List([1..7],n->HilbertFunctionOfIdealOfNumericalSemigroup(n,I));[0X
    [4X[ 3, 5, 6, 6, 6, 6, 6 ][0X
    [4X[0X
    [4X                        [0X
  [4X------------------------------------------------------------------[0X
  
  [1X7.1-14 BlowUpIdealOfNumericalSemigroup[0m
  
  [2X> BlowUpIdealOfNumericalSemigroup( [0X[3XI[0X[2X ) _____________________________[0Xfunction
  
  [3XI[0m is an ideal of a numerical semigroup.
  
  The output is the ideal bigcup_n>= 0 n[3XI[0m-n[3XI[0m.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4Xgap> I:=[0,2]+NumericalSemigroup(6,9,11);;[0X
    [4Xgap> BlowUpIdealOfNumericalSemigroup(I);;[0X
    [4Xgap> SmallElementsOfIdealOfNumericalSemigroup(last);[0X
    [4X[ 0, 2, 4, 6, 8 ][0X
    [4X[0X
    [4X                        [0X
  [4X------------------------------------------------------------------[0X
  
  [1X7.1-15 ReductionNumberIdealNumericalSemigroup[0m
  
  [2X> ReductionNumberIdealNumericalSemigroup( [0X[3XI[0X[2X ) ______________________[0Xfunction
  
  [3XI[0m is an ideal of a numerical semigroup.
  
  The output is the least integer such that n [3XI[0m + i=(n+1)[3XI[0m, where i=min([3XI[0m).
  
  [4X---------------------------  Example  ----------------------------[0X
    [4Xgap> I:=[0,2]+NumericalSemigroup(6,9,11);;[0X
    [4Xgap> ReductionNumberIdealNumericalSemigroup(I);[0X
    [4X2[0X
    [4X[0X
    [4X                        [0X
  [4X------------------------------------------------------------------[0X
  
  [1X7.1-16 MaximalIdealOfNumericalSemigroup[0m
  
  [2X> MaximalIdealOfNumericalSemigroup( [0X[3XS[0X[2X ) ____________________________[0Xfunction
  
  Returns the maximal ideal of the numerical semigroup [3XS[0m.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4Xgap> MaximalIdealOfNumericalSemigroup(NumericalSemigroup(3,7));[0X
    [4X<Ideal of numerical semigroup>[0X
    [4X[0X
    [4X                        [0X
  [4X------------------------------------------------------------------[0X
  
  [1X7.1-17 BlowUpOfNumericalSemigroup[0m
  
  [2X> BlowUpOfNumericalSemigroup( [0X[3XS[0X[2X ) __________________________________[0Xfunction
  
  If [3XM[0m is the maximal ideal of the numerical semigroup, then the output is the
  numerical semigroup bigcup_n>= 0 n[3XM[0m-n[3XM[0m.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4Xgap> s:=NumericalSemigroup(30, 35, 42, 47, 148, 153, 157, 169, 181, 193);[0X
    [4X<Numerical semigroup with 10 generators>[0X
    [4Xgap> BlowUpOfNumericalSemigroup(s);[0X
    [4X<Numerical semigroup with 10 generators>[0X
    [4Xgap> SmallElementsOfNumericalSemigroup(last);[0X
    [4X[ 0, 5, 10, 12, 15, 17, 20, 22, 24, 25, 27, 29, 30, 32, 34, 35, 36, 37, 39,[0X
    [4X  40, 41, 42, 44 ][0X
    [4Xgap> m:=MaximalIdealOfNumericalSemigroup(s);[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> BlowUpIdealOfNumericalSemigroup(m);[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> SmallElementsOfIdealOfNumericalSemigroup(last);[0X
    [4X[ 0, 5, 10, 12, 15, 17, 20, 22, 24, 25, 27, 29, 30, 32, 34, 35, 36, 37, 39,[0X
    [4X  40, 41, 42, 44 ][0X
    [4X[0X
    [4X                        [0X
  [4X------------------------------------------------------------------[0X
  
  [1X7.1-18 MicroInvariantsOfNumericalSemigroup[0m
  
  [2X> MicroInvariantsOfNumericalSemigroup( [0X[3XS[0X[2X ) _________________________[0Xfunction
  
  Returns the microinvariants of the numerical semigroup [3XS[0m defined in [Eli01].
  For  their computation we have used the formula given in [BF06]. The Ap\'ery
  set of [3XS[0m and its blow up are involved in this computation.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4Xgap> s:=NumericalSemigroup(30, 35, 42, 47, 148, 153, 157, 169, 181, 193);[0X
    [4X<Numerical semigroup with 10 generators>[0X
    [4Xgap> bu:=BlowUpOfNumericalSemigroup(s);[0X
    [4X<Numerical semigroup with 10 generators>[0X
    [4Xgap> ap:=AperyListOfNumericalSemigroupWRTElement(s,30);;[0X
    [4Xgap> apbu:=AperyListOfNumericalSemigroupWRTElement(bu,30);;[0X
    [4Xgap> (ap-apbu)/30;[0X
    [4X[ 0, 4, 4, 3, 2, 1, 3, 4, 4, 3, 2, 3, 1, 4, 4, 3, 3, 1, 4, 4, 4, 3, 2, 4, 2,[0X
    [4X  5, 4, 3, 3, 2 ][0X
    [4Xgap> MicroInvariantsOfNumericalSemigroup(s)=last;[0X
    [4Xtrue[0X
    [4X[0X
    [4X                        [0X
  [4X------------------------------------------------------------------[0X
  
  [1X7.1-19 IsGradedAssociatedRingNumericalSemigroupCM[0m
  
  [2X> IsGradedAssociatedRingNumericalSemigroupCM( [0X[3XS[0X[2X ) __________________[0Xfunction
  
  Returns  true if the graded ring associated to K[[[3XS[0m]] is Cohen-Macaulay, and
  false  otherwise.  This test is the implementation of the algorithm given in
  [BF06].
  
  [4X---------------------------  Example  ----------------------------[0X
    [4Xgap> s:=NumericalSemigroup(30, 35, 42, 47, 148, 153, 157, 169, 181, 193);[0X
    [4X<Numerical semigroup with 10 generators>[0X
    [4Xgap> IsGradedAssociatedRingNumericalSemigroupCM(s);[0X
    [4Xfalse[0X
    [4Xgap> MicroInvariantsOfNumericalSemigroup(s);[0X
    [4X[ 0, 4, 4, 3, 2, 1, 3, 4, 4, 3, 2, 3, 1, 4, 4, 3, 3, 1, 4, 4, 4, 3, 2, 4, 2,[0X
    [4X  5, 4, 3, 3, 2 ][0X
    [4Xgap> List(AperyListOfNumericalSemigroupWRTElement(s,30),[0X
    [4X> w->MaximumDegreeOfElementWRTNumericalSemigroup (w,s));[0X
    [4X[ 0, 1, 4, 1, 2, 1, 3, 1, 4, 3, 2, 3, 1, 1, 4, 3, 3, 1, 4, 1, 4, 3, 2, 4, 2,[0X
    [4X5, 4, 3, 1, 2 ][0X
    [4Xgap> last=last2;[0X
    [4Xfalse[0X
    [4Xgap> s:=NumericalSemigroup(4,6,11);[0X
    [4X<Numerical semigroup with 3 generators>[0X
    [4Xgap> IsGradedAssociatedRingNumericalSemigroupCM(s);[0X
    [4Xtrue[0X
    [4Xgap> MicroInvariantsOfNumericalSemigroup(s);[0X
    [4X[ 0, 2, 1, 1 ][0X
    [4Xgap> List(AperyListOfNumericalSemigroupWRTElement(s,4),[0X
    [4X> w->MaximumDegreeOfElementWRTNumericalSemigroup(w,s));[0X
    [4X[ 0, 2, 1, 1 ][0X
    [4X[0X
    [4X                        [0X
  [4X------------------------------------------------------------------[0X
  
  [1X7.1-20 CanonicalIdealOfNumericalSemigroup[0m
  
  [2X> CanonicalIdealOfNumericalSemigroup( [0X[3XS[0X[2X ) __________________________[0Xfunction
  
  Computes a canonical ideal of [3XS[0m ([BF06]): { x in Z | g-x not in S}.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4Xgap> s:=NumericalSemigroup(4,6,11);[0X
    [4X<Numerical semigroup with 3 generators>[0X
    [4Xgap> m:=MaximalIdealOfNumericalSemigroup(s);[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> c:=CanonicalIdealOfNumericalSemigroup(s);[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> (m-c)-c=m;[0X
    [4Xtrue[0X
    [4Xgap> id:=3+s;[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> (id-c)-c=id;[0X
    [4Xtrue[0X
    [4X[0X
    [4X                        [0X
  [4X------------------------------------------------------------------[0X
  
  [1X7.1-21 IntersectionIdealsOfNumericalSemigroup[0m
  
  [2X> IntersectionIdealsOfNumericalSemigroup( [0X[3XI, J[0X[2X ) ___________________[0Xfunction
  
  Given two ideals [3XI[0m and [3XJ[0m of a numerical semigroup [3XS[0m returns the ideal of the
  numerical semigroup [3XS[0m which is the intersection of the ideals [3XI[0m and [3XJ[0m.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4Xgap> i:=IdealOfNumericalSemigroup([75,89],s);[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> j:=IdealOfNumericalSemigroup([115,289],s);[0X
    [4X<Ideal of numerical semigroup>[0X
    [4Xgap> IntersectionIdealsOfNumericalSemigroup(i,j);[0X
    [4X<Ideal of numerical semigroup>[0X
    [4X[0X
    [4X                        [0X
  [4X------------------------------------------------------------------[0X
  
  [1X7.1-22 IsMonomialNumericalSemigroup[0m
  
  [2X> IsMonomialNumericalSemigroup( [0X[3XS[0X[2X ) ________________________________[0Xfunction
  
  [3XS[0m is a numerical semigroup.
  
  Tests whether [3XS[0m a monomial numerical semigroup.
  
  Let R a Noetherian ring such that K subseteq R subseteq K[[t]], K is a field
  of  characteristic  zero,  the  algebraic  closure  of  R is K[[t]], and the
  conductor  (R  :  K[[t]])  is  not  zero.  If  v : K((t))-> Z is the natural
  valuation for K((t)), then v(R) is a numerical semigroup.
  
  Let  S  be  a  numerical semigroup minimally generated by {n_1,...,n_e}. The
  semigroup  ring  associated  to  S is K[[S]]=K[[t^n_1,...,t^n_e]]. A ring is
  called  a  semigroup  ring  if  it is of the form K[[S]], for some numerical
  semigroup S. We say that S is a monomial numerical semigroup if for any R as
  above with v(R)=S, R is a semigroup ring. See [VMi02] for details.
  
  [4X---------------------------  Example  ----------------------------[0X
    [4Xgap> IsMonomialNumericalSemigroup(NumericalSemigroup(4,6,7));[0X
    [4Xtrue[0X
    [4Xgap> IsMonomialNumericalSemigroup(NumericalSemigroup(4,6,11));[0X
    [4Xfalse[0X
    [4X[0X
    [4X                        [0X
  [4X------------------------------------------------------------------[0X
  
