[1X3 Basic operations with numerical semigroups[0X [1X3.1 The definitions[0X [1X3.1-1 MultiplicityOfNumericalSemigroup[0m [2X> MultiplicityOfNumericalSemigroup( [0X[3XNS[0X[2X ) __________________________[0Xattribute [3XNS[0m is a numerical semigroup. Returns the multiplicity of [3XNS[0m, which is the smallest positive integer belonging to [3XNS[0m. [4X--------------------------- Example ----------------------------[0X [4Xgap> S := NumericalSemigroup("modular", 7,53);[0X [4X<Modular numerical semigroup satisfying 7x mod 53 <= x >[0X [4Xgap> MultiplicityOfNumericalSemigroup(S);[0X [4X8[0X [4X------------------------------------------------------------------[0X [1X3.1-2 GeneratorsOfNumericalSemigroup[0m [2X> GeneratorsOfNumericalSemigroup( [0X[3XS[0X[2X ) ______________________________[0Xfunction [2X> GeneratorsOfNumericalSemigroupNC( [0X[3XS[0X[2X ) ____________________________[0Xfunction [2X> MinimalGeneratingSystemOfNumericalSemigroup( [0X[3XS[0X[2X ) ________________[0Xattribute [3XS[0m is a numerical semigroup. [10XGeneratorsOfNumericalSemigroup[0m returns a set of generators of [10XS[0m, which may not be minimal. [10XGeneratorsOfNumericalSemigroupNC[0m returns the set of generators recorded in [10XS!.generators[0m, which may not be minimal. [10XMinimalGeneratingSystemOfNumericalSemigroup[0m returns the minimal set of generators of [10XS[0m. [4X--------------------------- Example ----------------------------[0X [4Xgap> S := NumericalSemigroup("modular", 5,53);[0X [4X<Modular numerical semigroup satisfying 5x mod 53 <= x >[0X [4Xgap> GeneratorsOfNumericalSemigroup(S);[0X [4X[ 11, 12, 13, 32, 53 ][0X [4Xgap> S := NumericalSemigroup(3, 5, 53);[0X [4X<Numerical semigroup with 3 generators>[0X [4Xgap> GeneratorsOfNumericalSemigroup(S);[0X [4X[ 3, 5, 53 ][0X [4Xgap> MinimalGeneratingSystemOfNumericalSemigroup(S);[0X [4X[ 3, 5 ][0X [4X------------------------------------------------------------------[0X [1X3.1-3 SmallElementsOfNumericalSemigroup[0m [2X> SmallElementsOfNumericalSemigroup( [0X[3XNS[0X[2X ) _________________________[0Xattribute [10XNS[0m is a numerical semigroup. It returns the list of small elements of [10XNS[0m. Of course, the time consumed to return a result may depend on the way the semigroup is given. [4X--------------------------- Example ----------------------------[0X [4Xgap> SmallElementsOfNumericalSemigroup(NumericalSemigroup(3,5,7));[0X [4X[ 0, 3, 5 ][0X [4X------------------------------------------------------------------[0X [1X3.1-4 FirstElementsOfNumericalSemigroup[0m [2X> FirstElementsOfNumericalSemigroup( [0X[3Xn, NS[0X[2X ) _______________________[0Xfunction [10XNS[0m is a numerical semigroup. It returns the list with the first [3Xn[0m elements of [10XNS[0m. [4X--------------------------- Example ----------------------------[0X [4Xgap> FirstElementsOfNumericalSemigroup(2,NumericalSemigroup(3,5,7));[0X [4X[ 0, 3 ][0X [4Xgap> FirstElementsOfNumericalSemigroup(10,NumericalSemigroup(3,5,7));[0X [4X[ 0, 3, 5, 6, 7, 8, 9, 10, 11, 12 ][0X [4X------------------------------------------------------------------[0X [1X3.1-5 AperyListOfNumericalSemigroupWRTElement[0m [2X> AperyListOfNumericalSemigroupWRTElement( [0X[3XS, m[0X[2X ) _________________[0Xoperation [3XS[0m is a numerical semigroup and [3Xm[0m is a positive element of [3XS[0m. Computes the Apéry list of [3XS[0m wrt [3Xm[0m. It contains for every iin {0,...,[3Xm[0m-1}, in the i+1th position, the smallest element in the semigroup congruent with i modulo [3Xm[0m. [4X--------------------------- Example ----------------------------[0X [4Xgap> S := NumericalSemigroup("modular", 5,53);[0X [4X<Modular numerical semigroup satisfying 5x mod 53 <= x >[0X [4Xgap> AperyListOfNumericalSemigroupWRTElement(S,12);[0X [4X[ 0, 13, 26, 39, 52, 53, 54, 43, 32, 33, 22, 11 ][0X [4X------------------------------------------------------------------[0X [1X3.1-6 DrawAperyListOfNumericalSemigroup[0m [2X> DrawAperyListOfNumericalSemigroup( [0X[3Xap[0X[2X ) __________________________[0Xfunction [3Xap[0m is the Apéry list of a numerical semigroup. This function draws the graph (ap, E) where the edge u -> v is in E iff v - u is in ap. To use this function, [10XGraphviz[0m ([7Xhttp://www.graphviz.org[0m) should be installed and also [10XEvince[0m ([7Xhttp://www.gnome.org/projects/evince/[0m) or [10Xggv[0m ([7Xhttp://directory.fsf.org/ggv.html[0m). [1X3.1-7 AperyListOfNumericalSemigroupAsGraph[0m [2X> AperyListOfNumericalSemigroupAsGraph( [0X[3Xap[0X[2X ) _______________________[0Xfunction [3Xap[0m is the Apéry list of a numerical semigroup. This function returns the adjacency list of the graph (ap, E) where the edge u -> v is in E iff v - u is in ap. The 0 is ignored. [4X--------------------------- Example ----------------------------[0X [4Xgap> s:=NumericalSemigroup(3,7);[0X [4X<Numerical semigroup with 2 generators>[0X [4Xgap> AperyListOfNumericalSemigroupWRTElement(s,10);[0X [4X[ 0, 21, 12, 3, 14, 15, 6, 7, 18, 9 ][0X [4Xgap> AperyListOfNumericalSemigroupAsGraph(last);[0X [4X[ ,, [ 3, 6, 9, 12, 15, 18, 21 ],,, [ 6, 9, 12, 15, 18, 21 ],[0X [4X[ 7, 14, 21 ],, [ 9, 12, 15, 18, 21 ],,, [ 12, 15, 18, 21 ],,[0X [4X[ 14, 21 ], [ 15, 18, 21 ],,, [ 18, 21 ],,, [ 21 ] ][0X [4X------------------------------------------------------------------[0X [1X3.2 Frobenius Number[0X The largest nonnegative integer not belonging to a numerical semigroup S is the [13XFrobenius number[0m of S. If S is the set of nonnegative integers, then clearly its Frobenius number is -1, otherwise its Frobenius number coincides with the maximum of the gaps (or fundamental gaps) of S. An integer z is a [13Xpseudo-Frobenius number[0m of S if z+S\{0}subseteq S. [1X3.2-1 FrobeniusNumberOfNumericalSemigroup[0m [2X> FrobeniusNumberOfNumericalSemigroup( [0X[3XNS[0X[2X ) _______________________[0Xattribute [10XNS[0m is a numerical semigroup. It returns the Frobenius number of [10XNS[0m. 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. [4X--------------------------- Example ----------------------------[0X [4Xgap> FrobeniusNumberOfNumericalSemigroup(NumericalSemigroup(3,5,7));[0X [4X4[0X [4X------------------------------------------------------------------[0X [1X3.2-2 FrobeniusNumber[0m [2X> FrobeniusNumber( [0X[3XNS[0X[2X ) ___________________________________________[0Xattribute This is just a synonym of [2XFrobeniusNumberOfNumericalSemigroup[0m ([14X3.2-1[0m). [1X3.2-3 PseudoFrobeniusOfNumericalSemigroup[0m [2X> PseudoFrobeniusOfNumericalSemigroup( [0X[3XS[0X[2X ) ________________________[0Xattribute [10XS[0m is a numerical semigroup. It returns set of pseudo-Frobenius numbers of [3XS[0m. [4X--------------------------- Example ----------------------------[0X [4Xgap> S := NumericalSemigroup("modular", 5,53);[0X [4X<Modular numerical semigroup satisfying 5x mod 53 <= x >[0X [4Xgap> PseudoFrobeniusOfNumericalSemigroup(S);[0X [4X[ 21, 40, 41, 42 ][0X [4X------------------------------------------------------------------[0X [1X3.3 Gaps[0X A [13Xgap[0m of a numerical semigroup S is a nonnegative integer not belonging to S. The [13Xfundamental gaps[0m of S are those gaps that are maximal with respect to the partial order induced by division in N. The [13Xspecial gaps[0m of a numerical semigroup S, are those fundamental gaps such that if they are added to the given numerical semigroup, then the resulting set is again a numerical semigroup. [1X3.3-1 GapsOfNumericalSemigroup[0m [2X> GapsOfNumericalSemigroup( [0X[3XNS[0X[2X ) __________________________________[0Xattribute [10XNS[0m is a numerical semigroup. It returns the set of gaps of [10XNS[0m. [4X--------------------------- Example ----------------------------[0X [4Xgap> GapsOfNumericalSemigroup(NumericalSemigroup(3,5,7));[0X [4X[ 1, 2, 4 ][0X [4X------------------------------------------------------------------[0X [1X3.3-2 FundamentalGapsOfNumericalSemigroup[0m [2X> FundamentalGapsOfNumericalSemigroup( [0X[3XS[0X[2X ) ________________________[0Xattribute [10XS[0m is a numerical semigroup. It returns the set of fundamental gaps of [3XS[0m. [4X--------------------------- Example ----------------------------[0X [4Xgap> S := NumericalSemigroup("modular", 5,53);[0X [4X<Modular numerical semigroup satisfying 5x mod 53 <= x >[0X [4Xgap> FundamentalGapsOfNumericalSemigroup(S);[0X [4X[ 16, 17, 18, 19, 27, 28, 29, 30, 31, 40, 41, 42 ][0X [4Xgap> GapsOfNumericalSemigroup(S);[0X [4X[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 14, 15, 16, 17, 18, 19, 20, 21, 27, 28, 29,[0X [4X 30, 31, 40, 41, 42 ][0X [4X------------------------------------------------------------------[0X [1X3.3-3 SpecialGapsOfNumericalSemigroup[0m [2X> SpecialGapsOfNumericalSemigroup( [0X[3XS[0X[2X ) ____________________________[0Xattribute [10XS[0m is a numerical semigroup. It returns the special gaps of [3XS[0m. [4X--------------------------- Example ----------------------------[0X [4Xgap> S := NumericalSemigroup("modular", 5,53);[0X [4X<Modular numerical semigroup satisfying 5x mod 53 <= x >[0X [4Xgap> SpecialGapsOfNumericalSemigroup(S);[0X [4X[ 40, 41, 42 ][0X [4X------------------------------------------------------------------[0X