numericalsgps-- a package for numerical semigroups

Version <#Include SYSTEM "../version">
Manuel Delgado mdelgado@fc.up.pt http://www.fc.up.pt/cmup/mdelgado
Pedro A. García-Sánchez pedro@ugr.es http://www.ugr.es/~pedro
José João Morais
©right; 2005--2015 Centro de Matemática da Universidade do Porto, Portugal and Universidad de Granada, Spain

Numericalsgps is free software; you can redistribute it and/or modify it under the terms of the http://www.fsf.org/licenses/gpl.html as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. For details, see the file 'GPL' included in the package or see the FSF's own site.
The authors wish to thank the contributors of the package. A full list with the help received is available in Appendix . We are also in debt with H. Schönemann, C. Söeger and M. Barakat for their fruitful advices concerning SingularInterface, Singular, Normaliz, NormalizInterface and GradedModules.

The maintainers want to thank the organizers of GAPDays in their several editions.

The authors also thank the Centro de Servicios de Informática y Redes de Comunicaciones (CSIRC), Universidad de Granada, for providing the computing time, specially Rafael Arco Arredondo for installing this package and the extra software needed in alhambra.ugr.es, and Santiago Melchor Ferrer for helping in job submission to the cluster.

The first and second authors warmly thank María Burgos for her support and help.

Funding

The first author's work was (partially) supported by the Centro de Matemática da Universidade do Porto (CMUP), financed by FCT (Portugal) through the programs POCTI (Programa Operacional "Ciência, Tecnologia, Inovação") and POSI (Programa Operacional Sociedade da Informação), with national and European Community structural funds and a sabbatical grant of FCT.

The second author was supported by the projects MTM2004-01446 and MTM2007-62346, the Junta de Andalucía group FQM-343, and FEDER founds.

The third author acknowledges financial support of FCT and the POCTI program through a scholarship given by Centro de Matemática da Universidade do Porto.

The first author was (partially) supported by the FCT project PTDC/MAT/65481/2006 and also by the Centro de Matemática da Universidade do Porto (CMUP), funded by the European Regional Development Fund through the programme COMPETE and by the Portuguese Government through the FCT - Fundação para a Ciência e a Tecnologia under the project PEst-C/MAT/UI0144/2011.

Both maintainers were (partially) supported by the projects MTM2010-15595 and MTM2014-55367-P, which were funded by Ministerio de Economía y Competitividad and the Fondo Europeo de Desarrollo Regional FEDER.

Both maintainers want to acknowledge partial support by CMUP (UID/MAT/00144/2013 and UID/MAT/00144/2019), which is funded by FCT (Portugal) with national (MEC) and European structural funds through the programs FEDER, under the partnership agreement PT2020.

Both maintainers were also partially supported by the project MTM2017-84890-P, which is funded by Ministerio de Economía y Competitividad and Fondo Europeo de Desarrollo Regional FEDER.

The first author acknowledges a sabbatical grant from the FCT: SFRH/BSAB/142918/2018.

The second author was supported in part by Grant PGC2018-096446-B-C21 funded by MCIN/AEI/10.13039/501100011033 and by "ERDF A way of making Europe".

Both maintainers were partially supported by CMUP, member of LASI, which is financed by Portuguese national funds through FCT – Fundação para a Ciência e a Tecnologia, I.P., under the project with reference UIDB/00144/2020.
This work started when (in 2004) the first author visited the University of Granada in part of a sabbatical year. Since Version 0.96 (released in 2008), the package is maintained by the first two authors. Bug reports, suggestions and comments are, of course, welcome. Please use our email addresses to this effect.

If you have benefited from the use of the numerigalsgps GAP package in your research, please cite it in addition to GAP itself, following the scheme proposed in https://www.gap-system.org/Contacts/cite.html.

If you have predominantly used the functions in the Appendix, contributed by other authors, please cite in addition these authors, referring "software implementations available in the GAP package NumericalSgps".
<#Include SYSTEM "introduction.xml">
Numerical Semigroups This chapter describes how to create numerical semigroups in &GAP; and perform some basic tests. <#Include SYSTEM "Generating_Numerical_Semigroups.xml"> <#Include SYSTEM "Some_basic_tests.xml">
Basic operations with numerical semigroups This chapter describes some basic functions to deal with notable elements in a numerical semigroup. A section including functions to test Wilf's conjecture is also included in this chapter. We provide some functions that allow to treat a numerical semigroup as a list, and thus easy the task to access to its elements. <#Include SYSTEM "The_definitions.xml"> <#Include SYSTEM "Wilf.xml">
Presentations of Numerical Semigroups In this chapter we explain how to compute a minimal presentation of a numerical semigroup. Recall that a minimal presentation is a minimal generating system of the kernel congruence of the factorization map of the numerical semigroup. If S is a numerical semigroup minimally generated by \{n_1,\ldots,n_e\}, then the factorization map is the epimorphism \varphi: \mathbb{N}^e\to S, (x_1,\ldots,x_e)\mapsto x_1n_1+\dots+ x_en_e; its kernel is the congruence \{ (a,b) \mid \varphi(a)=\varphi(b)\}.

The set of minimal generators is stored in a set, and so it may not be arranged as the user gave them. This may affect the arrangement of the coordinates of the pairs in a minimal presentation, since every coordinate is associated to a minimal generator. <#Include SYSTEM "Presentations_of_Numerical_Semigroups.xml">
Constructing numerical semigroups from others This chapter provides several functions to construct numerical semigroups from others (via intersections, quotients by an integer, removing or adding integers, etc.). <#Include SYSTEM "Adding_and_removing_elements_of_a_numerical_semigroup.xml"> <#Include SYSTEM "Operations_Numerical_Semigroups.xml"> <#Include SYSTEM "Constructing_sets_of_numerical_semigroups.xml">
Irreducible numerical semigroups An irreducible numerical semigroup is a semigroup that cannot be expressed as the intersection of numerical semigroups properly containing it.

It is not difficult to prove that a semigroup is irreducible if and only if it is maximal (with respect to set inclusion) in the set of all numerical semigroups having its same Frobenius number (see ). Hence, according to (respectively ), symmetric (respectively pseudo-symmetric) numerical semigroups are those irreducible numerical semigroups with odd (respectively even) Frobenius number.

In it is shown that a nontrivial numerical semigroup is irreducible if and only if it has only one special gap. We use this characterization.

In old versions of the package, we first constructed an irreducible numerical semigroup with the given Frobenius number (as explained in ), and then we constructed the rest from it. The present version uses a faster procedure presented in .

Every numerical semigroup can be expressed as an intersection of irreducible numerical semigroups. If S can be expressed as S=S_1\cap \cdots\cap S_n, with S_i irreducible numerical semigroups, and no factor can be removed, then we say that this decomposition is minimal. Minimal decompositions can be computed by using Algorithm 26 in .

<#Include SYSTEM "Irreducible_numerical_semigroups.xml"> <#Include SYSTEM "Complete_Intersections.xml"> <#Include SYSTEM "Almost_symmetric.xml"> <#Include SYSTEM "generalized_symmetric.xml">
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+S\subseteq I and that there exists d\in S such that d+I\subseteq S.

If \{i_1,\ldots,i_k\} is a subset of {\mathbb Z}, then the set I=\{i_1,\ldots,i_k\}+S=\bigcup_{n=1}^k i_n+S is an ideal relative to S, and \{i_1,\ldots, 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 ). <#Include SYSTEM "Ideals_of_numerical_semigroups.xml">
Numerical semigroups with maximal embedding dimension 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 < \cdots < m_n <\cdots\} 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 < \cdots< 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 ). <#Include SYSTEM "Numerical_semigroups_with_maximal_embedding_dimension.xml">
Nonunique invariants for factorizations in numerical semigroups Let S be a numerical semigroup minimally generated by \{m_1,\ldots,m_n\} . A factorization of an element s\in S is an n-tuple a=(a_1,\ldots,a_n) of nonnegative integers such that n=a_1 n_1+\cdots+a_n m_n. The length of a is |a|=a_1+\cdots+a_n. Given two factorizations a and b of n, the distance between a and b is d(a,b)=\max \{ |a-\gcd(a,b)|,|b-\gcd(a,b)|\}, where \gcd((a_1,\ldots,a_n),(b_1,\ldots,b_n))=(\min(a_1,b_1),\ldots,\min(a_n,b_n)). In the literature, factorizations are sometimes called representations or expressions of the element in terms of the generators.

If l_1>\cdots > l_k are the lengths of all the factorizations of s \in S, the delta set associated to s is \Delta(s)=\{l_1-l_2,\ldots,l_k-l_{k-1}\}.

The catenary degree of an element in S is the least positive integer c such that for any two of its factorizations a and b, there exists a chain of factorizations starting in a and ending in b and so that the distance between two consecutive links is at most c. The catenary degree of S is the supremum of the catenary degrees of the elements in S.

The tame degree of S is the least positive integer t such that for any factorization a of an element s in S, and any i such that s-m_i\in S, there exists another factorization b of s so that the distance to a is at most t and b_i\not = 0.

The \omega-primality of an element s in S is the least positive integer k such that if (\sum_{i\in I} s_i)-s\in S, s_i\in S, then there exists \Omega\subseteq I with cardinality k such that (\sum_{i\in \Omega} s_i)-s\in S. The \omega-primality of S is the maximum of the \omega-primality of its minimal generators.

The basic properties of these constants can be found in . The algorithm used to compute the catenary and tame degree is an adaptation of the algorithms appearing in for numerical semigroups (see ). The computation of the elasticity of a numerical semigroup reduces to m/n with m the multiplicity of the semigroup and n its largest minimal generator (see or ). <#Include SYSTEM "catenary-tame.xml">
Polynomials and numerical semigroups Polynomials appear related to numerical semigroups in several ways. One of them is through their associated generating function (or Hilbert series), and another via value semigroups of a curve; and curves might be defined by polynomials. In this chapter we present several functions to compute the polynomial and Hilbert series associated to a numerical semigroup, and to calculate the respective numerical semigroups given a set of defining polynomials. <#Include SYSTEM "polynomial.xml">
Affine semigroups An affine semigroup S is a finitely generated cancellative monoid that is reduced (no units other than 0) and is torsion-free ( a s= b s implies a=b, with a,b\in \mathbb N and s\in S). Up to isomorphism any affine semigroup can be viewed as a finitely generated submonoid of \mathbb N^k for some positive integer k. Thus affine semigroups are a natural generalization of numerical semigroups.

Some of the functions in this chapter may work considerably faster when some external package is installed and its use is allowed. When this is the case, it is referred in the function documentation. We refer the user to Chapter for details on the use of external packages. <#Include SYSTEM "affine.xml">
Good semigroups We will only cover here good semigroups of \mathbb{N}^2.

A good semigroup S is a submonoid of \mathbb{N}^2, with the following properties.

(G1) It is closed under infimums (minimum componentwise).

(G2) If a, b \in M and a_i = b_i for some i \in \{1, 2\}, then there exists c \in M such that c_i > a_i = b_i and c_j = \min\{a_j,b_j\}, with j∈\{1,2\}\setminus \{i\}.

(G3) There exists C\in\mathbb{N}^n such that C+\mathbb{N}^n\subseteq S.

Value semigroups of algebroid branches are good semigroups, but there are good semigroups that are not of this form. Since good semigroups are closed under infimums, if C_1 and C_2 fulfill C_i+\mathbb{N}^n\subseteq S, then C_1\wedge C_2+\mathbb{N}^n\subseteq S. So there is a minimum C fulfilling C+\mathbb{N}^n\subseteq S, which is called the conductor of S.

The contents of this chapter are described in . <#Include SYSTEM "good-semigroups.xml">
External packages <#Include SYSTEM "external-packages.xml">
Dot functions <#Include SYSTEM "dot.xml">
<#Include SYSTEM "generalstuff.xml"> <#Include SYSTEM "random.xml"> <#Include SYSTEM "contributions.xml">