Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 5e1854624d3bc613bdd0dd13d1ef9ac7 > files > 2475

gap-system-4.4.12-5mdv2010.0.i586.rpm

  
  7 Ideals of numerical semigroups
  
  
  7.1 Ideals of numerical semigroups
  
  Let  S be a numerical semigroup. A set I of integers is an ideal relative 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]).
  
  7.1-1 IdealOfNumericalSemigroup
  
  > IdealOfNumericalSemigroup( l, S ) ________________________________function
  
  S is a numerical semigroup and l a list of integers.
  
  The output is the ideal of S generated by l
  
  There are several shortcuts for this function, as shown in the example.
  
  ---------------------------  Example  ----------------------------
    gap> IdealOfNumericalSemigroup([3,5],NumericalSemigroup(9,11));
    <Ideal of numerical semigroup>
    gap> [3,5]+NumericalSemigroup(9,11);
    <Ideal of numerical semigroup>
    gap> last=last2;
    true
    gap> 3+NumericalSemigroup(5,9);
    <Ideal of numerical semigroup>
    
                            
  ------------------------------------------------------------------
  
  7.1-2 IsIdealOfNumericalSemigroup
  
  > IsIdealOfNumericalSemigroup( Obj ) _______________________________function
  
  Tests if the object Obj is an ideal of a numerical semigroup.
  
  ---------------------------  Example  ----------------------------
    gap> I:=[1..7]+NumericalSemigroup(7,19);
    <Ideal of numerical semigroup>
    gap> IsIdealOfNumericalSemigroup(I);
    true
    gap> IsIdealOfNumericalSemigroup(2);
    false
    
                            
  ------------------------------------------------------------------
  
  7.1-3 MinimalGeneratingSystemOfIdealOfNumericalSemigroup
  
  > MinimalGeneratingSystemOfIdealOfNumericalSemigroup( I ) __________function
  
  I is an ideal of a numerical semigroup.
  
  The output is the minimal system of generators of I.
  
  ---------------------------  Example  ----------------------------
    gap> I:=[3,5,9]+NumericalSemigroup(2,11);
    <Ideal of numerical semigroup>
    gap> MinimalGeneratingSystemOfIdealOfNumericalSemigroup(I);
    [ 3 ]
    
                            
  ------------------------------------------------------------------
  
  7.1-4 GeneratorsOfIdealOfNumericalSemigroup
  
  > GeneratorsOfIdealOfNumericalSemigroup( I ) _______________________function
  > GeneratorsOfIdealOfNumericalSemigroupNC( I ) _____________________function
  
  I is an ideal of a numerical semigroup.
  
  The   output   of   GeneratorsOfIdealOfNumericalSemigroup  is  a  system  of
  generators  of the ideal. If the minimal system of generators is known, then
  it is used as output. GeneratorsOfIdealOfNumericalSemigroupNC always returns
  the set of generators stored in I!.generators.
  
  ---------------------------  Example  ----------------------------
    gap> I:=[3,5,9]+NumericalSemigroup(2,11);
    <Ideal of numerical semigroup>
    gap> GeneratorsOfIdealOfNumericalSemigroup(I);
    [ 3, 5, 9 ]
    gap> MinimalGeneratingSystemOfIdealOfNumericalSemigroup(I);
    [ 3 ]
    gap> GeneratorsOfIdealOfNumericalSemigroup(I);
    [ 3 ]
    gap> GeneratorsOfIdealOfNumericalSemigroupNC(I);
    [ 3, 5, 9 ]
    
                            
  ------------------------------------------------------------------
  
  7.1-5 AmbientNumericalSemigroupOfIdeal
  
  > AmbientNumericalSemigroupOfIdeal( I ) ____________________________function
  
  I is an ideal of a numerical semigroup, say S.
  
  The output is S.
  
  ---------------------------  Example  ----------------------------
    gap> I:=[3,5,9]+NumericalSemigroup(2,11);
    <Ideal of numerical semigroup>
    gap> AmbientNumericalSemigroupOfIdeal(I);
    <Numerical semigroup with 2 generators>
    
                            
  ------------------------------------------------------------------
  
  7.1-6 SmallElementsOfIdealOfNumericalSemigroup
  
  > SmallElementsOfIdealOfNumericalSemigroup( I ) ____________________function
  
  I is an ideal of a numerical semigroup.
  
  The  output  is a list with the elements in I that are less than or equal to
  the greatest integer not belonging to the ideal plus one.
  
  ---------------------------  Example  ----------------------------
    gap> I:=[3,5,9]+NumericalSemigroup(2,11);
    <Ideal of numerical semigroup>
    gap> SmallElementsOfIdealOfNumericalSemigroup(I);
    [ 3, 5, 7, 9, 11, 13 ]
    gap> J:=[2,11]+NumericalSemigroup(2,11);
    <Ideal of numerical semigroup>
    gap> SmallElementsOfIdealOfNumericalSemigroup(J);
    [ 2, 4, 6, 8, 10 ]
    
                            
  ------------------------------------------------------------------
  
  7.1-7 BelongsToIdealOfNumericalSemigroup
  
  > BelongsToIdealOfNumericalSemigroup( n, I ) _______________________function
  
  I is an ideal of a numerical semigroup, n is an integer.
  
  The output is true if n belongs to I.
  
   n in I can be used for short.
  
  ---------------------------  Example  ----------------------------
    gap> J:=[2,11]+NumericalSemigroup(2,11);
    <Ideal of numerical semigroup>
    gap> BelongsToIdealOfNumericalSemigroup(9,J);
    false
    gap> 9 in J;
    false
    gap> BelongsToIdealOfNumericalSemigroup(10,J);
    true
    gap> 10 in J;
    true
    
                            
  ------------------------------------------------------------------
  
  7.1-8 SumIdealsOfNumericalSemigroup
  
  > SumIdealsOfNumericalSemigroup( I, J ) ____________________________function
  
  I, J are ideals of a numerical semigroup.
  
  The output is the sum of both ideals { i+j | iin I, jin J}.
  
  I + J is a synonym of this function.
  
  ---------------------------  Example  ----------------------------
    gap> I:=[3,5,9]+NumericalSemigroup(2,11);
    <Ideal of numerical semigroup>
    gap> J:=[2,11]+NumericalSemigroup(2,11);
    <Ideal of numerical semigroup>
    gap> I+J;
    <Ideal of numerical semigroup>
    gap> MinimalGeneratingSystemOfIdealOfNumericalSemigroup(last);
    [ 5, 14 ]
    gap> SumIdealsOfNumericalSemigroup(I,J);
    <Ideal of numerical semigroup>
    gap> MinimalGeneratingSystemOfIdealOfNumericalSemigroup(last);
    [ 5, 14 ]
    
                            
  ------------------------------------------------------------------
  
  7.1-9 MultipleOfIdealOfNumericalSemigroup
  
  > MultipleOfIdealOfNumericalSemigroup( n, I ) ______________________function
  
  I is an ideal of a numerical semigroup, n is a non negative integer.
  
  The output is the ideal I+cdots+I (n times).
  
   n * I can be used for short.
  
  ---------------------------  Example  ----------------------------
    gap> I:=[0,1]+NumericalSemigroup(3,5,7);
    <Ideal of numerical semigroup>
    gap> MinimalGeneratingSystemOfIdealOfNumericalSemigroup(2*I);
    [ 0, 1, 2 ]
    
                            
  ------------------------------------------------------------------
  
  7.1-10 SubtractIdealsOfNumericalSemigroup
  
  > SubtractIdealsOfNumericalSemigroup( I, J ) _______________________function
  
  I, J are ideals of a numerical semigroup.
  
  The output is the ideal { zin Z | z+Jsubseteq I}.
  
  I  -  J  is  a  synonym  of  this function. The following example appears in
  [HS04a].
  
  ---------------------------  Example  ----------------------------
    gap> S:=NumericalSemigroup(14, 15, 20, 21, 25);
    <Numerical semigroup with 5 generators>
    gap> I:=[0,1]+S;
    <Ideal of numerical semigroup>
    gap> II:=(0+S)-I;
    <Ideal of numerical semigroup>
    gap> MinimalGeneratingSystemOfIdealOfNumericalSemigroup(I);
    [ 0, 1 ]
    gap> MinimalGeneratingSystemOfIdealOfNumericalSemigroup(II);
    [ 14, 20 ]
    gap> MinimalGeneratingSystemOfIdealOfNumericalSemigroup(I+II);
    [ 14, 15, 20, 21 ]
    
                            
  ------------------------------------------------------------------
  
  7.1-11 DifferenceOfIdealsOfNumericalSemigroup
  
  > DifferenceOfIdealsOfNumericalSemigroup( I, J ) ___________________function
  
  I, J are ideals of a numerical semigroup. J must be contained in I.
  
  The output is the set I\ J.
  
  ---------------------------  Example  ----------------------------
    gap> S:=NumericalSemigroup(14, 15, 20, 21, 25);
    <Numerical semigroup with 5 generators>
    gap> I:=[0,1]+S;
    <Ideal of numerical semigroup>
    gap> 2*I-2*I;
    <Ideal of numerical semigroup>
    gap> I-I;
    <Ideal of numerical semigroup>
    gap> DifferenceOfIdealsOfNumericalSemigroup(last2,last);
    [ 26, 27, 37, 38 ]
    
                            
  ------------------------------------------------------------------
  
  7.1-12 TranslationOfIdealOfNumericalSemigroup
  
  > TranslationOfIdealOfNumericalSemigroup( k, I ) ___________________function
  
  Given  an  ideal  I  of  a numerical semigroup S and an integer k 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 I.
  
  As  a synonym to TranslationOfIdealOfNumericalSemigroup(k, I) the expression
  k + I may be used.
  
  ---------------------------  Example  ----------------------------
    gap> s:=NumericalSemigroup(13,23);
    <Numerical semigroup with 2 generators>
    gap> l:=List([1..6], _ -> Random([8..34]));
    [ 22, 29, 34, 25, 10, 12 ]
    gap> I:=IdealOfNumericalSemigroup(l, s);
    <Ideal of numerical semigroup>
    gap> It:=TranslationOfIdealOfNumericalSemigroup(7,I);
    <Ideal of numerical semigroup>
    gap> It2:=7+I;
    <Ideal of numerical semigroup>
    gap> It2=It;
    true
    
    										
  ------------------------------------------------------------------
  
  7.1-13 HilbertFunctionOfIdealOfNumericalSemigroup
  
  > HilbertFunctionOfIdealOfNumericalSemigroup( n, I ) _______________function
  
  I  is an ideal of a numerical semigroup, n is a non negative integer. I must
  be contained in its ambient semigroup.
  
  The output is the cardinality of the set nI\ (n+1)I.
  
  ---------------------------  Example  ----------------------------
    gap> I:=[6,9,11]+NumericalSemigroup(6,9,11);;
    gap> List([1..7],n->HilbertFunctionOfIdealOfNumericalSemigroup(n,I));
    [ 3, 5, 6, 6, 6, 6, 6 ]
    
                            
  ------------------------------------------------------------------
  
  7.1-14 BlowUpIdealOfNumericalSemigroup
  
  > BlowUpIdealOfNumericalSemigroup( I ) _____________________________function
  
  I is an ideal of a numerical semigroup.
  
  The output is the ideal bigcup_n>= 0 nI-nI.
  
  ---------------------------  Example  ----------------------------
    gap> I:=[0,2]+NumericalSemigroup(6,9,11);;
    gap> BlowUpIdealOfNumericalSemigroup(I);;
    gap> SmallElementsOfIdealOfNumericalSemigroup(last);
    [ 0, 2, 4, 6, 8 ]
    
                            
  ------------------------------------------------------------------
  
  7.1-15 ReductionNumberIdealNumericalSemigroup
  
  > ReductionNumberIdealNumericalSemigroup( I ) ______________________function
  
  I is an ideal of a numerical semigroup.
  
  The output is the least integer such that n I + i=(n+1)I, where i=min(I).
  
  ---------------------------  Example  ----------------------------
    gap> I:=[0,2]+NumericalSemigroup(6,9,11);;
    gap> ReductionNumberIdealNumericalSemigroup(I);
    2
    
                            
  ------------------------------------------------------------------
  
  7.1-16 MaximalIdealOfNumericalSemigroup
  
  > MaximalIdealOfNumericalSemigroup( S ) ____________________________function
  
  Returns the maximal ideal of the numerical semigroup S.
  
  ---------------------------  Example  ----------------------------
    gap> MaximalIdealOfNumericalSemigroup(NumericalSemigroup(3,7));
    <Ideal of numerical semigroup>
    
                            
  ------------------------------------------------------------------
  
  7.1-17 BlowUpOfNumericalSemigroup
  
  > BlowUpOfNumericalSemigroup( S ) __________________________________function
  
  If M is the maximal ideal of the numerical semigroup, then the output is the
  numerical semigroup bigcup_n>= 0 nM-nM.
  
  ---------------------------  Example  ----------------------------
    gap> s:=NumericalSemigroup(30, 35, 42, 47, 148, 153, 157, 169, 181, 193);
    <Numerical semigroup with 10 generators>
    gap> BlowUpOfNumericalSemigroup(s);
    <Numerical semigroup with 10 generators>
    gap> SmallElementsOfNumericalSemigroup(last);
    [ 0, 5, 10, 12, 15, 17, 20, 22, 24, 25, 27, 29, 30, 32, 34, 35, 36, 37, 39,
      40, 41, 42, 44 ]
    gap> m:=MaximalIdealOfNumericalSemigroup(s);
    <Ideal of numerical semigroup>
    gap> BlowUpIdealOfNumericalSemigroup(m);
    <Ideal of numerical semigroup>
    gap> SmallElementsOfIdealOfNumericalSemigroup(last);
    [ 0, 5, 10, 12, 15, 17, 20, 22, 24, 25, 27, 29, 30, 32, 34, 35, 36, 37, 39,
      40, 41, 42, 44 ]
    
                            
  ------------------------------------------------------------------
  
  7.1-18 MicroInvariantsOfNumericalSemigroup
  
  > MicroInvariantsOfNumericalSemigroup( S ) _________________________function
  
  Returns the microinvariants of the numerical semigroup S defined in [Eli01].
  For  their computation we have used the formula given in [BF06]. The Ap\'ery
  set of S and its blow up are involved in this computation.
  
  ---------------------------  Example  ----------------------------
    gap> s:=NumericalSemigroup(30, 35, 42, 47, 148, 153, 157, 169, 181, 193);
    <Numerical semigroup with 10 generators>
    gap> bu:=BlowUpOfNumericalSemigroup(s);
    <Numerical semigroup with 10 generators>
    gap> ap:=AperyListOfNumericalSemigroupWRTElement(s,30);;
    gap> apbu:=AperyListOfNumericalSemigroupWRTElement(bu,30);;
    gap> (ap-apbu)/30;
    [ 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,
      5, 4, 3, 3, 2 ]
    gap> MicroInvariantsOfNumericalSemigroup(s)=last;
    true
    
                            
  ------------------------------------------------------------------
  
  7.1-19 IsGradedAssociatedRingNumericalSemigroupCM
  
  > IsGradedAssociatedRingNumericalSemigroupCM( S ) __________________function
  
  Returns  true if the graded ring associated to K[[S]] is Cohen-Macaulay, and
  false  otherwise.  This test is the implementation of the algorithm given in
  [BF06].
  
  ---------------------------  Example  ----------------------------
    gap> s:=NumericalSemigroup(30, 35, 42, 47, 148, 153, 157, 169, 181, 193);
    <Numerical semigroup with 10 generators>
    gap> IsGradedAssociatedRingNumericalSemigroupCM(s);
    false
    gap> MicroInvariantsOfNumericalSemigroup(s);
    [ 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,
      5, 4, 3, 3, 2 ]
    gap> List(AperyListOfNumericalSemigroupWRTElement(s,30),
    > w->MaximumDegreeOfElementWRTNumericalSemigroup (w,s));
    [ 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,
    5, 4, 3, 1, 2 ]
    gap> last=last2;
    false
    gap> s:=NumericalSemigroup(4,6,11);
    <Numerical semigroup with 3 generators>
    gap> IsGradedAssociatedRingNumericalSemigroupCM(s);
    true
    gap> MicroInvariantsOfNumericalSemigroup(s);
    [ 0, 2, 1, 1 ]
    gap> List(AperyListOfNumericalSemigroupWRTElement(s,4),
    > w->MaximumDegreeOfElementWRTNumericalSemigroup(w,s));
    [ 0, 2, 1, 1 ]
    
                            
  ------------------------------------------------------------------
  
  7.1-20 CanonicalIdealOfNumericalSemigroup
  
  > CanonicalIdealOfNumericalSemigroup( S ) __________________________function
  
  Computes a canonical ideal of S ([BF06]): { x in Z | g-x not in S}.
  
  ---------------------------  Example  ----------------------------
    gap> s:=NumericalSemigroup(4,6,11);
    <Numerical semigroup with 3 generators>
    gap> m:=MaximalIdealOfNumericalSemigroup(s);
    <Ideal of numerical semigroup>
    gap> c:=CanonicalIdealOfNumericalSemigroup(s);
    <Ideal of numerical semigroup>
    gap> (m-c)-c=m;
    true
    gap> id:=3+s;
    <Ideal of numerical semigroup>
    gap> (id-c)-c=id;
    true
    
                            
  ------------------------------------------------------------------
  
  7.1-21 IntersectionIdealsOfNumericalSemigroup
  
  > IntersectionIdealsOfNumericalSemigroup( I, J ) ___________________function
  
  Given two ideals I and J of a numerical semigroup S returns the ideal of the
  numerical semigroup S which is the intersection of the ideals I and J.
  
  ---------------------------  Example  ----------------------------
    gap> i:=IdealOfNumericalSemigroup([75,89],s);
    <Ideal of numerical semigroup>
    gap> j:=IdealOfNumericalSemigroup([115,289],s);
    <Ideal of numerical semigroup>
    gap> IntersectionIdealsOfNumericalSemigroup(i,j);
    <Ideal of numerical semigroup>
    
                            
  ------------------------------------------------------------------
  
  7.1-22 IsMonomialNumericalSemigroup
  
  > IsMonomialNumericalSemigroup( S ) ________________________________function
  
  S is a numerical semigroup.
  
  Tests whether S 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.
  
  ---------------------------  Example  ----------------------------
    gap> IsMonomialNumericalSemigroup(NumericalSemigroup(4,6,7));
    true
    gap> IsMonomialNumericalSemigroup(NumericalSemigroup(4,6,11));
    false
    
                            
  ------------------------------------------------------------------