Irreducible numerical semigroups In this section we provide membership tests to the two families that conform the set of irreducible numerical semigroups. We also give a procedure to compute the set of all irreducible numerical semigroups with fixed Frobenius number (or equivalently genus, since for irreducible numerical semigroups once the Frobenius number is fixed, so is the genus). Also we give a function to compute the decomposition of a numerical semigroup as an intersection of irreducible numerical semigroups. s is a numerical semigroup. The output is true if s is irreducible, false otherwise.

This filter implies and .
gap> IsIrreducible(NumericalSemigroup(4,6,9)); true gap> IsIrreducibleNumericalSemigroup(NumericalSemigroup(4,6,7,9)); false
s is a numerical semigroup. The output is true if s is symmetric, false otherwise.

This filter implies .
gap> IsSymmetric(NumericalSemigroup(10,23)); true gap> IsSymmetricNumericalSemigroup(NumericalSemigroup(10,11,23)); false
s is a numerical semigroup. The output is true if s is pseudo-symmetric, false otherwise.

This filter implies .
gap> IsPseudoSymmetric(NumericalSemigroup(6,7,8,9,11)); true gap> IsPseudoSymmetricNumericalSemigroup(NumericalSemigroup(4,6,9)); false
f is an integer. When f=0 or f\le -2, the output is fail. Otherwise, the output is an irreducible numerical semigroup with Frobenius number f. From the way the procedure is implemented, the resulting semigroup has at most four generators (see ).
gap> s := AnIrreducibleNumericalSemigroupWithFrobeniusNumber(28); <Numerical semigroup with 3 generators> gap> MinimalGenerators(s); [ 3, 17, 31 ] gap> FrobeniusNumber(s); 28
f is an integer. The output is the set of all irreducible numerical semigroups with Frobenius number f. The algorithm is inspired in .
gap> Length(IrreducibleNumericalSemigroupsWithFrobeniusNumber(19)); 20
f and m are integers. The output is the set of all irreducible numerical semigroups with Frobenius number f and multiplicity m. The implementation appears in .
gap> Length(IrreducibleNumericalSemigroupsWithFrobeniusNumberAndMultiplicity(31,11)); 16
s is a numerical semigroup. The output is a set of irreducible numerical semigroups containing it. These elements appear in a minimal decomposition of s as intersection into irreducibles.
gap> DecomposeIntoIrreducibles(NumericalSemigroup(5,6,8)); [ <Numerical semigroup with 3 generators>, <Numerical semigroup with 4 generators> ]