Contributions
Functions implemented by A. Sammartano S is a numerical semigroup.

Returns true if the graded ring associated to K[[S]] is Buchsbaum, and false otherwise. This test is the implementation of the algorithm given in .
gap> s:=NumericalSemigroup(30, 35, 42, 47, 148, 153, 157, 169, 181, 193);; gap> IsGradedAssociatedRingNumericalSemigroupBuchsbaum(s); true
S is a numerical semigroup.

Test for the M-Purity of the numerical semigroup S S. This test is based on .
gap> s:=NumericalSemigroup(30, 35, 42, 47, 148, 153, 157, 169, 181, 193);; gap> IsMpureNumericalSemigroup(s); false gap> s:=NumericalSemigroup(4,6,11);; gap> IsMpureNumericalSemigroup(s); true
S is a numerical semigroup.

Test for the purity of the numerical semigroup S S. This test is based on .
gap> s:=NumericalSemigroup(30, 35, 42, 47, 148, 153, 157, 169, 181, 193);; gap> IsPureNumericalSemigroup(s); false gap> s:=NumericalSemigroup(4,6,11);; gap> IsPureNumericalSemigroup(s); true
S is a numerical semigroup.

Returns true if the graded ring associated to K[[S]] is Gorenstein, and false otherwise. This test is the implementation of the algorithm given in .
gap> s:=NumericalSemigroup(30, 35, 42, 47, 148, 153, 157, 169, 181, 193);; gap> IsGradedAssociatedRingNumericalSemigroupGorenstein(s); false gap> s:=NumericalSemigroup(4,6,11);; gap> IsGradedAssociatedRingNumericalSemigroupGorenstein(s); true
S is a numerical semigroup.

Returns true if the Complete Intersection property of the associated graded ring of a numerical semigroup ring associated to K[[S]], and false otherwise. This test is the implementation of the algorithm given in .
gap> s:=NumericalSemigroup(30, 35, 42, 47, 148, 153, 157, 169, 181, 193);; gap> IsGradedAssociatedRingNumericalSemigroupCI(s); false gap> s:=NumericalSemigroup(4,6,11);; gap> IsGradedAssociatedRingNumericalSemigroupCI(s); true
S is a numerical semigroup.

Test for the Gamma-Rectangularity of the Apéry Set of a numerical semigroup. This test is the implementation of the algorithm given in .
gap> s:=NumericalSemigroup(30, 35, 42, 47, 148, 153, 157, 169, 181, 193);; gap> IsAperySetGammaRectangular(s); false gap> s:=NumericalSemigroup(4,6,11);; gap> IsAperySetGammaRectangular(s); true
S is a numerical semigroup.

Test for the Beta-Rectangularity of the Apéry Set of a numerical semigroup. This test is the implementation of the algorithm given in .
gap> s:=NumericalSemigroup(30, 35, 42, 47, 148, 153, 157, 169, 181, 193);; gap> IsAperySetBetaRectangular(s); false gap> s:=NumericalSemigroup(4,6,11);; gap> IsAperySetBetaRectangular(s); true
S is a numerical semigroup.

Test for the Alpha-Rectangularity of the Apéry Set of a numerical semigroup. This test is the implementation of the algorithm given in .
gap> s:=NumericalSemigroup(30, 35, 42, 47, 148, 153, 157, 169, 181, 193);; gap> IsAperySetAlphaRectangular(s); false gap> s:=NumericalSemigroup(4,6,11);; gap> IsAperySetAlphaRectangular(s); true
S is a numerical semigroup.

Computes the type sequence of a numerical semigroup. This test is the implementation of the algorithm given in .
gap> s:=NumericalSemigroup(30, 35, 42, 47, 148, 153, 157, 169, 181, 193);; gap> TypeSequenceOfNumericalSemigroup(s); [ 13, 3, 4, 4, 7, 3, 3, 3, 2, 2, 2, 3, 3, 2, 4, 3, 2, 1, 3, 2, 1, 1, 2, 2, 1, 1, 1, 2, 2, 1, 3, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1 ] gap> s:=NumericalSemigroup(4,6,11);; gap> TypeSequenceOfNumericalSemigroup(s); [ 1, 1, 1, 1, 1, 1, 1 ]
Functions implemented by C. O'Neill This section includes the implementations of some procedures described in . S is a numerical semigroup and l a list of elements of S.

Computes the omega-values of all the elements in l.
gap> s:=NumericalSemigroup(10,11,13);; gap> l:=FirstElementsOfNumericalSemigroup(100,s);; gap> List(l,x->OmegaPrimalityOfElementInNumericalSemigroup(x,s)); time; [ 0, 4, 5, 5, 4, 6, 7, 6, 6, 6, 6, 7, 8, 7, 7, 7, 7, 7, 8, 7, 8, 9, 8, 8, 8, 8, 8, 8, 8, 9, 9, 10, 9, 9, 9, 9, 9, 9, 9, 9, 10, 11, 10, 10, 10, 10, 10, 10, 10, 10, 11, 12, 11, 11, 11, 11, 11, 11, 11, 11, 12, 13, 12, 12, 12, 12, 12, 12, 12, 12, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16, 15, 15, 15, 15, 15, 15, 15, 15 ] 218 gap> OmegaPrimalityOfElementListInNumericalSemigroup(l,s);time; [ 0, 4, 5, 5, 4, 6, 7, 6, 6, 6, 6, 7, 8, 7, 7, 7, 7, 7, 8, 7, 8, 9, 8, 8, 8, 8, 8, 8, 8, 9, 9, 10, 9, 9, 9, 9, 9, 9, 9, 9, 10, 11, 10, 10, 10, 10, 10, 10, 10, 10, 11, 12, 11, 11, 11, 11, 11, 11, 11, 11, 12, 13, 12, 12, 12, 12, 12, 12, 12, 12, 13, 14, 13, 13, 13, 13, 13, 13, 13, 13, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16, 15, 15, 15, 15, 15, 15, 15, 15 ] 10
S is a numerical semigroup and l a list of elements of S.

Computes the factorizations of all the elements in l.
gap> s:=NumericalSemigroup(10,11,13); <Numerical semigroup with 3 generators> gap> FactorizationsElementListWRTNumericalSemigroup([100,101,103],s); [ [ [ 0, 2, 6 ], [ 1, 7, 1 ], [ 3, 4, 2 ], [ 5, 1, 3 ], [ 10, 0, 0 ] ], [ [ 0, 8, 1 ], [ 1, 0, 7 ], [ 2, 5, 2 ], [ 4, 2, 3 ], [ 9, 1, 0 ] ], [ [ 0, 7, 2 ], [ 2, 4, 3 ], [ 4, 1, 4 ], [ 7, 3, 0 ], [ 9, 0, 1 ] ] ]
S is a numerical semigroup.

Computes the bound were the periodicity starts for Delta sets of the elements in S; see .
gap> s:=NumericalSemigroup(5,7,11);; gap> DeltaSetPeriodicityBoundForNumericalSemigroup(s); 60
S is a numerical semigroup.

Computes the element were the periodicity starts for Delta sets of the elements in S.
gap> s:=NumericalSemigroup(5,7,11);; gap> DeltaSetPeriodicityStartForNumericalSemigroup(s); 21
S is a numerical semigroup, n a nonnegative integer.

Computes the Delta sets of the integers up to (and including) n, if an integer is not in S, the corresponding Delta set is empty.
gap> s:=NumericalSemigroup(5,7,11);; gap> DeltaSetListUpToElementWRTNumericalSemigroup(31,s); [ [ ], [ ], [ ], [ ], [ ], [ ], [ ], [ ], [ ], [ ], [ ], [ ], [ ], [ ], [ ], [ ], [ ], [ ], [ ], [ ], [ ], [ 2 ], [ ], [ ], [ 2 ], [ ], [ 2 ], [ ], [ 2 ], [ 2 ], [ ] ]
S is a numerical semigroup, n a nonnegative integer.

Computes the union of the delta sets of the elements of S up to and including n, using a ring buffer to conserve memory.
gap> s:=NumericalSemigroup(5,7,11);; gap> DeltaSetUnionUpToElementWRTNumericalSemigroup(60,s); [ 2 ]
S is a numerical semigroup.

Computes the Delta set of S.
gap> s:=NumericalSemigroup(5,7,11);; gap> DeltaSetOfNumericalSemigroup(s); [ 2 ]