8
Numerical semigroups with maximal embedding dimension

8.2
Numerical semigroups with the Arf property and Arf closures

8.2-1 IsArf

8.2-2 ArfNumericalSemigroupClosure

8.2-3 ArfCharactersOfArfNumericalSemigroup

8.2-4 ArfNumericalSemigroupsWithFrobeniusNumber

8.2-5 ArfNumericalSemigroupsWithFrobeniusNumberUpTo

8.2-6 ArfNumericalSemigroupsWithGenus

8.2-7 ArfNumericalSemigroupsWithGenusUpTo

8.2-8 ArfNumericalSemigroupsWithGenusAndFrobeniusNumber

8.2-1 IsArf

8.2-2 ArfNumericalSemigroupClosure

8.2-3 ArfCharactersOfArfNumericalSemigroup

8.2-4 ArfNumericalSemigroupsWithFrobeniusNumber

8.2-5 ArfNumericalSemigroupsWithFrobeniusNumberUpTo

8.2-6 ArfNumericalSemigroupsWithGenus

8.2-7 ArfNumericalSemigroupsWithGenusUpTo

8.2-8 ArfNumericalSemigroupsWithGenusAndFrobeniusNumber

If S is a numerical semigroup and m is its multiplicity (the least positive integer belonging to it), then the embedding dimension e of S (the cardinality of the minimal system of generators of S) is less than or equal to m. We say that S has maximal embedding dimension (MED for short) when e=m. The intersection of two numerical semigroups with the same multiplicity and maximal embedding dimension is again of maximal embedding dimension. Thus we define the MED closure of a non-empty subset of positive integers M={m < m_1 < ⋯ < m_n <⋯} with gcd(M)=1 as the intersection of all MED numerical semigroups with multiplicity m.

Given a MED numerical semigroup S, we say that M={m_1 < ⋯< m_k} is a MED system of generators if the MED closure of M is S. Moreover, M is a minimal MED generating system for S provided that every proper subset of M is not a MED system of generators of S. Minimal MED generating systems are unique, and in general are smaller than the classical minimal generating systems (see [RGSGGB03]).

`‣ IsMED` ( S ) | ( property ) |

`‣ IsMEDNumericalSemigroup` ( S ) | ( property ) |

`S` is a numerical semigroup. Returns true if `S` is a MED numerical semigroup and false otherwise.

gap> IsMEDNumericalSemigroup(NumericalSemigroup(3,5,7)); true gap> IsMEDNumericalSemigroup(NumericalSemigroup(3,5)); false

`‣ MEDNumericalSemigroupClosure` ( S ) | ( function ) |

`‣ MEDClosure` ( S ) | ( operation ) |

`S` is a numerical semigroup. Returns the MED closure of `S`.

gap> MEDNumericalSemigroupClosure(NumericalSemigroup(3,5)); <Numerical semigroup> gap> MinimalGenerators(last); [ 3, 5, 7 ]

`‣ MinimalMEDGeneratingSystemOfMEDNumericalSemigroup` ( S ) | ( function ) |

`S` is a MED numerical semigroup. Returns the minimal MED generating system of `S`.

gap> MinimalMEDGeneratingSystemOfMEDNumericalSemigroup( > NumericalSemigroup(3,5,7)); [ 3, 5 ]

Numerical semigroups with the Arf property are a special kind of numerical semigroups with maximal embedding dimension. A numerical semigroup S is Arf if for every x,y,z in S with x≥ y≥ z, one has that x+y-z∈ S.

The intersection of two Arf numerical semigroups is again Arf, and thus we can consider the Arf closure of a set of nonnegative integers with greatest common divisor equal to one. Analogously as with MED numerical semigroups, we define Arf systems of generators and minimal Arf generating system for an Arf numerical semigroup. These are also unique(see [RGSGGB04]).

`‣ IsArf` ( S ) | ( property ) |

`‣ IsArfNumericalSemigroup` ( S ) | ( property ) |

`S` is a numerical semigroup. Returns true if `S` is an Arf numerical semigroup and false otherwise.

gap> IsArfNumericalSemigroup(NumericalSemigroup(3,5,7)); true gap> IsArfNumericalSemigroup(NumericalSemigroup(3,7,11)); false gap> IsMEDNumericalSemigroup(NumericalSemigroup(3,7,11)); true

`‣ ArfNumericalSemigroupClosure` ( S ) | ( function ) |

`‣ ArfClosure` ( S ) | ( operation ) |

`S` is a numerical semigroup. Returns the Arf closure of `S`.

gap> ArfNumericalSemigroupClosure(NumericalSemigroup(3,7,11)); <Numerical semigroup> gap> MinimalGenerators(last); [ 3, 7, 8 ]

`‣ ArfCharactersOfArfNumericalSemigroup` ( S ) | ( function ) |

`‣ MinimalArfGeneratingSystemOfArfNumericalSemigroup` ( S ) | ( function ) |

`S` is an Arf numerical semigroup. Returns the minimal Arf generating system of `S`. The current version of this algorithm is due to G. Zito.

gap> MinimalArfGeneratingSystemOfArfNumericalSemigroup( > NumericalSemigroup(3,7,8)); [ 3, 7 ]

`‣ ArfNumericalSemigroupsWithFrobeniusNumber` ( f ) | ( function ) |

`f` is an integer greater than or equal to -1. The output is the set of all Arf numerical semigroups with Frobenius number `f`. The current version of this algorithm is due to G. Zito.

gap> ArfNumericalSemigroupsWithFrobeniusNumber(10); [ <Numerical semigroup>, <Numerical semigroup>, <Numerical semigroup>, <Numerical semigroup>, <Numerical semigroup>, <Numerical semigroup>, <Numerical semigroup>, <Numerical semigroup>, <Numerical semigroup> ] gap> Set(last,MinimalGenerators); [ [ 3, 11, 13 ], [ 4, 11, 13, 14 ], [ 6, 9, 11, 13, 14, 16 ], [ 6, 11, 13, 14, 15, 16 ], [ 7, 9, 11, 12, 13, 15, 17 ], [ 7, 11, 12, 13, 15, 16, 17 ], [ 8, 11, 12, 13, 14, 15, 17, 18 ], [ 9, 11, 12, 13, 14, 15, 16, 17, 19 ], [ 11 .. 21 ] ]

`‣ ArfNumericalSemigroupsWithFrobeniusNumberUpTo` ( f ) | ( function ) |

`f` is an integer greater than or equal to -1. The output is the set of all Arf numerical semigroups with Frobenius number less than or equal to `f`. The current version of this algorithm is due to G. Zito.

gap> Length(ArfNumericalSemigroupsWithFrobeniusNumberUpTo(10)); 46

`‣ ArfNumericalSemigroupsWithGenus` ( g ) | ( function ) |

`g` is a nonnegative integer. The output is the set of all Arf numerical semigroups with equal to `g`. The current version of this algorithm is due to G. Zito.

gap> Length(ArfNumericalSemigroupsWithGenus(10)); 21

`‣ ArfNumericalSemigroupsWithGenusUpTo` ( g ) | ( function ) |

`g` is a nonnegative integer. The output is the set of all Arf numerical semigroups with genus less than or equal to `g`. The current version of this algorithm is due to G. Zito.

gap> Length(ArfNumericalSemigroupsWithGenusUpTo(10)); 86

`‣ ArfNumericalSemigroupsWithGenusAndFrobeniusNumber` ( g, f ) | ( function ) |

`f` is an integer greater than or equal to -1, and `g` is a nonnegative integer. The output is the set of all Arf numerical semigroups with genus `g` and Frobenius number `f`. The algorithm is explained in [GSHKR17].

gap> ArfNumericalSemigroupsWithGenusAndFrobeniusNumber(10,13); [ <Numerical semigroup>, <Numerical semigroup>, <Numerical semigroup>, <Numerical semigroup>, <Numerical semigroup> ] gap> List(last,MinimalGenerators); [ [ 8, 10, 12, 14, 15, 17, 19, 21 ], [ 6, 10, 14, 15, 17, 19 ], [ 5, 12, 14, 16, 18 ], [ 6, 9, 14, 16, 17, 19 ], [ 4, 14, 15, 17 ] ]

Saturated numerical semigroups with the Arf property are a special kind of numerical semigroups with maximal embedding dimension. A numerical semigroup S is saturated if the following condition holds: s, s_1 , ... , s_r in S are such that s_i ≤ s for all i in {1, ... , r} and z_1 , ... , z_r in Z are such that z_1 s_1 + ⋯ + z_r s_r≥ 0, then s + z_1 s_1 + ⋯ + z_r s_r in S.

The intersection of two saturated numerical semigroups is again saturated, and thus we can consider the saturated closure of a set of nonnegative integers with greatest common divisor equal to one (see [RGS09]).

`‣ IsSaturated` ( S ) | ( property ) |

`‣ IsSaturatedNumericalSemigroup` ( S ) | ( property ) |

`S` is a numerical semigroup. Returns true if `S` is a saturated numerical semigroup and false otherwise.

gap> IsSaturatedNumericalSemigroup(NumericalSemigroup(4,6,9,11)); true gap> IsSaturatedNumericalSemigroup(NumericalSemigroup(8, 9, 12, 13, 15, 19 )); false

`‣ SaturatedNumericalSemigroupClosure` ( S ) | ( function ) |

`‣ SaturatedClosure` ( S ) | ( operation ) |

`S` is a numerical semigroup. Returns the saturated closure of `S`.

gap> SaturatedNumericalSemigroupClosure(NumericalSemigroup(8, 9, 12, 13, 15)); <Numerical semigroup> gap> MinimalGenerators(last); [ 8 .. 15 ]

`‣ SaturatedNumericalSemigroupsWithFrobeniusNumber` ( f ) | ( function ) |

`f` is an integer greater than or equal to -1. The output is the set of all Saturated numerical semigroups with Frobenius number `f`.

gap> SaturatedNumericalSemigroupsWithFrobeniusNumber(10); [ <Numerical semigroup with 3 generators>, <Numerical semigroup with 4 generators>, <Numerical semigroup with 6 generators>, <Numerical semigroup with 6 generators>, <Numerical semigroup with 7 generators>, <Numerical semigroup with 8 generators>, <Numerical semigroup with 9 generators>, <Numerical semigroup with 11 generators> ] gap> List(last,MinimalGenerators); [ [ 3, 11, 13 ], [ 4, 11, 13, 14 ], [ 6, 9, 11, 13, 14, 16 ], [ 6, 11, 13, 14, 15, 16 ], [ 7, 11, 12, 13, 15, 16, 17 ], [ 8, 11, 12, 13, 14, 15, 17, 18 ], [ 9, 11, 12, 13, 14, 15, 16, 17, 19 ], [ 11 .. 21 ] ]

generated by GAPDoc2HTML