Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

In this manuscript, we give a general overview of the existing procedures to compute nonunique factorization invariants. These methods have gained importance since they provide batteries of examples that can be used to understand how to prove theoretical results (or disprove ideas that we initially thought would hold). The algorithms improve when we obtain new theoretical results, and in many cases from advances in integer linear programming (and in particular in the study of systems of linear homogeneous Diophantie equalities and inequations; since factorizations can be seen as nonnegative integer solutions of systems of this form). Thus in a sense, this is a wheel: theory produces algorithms that can be used to test new ideas, and these yield new results.

A semigroup is a set with a binary associative operation. If a semigroup S has an identity element (an element e such that \(ex=xe=x\) for all \(x\in S\)), then we say that the semigroup is a monoid. Let \((M,\cdot )\) be a monoid. An element \(m\in M\) is a unit if there exists \(m'\in M\) such that \(m \cdot m'=e=m'\cdot m\), where e is the identity element of M. A monoid is reduced if the only unit is the identity element. We are concerned with factorizations up to units, so we can at the very beginning remove the units from our monoid and suppose that it is reduced. If \(\mathscr {U}(M)\) denote the set of units, then \(M_\mathrm {red}\) is defined as \(M_\mathrm {red}=\{ m+\mathscr {U}(M)\mid m\in M\}\), which is the reduced monoid associated to M.

A monoid M is commutative if \(m\cdot m'=m'\cdot m\) for all \(m,m'\in M\). All monoids in this paper are commutative, and thus we will adopt additive notation, and will use 0 to denote the identity element.

A monoid M is cancellative if whenever \(m+m'=m+m''\) for some \(m, m',m''\in M\), we have \(m'=m''\). If \((R,+,\cdot )\) is a domain, then the underlying monoid \((R,\cdot )\) is commutative and cancellative. As with commutativity, we will also assume that our monoids are cancellative.

Thus in what follows a monoid M is meant to be commutative, cancellative, and reduced. We denote \(M^*=M\setminus \{0\}\).

Since we are assuming that our monoids are cancellative, we can consider their quotient groups . Let M be a monoid, the quotient group of M, denoted by \(\mathfrak G(M)\), is the set \((M\times M)/\sim \), where \(\sim \) is the congruence defined as \((x,y)\sim (x',y')\) if \(x+y'=x'+y\). We use [(xy)] to denote the equivalence class of (xy) modulo this relation. Addition in \(\mathfrak G(M)\) is defined by the rule \([(x,y)]+[(x',y')]=[(x+x',y+y')]\). It is easy to show that \((\mathfrak G(M),+)\) is a group, and that the natural embedding \(i:M\rightarrow \mathfrak G(M)\), \(m\mapsto [(m,0)]\) is a monoid homomorphism. We can represent \(\mathfrak G(M)\) as the set \(\{ x-y \mid x,y\in M\}\) via this embedding.

Assume that M is a submonoid of a free monoid F. Then we say that M is saturated if \(\mathfrak G(M)\cap F=M\). A Krull monoid is a monoid M such that \(M_\mathrm {red}\) is a saturated submonoid of a free monoid (this is just one of the many possible definitions; see [27]).

An element m in \(M^*\) is said to be an atom or irreducible if whenever \(m=m'+m''\) for some \(m',m''\in M\), then either \(m'=0\) or \(m''=0\) (recall that we are assuming that M is reduced). Let \(\mathscr {A}(M)\) denote the set of atoms of M. We say that M is atomic if every element \(m\in M\) can be expressed as a sum of finitely many atoms.

For a given set X, let \(\mathscr {F}(X)\) be the free monoid on X, that is, the expressions of the form \(\sum _{x\in X} \lambda _x x\) with \(\lambda _x\in \mathbb N\) (\(\mathbb N\) denotes the set of nonnegative integers), and all but finitely many \(\lambda _x\) are zero. For M an atomic monoid , denote by \(\mathsf Z(M)=\mathscr {F}(\mathscr {A}(M))\). There is a natural monoid epimorphism

$$\begin{aligned} \varphi : \mathsf Z(M)\rightarrow M,\quad \varphi \Big (\sum \nolimits _{a\in \mathscr {A}(M)}\lambda _a a\Big )= \sum \nolimits _{a\in \mathscr {A}(M)}\lambda _a a. \end{aligned}$$

Observe that many expressions of the form \(\sum _{a\in \mathscr {A}(M)}\lambda _a a\) may correspond to the same element in M. For \(m\in M\), we define \(\mathsf Z(m)=\varphi ^{-1}(m)\). Every element in \(\mathsf Z(m)\) is a factorization of m. For \(N\subseteq M\), we will write \(\mathsf Z(N)=\bigcup _{m\in N} \mathsf Z(m)\).

It may happen that the cardinality of \(\mathsf Z(m)\) is one for all m (and consequently \(\varphi \) is an isomorphism and M is a free monoid); in this case M is said to be a factorial monoid. It also may happen that there are finitely many factorizations for every element in the monoid M, and then we say that M is a FF-monoid (which stands for finite factorization monoid). The length of a factorization \(\sum _{a\in \mathscr {A}(M)}\lambda _a a\) is \(\sum _{a\in \mathscr {A}(M)}\lambda _a\). If for every element \(m\in M\), all the lengths of its factorizations coincide, then we say that M is a half-factorial monoid; and if the set of possible lengths of factorizations are finite for every element, the monoid is a BF-monoid (BF stands for bounded factorizations; see [27] for more details and properties of these monoids).

Observe that from a computational point of view it is desirable that M can be described in a “finite” way, and this happens in the case M is an atomic monoid with finitely many atoms. In this setting, if the cardinality of \(\mathscr {A}(M)\) is e, we can identify \(\mathsf Z(M)\) with \(\mathbb N^e\). As we are assuming M is cancellative and reduced, this implies, that any two factorizations are incomparable with respect to the usual partial ordering in \(\mathbb N^e\). Dickson’s lemma implies that \(\mathsf Z(m)\) will have finitely many elements for any \(m\in M\).

A monoid morphism \(f:M\rightarrow M'\) is a transfer homomorphism if

  1. (T1)

    \(M'=\mathrm {im}(f)+\mathscr {U}(M')\) and \(f^{-1}(\mathscr {U}(M'))=\mathscr {U}(M)\),

  2. (T2)

    if \(u\in M\) and \(f(u)=b+c\) for some \(b,c\in M'\), then there exist vw such that \(u=v+w\), \(f(v)\in b+\mathscr {U}(M')\) and \(f(w)\in c+\mathscr {U}(M')\).

Transfer homomorphisms allow to study the arithmetical invariants (such as sets of lengths and catenary degree) of Krull and weakly Krull monoids in associated auxiliary monoids. In many cases these auxiliary monoids are finitely generated (see [27]). So, in these cases we will have FF-monoids , and we will be able to determine some properties using a computer.

Notice also that if we are assuming that M is finitely generated, then according to [37, Proposition 3.1], we can assume that M “lives” in \(\mathbb Z^k\times \mathbb Z_{d_1}\times \cdots \times \mathbb Z_{d_r}\). If \(A=\{m_1,\ldots ,m_e\}\) is the set of atoms of M, then \(M=\langle A\rangle = \big \{ \sum _{i=1}^e n_i m_i\mid n_1,\ldots , n_t\in \mathbb N\big \}\). For \(m\in M\) the set of factorizations of m corresponds with the set of nonnegative integer solutions of the system of equations

$$ (m_1 \mid \cdots \mid m_e) (x_1\ldots x_e)^T = m, $$

where the \(m_i\)’s are written in columns, and the last r equations are in congruences modulo \(d_1,\ldots , d_r\), respectively. In order to deal with these equations in congruences, we can introduce auxiliary variables and then project to the original ones (see for instance [37, Chap. 7]). The software Normaliz [6] can handle these kinds of systems of equations.

By removing equations in congruences, we then have a monoid that is torsion free, that is, whenever \(km =km'\) for k a positive integer and \(m, m'\in M\), we have \(m=m'\). Every finitely generated commutative, cancellative, reduced, and torsion free monoid is isomorphic to a submonoid of \(\mathbb N^k\) for some positive integer k (this is known in the literature as Grillet’s Theorem, see for instance [37, Theorem 3.11]). A monoid with all these conditions is called an affine semigroup. The set of atoms of an affine semigroup M is \(M^*\setminus (M^*+M^*)\), and it is the unique minimal generating system of M. So here minimal generators correspond with atoms (irreducibles).

We will give the definition of arithmetic invariants in the scope of affine semigroups. This does not mean that some of the methods reviewed can be used in a more general scope (even in an noncomputatonal framework), see for instance [8, 3234].

Recall that the kernel congruence of a monoid morphism \(f: M \rightarrow M'\) is defined as

$$\begin{aligned} \ker (f)=\{(x,y)\in M\times M\mid f(x)=f(y)\}. \end{aligned}$$

Observe that this definition is slightly different from that of kernel of a group morphism (or ring morphism or linear map), because we do not have inverses, and from \(f(x)=f(y)\) we cannot write \(f(x-y)=0\).

If z and \(z'\) are two factorizations of \(m\in M\), then the pair \((z,z')\) is in the kernel of the morphism \(\varphi \) defined above. The map \(\varphi \), in the setting of affine semigroups with atoms \(\{m_1,\ldots , m_e\}\), can be written as

$$ \varphi : \mathbb N^e\rightarrow M,\ \varphi (n_1,\ldots , n_e)=n_1m_1+\cdots + n_em_e. $$

A presentation \(\sigma \) of M is a generating system of \(\ker \varphi \), that is, \(\ker \varphi \) is the minimal congruence containing \(\sigma \).

Remark 1

Notice that from the definition of presentation, if \(\sigma \) is a presentation for M and \(z,z'\) are two factorizations of \(m\in M\), then there exists a chain of factorizations \(z_1,\ldots , z_r\) of m such that

  • \(z_1=z\), \(z_r=z'\),

  • for every \(i\in \{1,\ldots ,r-1\}\) there exists \(a_i,b_i,c_i\in \mathbb N^e\) such that \((z_i,z_{i+1})=(a_i+c_i,b_i+c_i)\) with either \((a_i,b_i)\in \sigma \) or \((b_i,a_i)\in \sigma \).

This idea actually catches the fact that \(\ker \varphi \) is the least congruence containing \(\sigma \), or in other words, it is the reflexive-symmetric-transitive closure of \(\sigma \) compatible with addition.

Hence knowing a presentation of M (a generating set of \(\ker \varphi \)) allows us to know how to move from z to \(z'\), and consequently it will be a fundamental tool in the study factorizations of elements in affine semigroups . This is the case of catenary degree and Delta sets.

Recently it has been shown that some invariants are related to the calculation of the set of factorizations of a principal ideal (this occurs with the tame degree and the \(\omega \)-primality).

An affine semigroup \(M\subseteq \mathbb N^k\) is full if \(\mathfrak G(M)\cap \mathbb N^k=M\), that is, it is a finitely generated saturated submonoid of \(\mathbb N^k\) for some positive integer k. Clearly, a monoid is full affine if and only if it is a reduced finitely generated Krull monoid (see [27, Theorem 2.7.14]). For full affine semigroups , there are specific procedures that significantly speed up the process of computing factorizations of principal ideals .

For numerical semigroups there are methods, based mainly on computing with Apéry sets, which avoid the use of linear integer programming, and work well for small generators. We will describe them when applicable.

This manuscript is meant to give a state of art of the implementations existing for the calculation of nonunique factorization invariants. We will simply explain the theory that supports these procedures, but will not describe deeply the functions used. We have implemented everything that is described here in the GAP [20] package numericalsgps ([18]; see the manual of the package for a description of the functions, examples and mode of operation). The reader interested in a full description and implementation of the algorithms can have a look at the source code available either on the GAP web page, or for the development version in https://bitbucket.org/gap-system/numericalsgps (the files containing the functions described here for numerical semigroups are in catenary-tame.gi and contributions.gi; those for affine semigroups are in affine.gi, both in the folder gap). The package tests availability of other packages [2, 16, 26, 28, 29] that interact with 4ti2 [1], Normaliz [5, 6] and Singular [17]. Depending on this availability, the package will use an specific method for the calculations. So, in some cases, we wrote up to four different implementations for computing the same invariant (this is why there are several files with prefix affine-extra in the gap folder).

2 Presentations

Rédei proved in [36] that every finitely generated commutative monoid is finitely presented. In our setting, this means that every affine semigroup admits a presentation with finitely many elements. Since then, many alternative and shorter proofs have been published. We recall here one of these approaches.

Let t be a symbol and let \(\mathbb K\) be a field. For M an affine semigroup, define the semigroup ring \(\mathbb K[M]=\bigoplus _{m\in M} \mathbb K t^m\), where addition is performed component-wise and multiplication follows the rule \(t^mt^{m'}=t^{m+m'}\). Observe that we can think of \(\mathbb K[M]\) as the set of polynomials in the variable t but with exponents in the monoid M (so this is not necessarily a subring of \(\mathbb K[t]\), the ring of polynomials in t, since M does not have to be a submonoid of \(\mathbb N\)).

Assume that \(\{m_1,\ldots ,m_e\}\) is a generating system of M. Herzog in [30] proves that \(\sigma \) is a presentation of M if and only if the ideal \(I_M=( X^a-X^b\mid (a,b)\in \sigma )\), where \(I_M\) is the kernel of the ring homomorphism induced by

$$ \mathbb K [x_1,\ldots ,x_t] \rightarrow \mathbb K[M],\ x_i\mapsto t^{m_i}. $$

Observe that for \(n=(n_1,\ldots , n_k)\), we can write \(t^m\) as \(t_1^{n_1}\ldots t_k^{n_k}\) and in this way we can see \(\mathbb K[M]\) as a subring of \(\mathbb K[t_1,\ldots , t_k]\). In particular, we can compute a presentation of M by using elimination: we start with the ideal \(\big (x_1-t^{m_1},\ldots , x_e-t^{m_e}\big )\subseteq \mathbb K[x_1,\ldots , x_e,t_1,\ldots , t_k]\), and then eliminate the variables \(t_1,\ldots , t_k\) to obtain \(I_M\).

Example 2.1

Let us compute a presentation of \(M=\langle (2,0),(0,2),(1,1),(2,1)\rangle \) with singular, [17].

figure a

This means that \(I_M=\left( yz^2-t^2,x t^2-z^4, xy -z^2\right) \), and in light of Herzog’s correspondence, the set

$$\begin{aligned} \big \{((0,1,2,0),(0,0,0,2)),((1,0,0,2),(0,0,4,0)),((1,1,0,0),(0,0,2,0))\big \} \end{aligned}$$

is a presentation for M.

A minimal presentation of M is a presentation that cannot be refined to another presentation of M, that is, it is minimal with respect to set inclusion (it turns out that it is also minimal with respect to cardinality; see [37, Corollary 9.5]).

Example 2.2

The presentation in Example 2.1 is not minimal. If we want to obtain a minimal presentation with singular additional work is needed.

figure b

Given \(m\in M\), we define \(\nabla _m\) as the graph with vertices \(\mathsf Z(m)\) and \(zz'\) is an edge if \(z\cdot z'\ne 0\) (dot product). An element m is a Betti element of M if the graph \(\nabla _m\) is not connected. We will denote by \(\mathrm {Betti}(M)\) the set of Betti elements of M.

The sets of vertices of the connected components of \(\nabla _m\) are also known as \(\mathscr {R}\)-classes of \(\mathsf Z(m)\). The following method can be used to produce all minimal presentations (up to arrangement of the pairs and symmetry) of M; see for instance [37, Chap 9].

  • For all \(m\in M\), if \(\nabla _m\) is connected, then set \(\sigma _m=\emptyset \). If not, let \(R_1,\ldots , R_r\) be the different \(\mathscr {R}\)-classes of \(\mathsf Z(m)\). Consider any tree T with vertices \(R_1,\ldots , R_r\). For each \(i\in \{1,\ldots ,r\}\) take \(r_i\in R_i\). Set \(\sigma _m= \{ (z_i,z_j)\mid R_iR_j \hbox { is an edge of } T\}\) (for instance, one might take \(\sigma _m=\{(z_1,z_2),(z_1,z_3),\ldots , (z_1,z_r)\}\)).

  • The set \(\sigma =\bigcup _{m\in M} \sigma _m\) is a minimal presentation of M.

It follows that the set of Betti elements of M has finite cardinality and that the cardinality of a (any) minimal presentation is \(\sum _{b\in \mathrm {Betti}(M)} (\mathrm {ncc}(\nabla _b)-1)\), where \(\mathrm {ncc}(\nabla _b)\) stands for the number of connected components of \(\nabla _b\). This formula holds for every atomic monoid having the ascending chain on principal ideals [8, Corollary 1].

Example 2.3

Let M be as in Example 2.1. Since any presentation contains a minimal presentation, we have that \(\mathrm {Betti}(M)\subseteq \{(2,4),(2,2),(4,4)\}\). We use the GAP [20] package numericalsgps [18] to calculate the \(\mathscr {R}\)-classes of each of these elements.

figure c

It follows that \(\mathrm {Betti}(M)=\{(2,2),(2,4)\}\) (this also follows from Example 2.2).

The function FactorizationsVectorWRTList either uses [15], or if available [6] or [1] through the packages NormalizInterface [29] or either 4ti2gap [26] or 4ti2Interface [28].

We will see that knowing a minimal presentation is of great help for the calculation of catenary degree, and it also provides relevant information on the Delta sets.

3 Apéry Sets

Let M be an affine semigroup generated by \(\{m_1,\ldots ,m_e\}\). Let \(m\in M\). The Apéry set of m in M is the set

$$ \mathrm {Ap}(M,m)=\{ m'\in M\mid m'-m\not \in M\}. $$

Apéry sets can be defined in a more general setting. If our monoid fulfills the ascending chain condition on principal ideals , then every for every \(m'\in M\) there exits unique \((w,k)\in \mathrm {Ap}(M,m)\times \mathbb N\) such that \(m'=km+w\) (see [8]).

If M is a numerical semigroup, then the cardinality of \(\mathrm {Ap}(M,m)\) has exactly m elements. Moreover, if \(b\in \mathrm {Betti}(M)\), then b is can be expressed as \(b=m_i+w\) for some \(i\in \{2,\ldots ,e\}\) and \(w\in \mathrm {Ap}(M,m_1)\setminus \{0\}\) depending on b (see for instance [38, Proposition 8.19]). As minimal presentations are crucial for studying factorizations, this implies that Apéry sets are also important in our study specialized to the numerical semigroup setting.

4 Graver Bases

Let M be an affine semigroup , \(M\subseteq \mathbb N^k\) generated by \(\{m_1,\ldots , m_e\}\).

We have seen that a minimal presentation is a minimal generating system of \(\ker \varphi \) as a congruence. It turns out that \(\ker \varphi \) is not only a congruence, but an affine semigroup itself, and thus it admits a unique minimal generating system, which we denote by \(\mathscr {I}(M)\). It follows easily that \(\mathscr {I}(M)\) corresponds with the pairs \((x,y)=((x_1,\ldots , x_e),(y_1,\ldots ,y_e))\in \mathbb N^e\times \mathbb N^e\setminus \{(0,0)\}\) that are minimal (with respect to the usual product order, that is, \((x,y)\le (x',y')\) if \(x\le x'\) and \(y\le y'\); and now in \(\mathbb N^e\), \(x\le x'\) if \(x_i\le x_i'\) for all \(i\in \{1,\ldots , e\}\)) solutions of

$$ (m_1|\cdots |m_e|-m_1|\cdots |-m_e)(x\mid y)^T=0, $$

because if \((x,y)\in \ker \varphi \), then \(x_1m_1+\cdots +x_em_e= y_1m_1+\cdots +y_em_e\). Moreover, there exists \(a_1,\ldots , a_s\in \mathscr {I}(M)\) such that \((x,y)=a_1+\cdots + a_s\) (each \(a_i\) is a pair of factorizations of the same element). That is, every pair of factorizations of the same element can be expressed as a sum of pairs of factorizations of some specific elements. Indeed, we will say that \(m\in M\) is primitive if there exist \(x,y\in \mathsf Z(m)\) such that \((x,y)\in \mathscr {I}(M)\).

In particular, \(\mathscr {I}(M)\) is a presentation of M, though in general with a lot of redundancy. This is because it is a minimal generating system of \(\ker \varphi \) as a monoid, and not as a congruence. For instance, if \(\mathbf e_i\) is the ith row of the identity \(e\times e\) matrix, then \((\mathbf e_i,\mathbf e_i)\in \mathscr {I}(M)\) for all \(i\in \{1,\ldots , e\}\); and these elements are not needed in a presentation, since they are just a consequence of the reflexive property of congruences. Also if \((a,b)\in \mathscr {I}(M)\), then \((b,a)\in \mathscr {I}(M)\); and if we have (ab) in a presentation, we no longer need (ba), because this last pair follows by symmetry.

An expression of the form \((x,y)=a_1+\cdots + a_s\) cannot be achieved by taking the \(a_i\) in a minimal presentation. Thus factorizations of primitive elements give more information than minimal presentations, and for some invariants this extra information will come into scene.

Example 4.1

Let M be the numerical semigroup minimally generated by \(\{3,5,7\}\). Then a minimal presentation of M is given by

$$ \{ ( ( 0, 2, 0 ), ( 1, 0, 1 ) ), ( ( 3, 1, 0 ), ( 0, 0, 2 ) ), ( ( 4, 0, 0 ), ( 0, 1, 1 ) ) \}. $$

While

$$\begin{aligned} \mathscr {I}(M)&=\{ (\mathbf e_1,\mathbf e_1), (\mathbf e_2,\mathbf e_2), (\mathbf e_3,\mathbf e_3), ((3,1,0),(0,0,2)), ((0,0,2),(3,1,0)),\\&\qquad ((4,0,0),(0,1,1)), ((0,1,1),(4,0,0)), ((1,0,1),(0,2,0)), \\&\qquad ((0,2,0),(1,0,1)), ((2,3,0),(0,0,3)), ((0,0,3),(2,3,0)),\\&\qquad ((1,5,0),(0,0,4)), ((0,0,4),(1,5,0)), ((0,7,0),(0,0,5)), \\&\qquad ((0,0,5),(0,7,0)),((5,0,0),(0,3,0)), ((0,3,0),(5,0,0)) \}. \end{aligned}$$

On \(\mathbb Z^e\) define the order \((x_1,\ldots , x_e)\sqsubseteq (y_1,\ldots , y_e)\) if for all \(i\in \{1,\ldots ,e\}\), \(x_iy_i\ge ~0\) and \(|x_i|\le |y_i|\). Also, for \(x\in \mathbb Z^e\) set \(x^+\) and \(x^-\) to be the unique elements in \(\mathbb N^e\) such that \(x=x^+-x^-\) and \(x^+\cdot x^-=0\). It turns out that \(x\sqsubseteq y\) if and only if \((x^+,x^-)\le (y^+,y^-)\) (usual partial ordering).

Let H be a subgroup of \(\mathbb Z^e\). A Graver basis of H is a set of minimal nonzero elements of H with respect to \(\sqsubseteq \).

Notice that the set of integer solutions of

$$ (m_1\mid \cdots \mid m_e)x^T=0 $$

defines a subgroup \(H_M\) of \(\mathbb Z^e\). In fact \((x,y)\in \ker \varphi \) if and only if \(x-y\in H_M\) (this is a rephrasing of the necessity condition in [37, Proposition 1.4]). From a Graver basis G of \(H_M\) we can easily compute

$$\begin{aligned} \mathscr {I}(M)=\left\{ (x^+,x^-)\mid x\in G\right\} \cup \big \{(\mathbf e_i, \mathbf e_i)\mid i\in \{1,\ldots , e\}\big \}. \end{aligned}$$

Example 4.2

Let us go back to M in Examples 2.1 and 2.2.

figure d

The output of 4ti2 does not print an element and its negation. Hence, a Graver basis of \(H_M\) consists in 8 elements and \(\mathscr {I}(M)\) has 8 \(+\) 4 elements.

We will see that some nonunique factorization invariants depend on the factorizations of the primitive elements of M.

5 Block Monoids

Let G be an Abelian group. And let \(g_1,\ldots , g_k\in G\). A zero-sum sequence is an expression of the form \(n_1g_1+\cdots +n_kg_k=0\) with \((n_1,\ldots , n_k)\in \mathbb N^k\). The length of this sequence is \(n_1+\cdots +n_k\). We say that a zero-sum sequence is minimal if there is no other zero-sum sequence \(n_1'g_1+\cdots +n_k'g_k=0\) such that \(0\ne (n_1',\ldots , n_k')\lneq (n_1,\ldots , n_k)\). The set of zero-sum sequences is clearly a monoid, actually it can be identified as a submonoid of \(\mathbb N^k\) and it is generated by the minimal zero-sum sequences (indeed it is a full affine semigroup ). We will denote the set of zero-sum sequences in \(g_1,\ldots , g_k\) by \(\mathscr {B}(\{g_1,\ldots ,g_k\})\).

Since G is an Abelian group, it is then isomorphic to \(\mathbb Z_{d_1}\times \cdots \times \mathbb Z_{d_r} \times \mathbb Z^l\) for some \(d_1,\ldots , d_r, l\in \mathbb N\). Hence we can identify the elements \(g_1,\ldots ,g_k\) with elements in \(\mathbb Z_{d_1}\times \cdots \times \mathbb Z_{d_r} \times \mathbb Z^l\). Hence \(\mathscr {B}(\{g_1,\ldots , g_k\})\) corresponds with the set of nonnegative integer solutions of the system of \(r+l\) equations and k unknowns

$$ (g_1\mid \cdots \mid g_k)x =0 \in \mathbb Z_{d_1}\times \cdots \times \mathbb Z_{d_r} \times \mathbb Z^l $$

(the first r equations are in congruences modulo \(d_1,\ldots , d_r\), respectively). The set of solutions of this system of equations can be computed via Normaliz ([6]).

The Davenport constant is the supremum (in this setting maximum) of the lengths of minimal zero-sum sequences.

Example 5.1

We can compute the block monoid associated to \(\mathbb Z_2^2\) in the following way using numericalsgps.

figure e

Observe that we are omitting (0, 0) and that the second argument of Affine Semigroup is a matrix whose columns are the elements in \(\left( \mathbb Z_2^2\right) ^*\) and a list indicating the equations that are congruences with the respective modules. The Davenport constant in this case is 3.

Many factorization properties of monoids can be derived (or bounded in some cases) from the factorization properties of the block monoid of their class groups (see [27]). This is why these affine semigroups are relevant in the study of nonunique factorization invariants.

6 Denumerant and Maximal Denumerant

We have already mentioned that for an affine semigroup M and \(m\in M\), the set \(\mathsf Z(m)\) has finitely many elements. The denumerant of m is precisely the cardinality of \(\mathsf Z(m)\). There is a wide amount of the literature devoted to the study of denumerants of elements in numerical semigroups, indeed few formulas are known, and just for some particular families of monoids ([35] is a nice reference for the reader interested in this topic).

Of course the bigger an integer in a numerical semigroup M is, the larger its denumerant is, and thus it is not bounded. This is not the case if we just count factorizations with maximal length. The maximal denumerant of m in M is the number of elements in \(\mathsf Z(m)\) with maximal length, which is a positive integer, since \(\mathsf Z(m)\) has finitely many elements. If M is a numerical semigroup, set the maximal denumerant of M as the supremum of the maximal denumerants of elements of M. What is astonishing is that this supremum is indeed a maximum, and thus a positive integer. Bryant and Hamblin give in [7] a procedure to compute the maximal denumerant of any numerical semigroup.

Example 6.1

The semigroup \(\langle 3,5,7\rangle \) has maximal denumerant 2.

figure f

7 Length-Based Invariants

Let M be an affine semigroup generated by \(\{m_1,\ldots , m_e\}\). Take \(m\in M\) and \(x=(x_1,\ldots ,x_e)\in \mathsf Z(m)\). Recall that the length of x is defined as

$$ |x |= x_1+\dots +x_e. $$

The set of lengths of factorizations of m is

$$ \mathsf L(m)=\big \{ |x|\mid x\in \mathsf Z(m)\big \}. $$

Since \(\mathsf Z(m)\) has finitely many elements, so has \(\mathsf L(m)\). This means that affine semigroups are BF-monoids .

Recall that a monoid is half factorial if the cardinality of \(\mathsf L(s)\) is one for all \(s\in S\). This concept was introduced for domains in [43].

From Remark 1 it easily follows that M is half factorial if and only if for every (ab) in a minimal presentation of M we have \(|a|=|b|\) (see [40]). Thus, we can determine whether or not an affine semigroup is half factorial.

Example 7.1

In Example 2.2, since ((1, 2, 0, 0), (0, 0, 0, 2)) belongs to a minimal presentation of M, we deduce that M is not half factorial.

7.1 Elasticity

One of the first nonunique factorization invariants that appeared in the literature was the elasticity (introduced in [42]). It was meant to measure how far a monoid is from being half factorial.

Take m in an affine semigroup M. The elasticity of m, \(\rho (m)\), is defined as

$$ \rho (m)=\frac{\sup \mathsf L(m)}{\min \mathsf L(m)}. $$

Since \(\mathsf L(m)\) has finitely many elements, the supremum in the numerator is indeed a maximum. The elasticity of M is defined as

$$ \rho (M)=\sup \big \{ \rho (m) \mid {m\in M} \big \}. $$

It is not hard to show (see [40]) that

$$ \rho (M)=\max \left\{ \frac{|a|}{|b|} ~\Big |~ (a,b)\in \mathscr {I}(M)\right\} . $$

Hence, by computing a Graver basis of \(H_M\) we can calculate the elasticity of M. However computing a Graver basis , can be highly time consuming. Philipp in his thesis, and published later in [33], provided an alternative method for the computation of the elasticity: he showed that we only have to consider elements \((a,b)\in \mathscr {I}(M)\) with \(a\ne b\) and with minimal support (indices of nonzero coordinates). These elements are known in the literature as circuits, and we can use [19, Lemma 8.8] to calculate them by means of determinants.

$$ \rho (M)=\max \left\{ \frac{|a|}{|b|} ~\Big |~ (a,b)\hbox { circuit of }\ker \varphi \right\} . $$

Example 7.2

Let us compute \(\rho \left( \mathscr {B}\left( \mathbb Z_2^3\right) \right) \).

figure g

Example 7.3

We see now with an easy example that the elasticity of the Betti elements of a monoid is not enough to compute the elasticity of the monoid.

figure h

We see that the maximum is 2; while it is well known that for numerical semigroups the elasticity of the monoid is the quotient of the largest minimal generator by the multiplicity of the semigroup (the least positive integer in the semigroup). So in this case it should be 7 / 3.

figure i

7.2 Delta Sets

Another way to measure how far we are from half factoriality, is to determine how distant are the different lengths of factorizations. This is the motivation for the following definition.

Let as above m be an element in the affine semigroup M. Assume that \(\mathsf L(m)=\{l_1<\cdots < l_r\}\). Define the Delta set of m as

$$ \varDelta (s)=\{ l_2-l_1,\ldots , l_r-l_{r-1}\}, $$

and if \(r=1\), \(\varDelta (m)=\emptyset \). The Delta set of M is defined as

$$ \varDelta (M)=\bigcup _{m\in M} \varDelta (m). $$

So, the bigger \(\varDelta (M)\) is, the farther is M from being half factorial.

Recall that \((x,y)\in \ker \varphi \) if and only if \(x-y\in H_M\). Indeed, it is not hard to show that \(H_M\) is generated as a group by the differences of the pairs in a presentation of M . From this, one can prove that

$$ \min \varDelta (M)=\gcd \varDelta (M) $$

([27, Proposition 1.4.4]).

By using the idea expressed in Remark 1, it can be shown that the maximum of the distances between lengths of factorizations is reached in a Betti element of M ([13, Theorem 2.5]):

$$ \max \varDelta (M)=\max \big \{ \max \varDelta (b)\mid b\in \mathrm {Betti}(M)\big \}. $$

This gives us an interval where the elements in \(\varDelta (M)\) must be, but it is far from being a procedure to compute the whole set \(\varDelta (M)\).

For numerical semigroups, it is known that the sets of distances between consecutive lengths of factorizations are eventually periodic [14] and a bound for this periodicity is given. This bound was improved in [22]. Hence, we can compute the Delta sets of the elements up to this bound (a dynamic version of this procedure is presented in [3]). The problem is that this bound can be huge.

figure j

Recently in [24] a procedure that runs as fast as Euclid’s extended algorithm has been presented for numerical semigroups with embedding dimension three (and not symmetric, though the algorithm seems to work also for symmetric numerical semigroups).

O’Neill in [31] gives new theoretical tools for the computation of \(\varDelta (M)\) for an arbitrary affine semigroup M. We now have a preliminary implementation of them, and we are currently working on proving the correctness of our algorithm.

8 Distance-Based Invariants

Observe that length-based invariants cannot describe the behavior of factorizations in half-factorial monoids . To measure how spread are the factorizations, we first need a distance.

For \(x=(x_1,\ldots , x_e),y=(y_1,\ldots , y_e)\in \mathbb N^e\), define the infimum of x and y as

$$ x\wedge y=(\min \{x_1,y_1\},\ldots , \min \{x_p,y_p\}) $$

(if we think in multiplicative notation and x and y are factorizations of an element, then \(x\wedge y\) translates to greatest common divisor) .

The distance between x and y is defined as

$$ \mathrm d(x,y)=\max \{ |x-(x\wedge y)|, |y-(x\wedge y)|\} $$

(equivalently \(\mathrm d(x,y)=\max \{ |x|, |y|\}-|x\wedge y|\)).

8.1 Catenary Degree

We start with an example that illustrates the idea of catenary degree.

Example 8.1

The factorizations of \(66\in \langle 6,9,11\rangle \) are

$$\begin{aligned} \mathsf Z(66)=\big \{ (0, 0, 6 ), ( 1, 3, 3 ), ( 2, 6, 0 ), (4, 1, 3 ), ( 5, 4, 0 ),( 8, 2, 0),( 11, 0, 0 ) \big \}. \end{aligned}$$

The distance between (11, 0, 0) and (0, 0, 6) is 11.

figure k

In the above picture the factorizations are depicted in the top of a post, and they are linked by a “catenary” labeled with the distance between two consecutive sticks. On the bottom we have drawn the factorizations removing the common part with the one on the left and that of the right, respectively. So we have linked (11, 0, 0) and (0, 0, 6) with a chain of factorizations, and every two consecutive nodes in the chain are at most at distance 4. This is in fact the best we can do in this example. We do not care about the length of the sequence, but about how closer are two consecutive elements in the chain.

Let M be an affine semigroup, and take \(m\in M\). Let \(x,y\in \mathsf Z(m)\) and let N be a nonnegative integer. An N-chain joining x and y is a sequence \(x_1,\ldots , x_k\in \mathsf Z(m)\) such that

  • \(x_1=x\), \(x_k=y\),

  • for all \(i\in \{1,\ldots , k-1\}\), \(\mathrm d(x_i,x_{i+1})\le N\).

The catenary degree of m , denoted \(\mathsf c(m)\), is the least N such that for any two factorizations \(x,y\in \mathsf Z(m)\), there is an N-chain joining them. The catenary degree of M, \(\mathsf c(M)\), is defined as

$$ \mathsf c(M)=\sup \big \{\mathsf c(m)\mid m\in M\big \}. $$

The calculation of \(\mathsf c(m)\) can be performed in the following way. We consider the complete graph with vertices the factorizations of m, and edges labeled with the distances between their ends. Then we pick an edge with the largest label, and if it is not a bridge, then we remove it. We keep doing so, until we arrive to a bridge. The label of this bridge is \(\mathsf c(m)\).

Example 8.2

As an illustration of the above procedure, consider \(77\in S = \langle 10,11, 23, 35 \rangle \). In the following figure, we see that we can remove the edge with label 6, meaning that in order to go from (0, 7, 0, 0) to (2, 1, 2, 0) we can first go to (2, 2, 0, 1) and then to (2, 1, 2, 0), and the distances in this walk between two consecutive nodes are less than 6. Then we remove the edge labeled with 5. But we cannot remove the edge joining (1, 4, 1, 0) and (0, 7, 0, 0) since it is a bridge (we can remove the other labeled with 3).

figure l

Thus the catenary degree of 77 is 3.

Observe that in Remark 1, we obtained chains joining any two factorizations of the same element, just using translations of elements in a presentation. Since distances are not translation-sensitive, our only concern is how to find a chain joining the first component with the second in a relation in a presentation. It follows (see [12]) that

$$ \mathsf c(M)=\max \big \{ \mathsf c(b)\mid b\in \mathrm {Betti}(M)\big \}. $$

This gives a computational procedure to compute the catenary degree of any affine semigroup M.

Example 8.3

Let us recover Example 2.2, \(M=\langle (2,0),(0,2),(1,1),(2,1)\rangle \). We already know that \(\mathrm {Betti}(M)=\{(2,2),(2,4)\}\).

figure m

So far we do not know of a procedure to compute the (finite) set \(\{\mathsf c(m)\mid m\in M\}\). It is known that for numerical semigroups, the catenary degree is also eventually periodic, but unfortunately no bounds for this periodicity are known ([9]). For half-factorial monoids it can be shown (see [25, Theorem 2.3]) that

$$ \{\mathsf c(m)\mid m\in M\}=\{\mathsf c(m)\mid m\in \mathrm {Betti}(M)\}. $$

For numerical semigroups, in light of Sect. 3 (see also [10, Corollary 3]),

$$ \mathsf c(M)=\max \big \{\mathsf c(m)\mid m\in \{m_2,\ldots ,m_e\}+(\mathrm {Ap}(M,m_1)\setminus \{0\}) \big \}, $$

and so in this setting it is not needed to compute \(\mathrm {Betti}(M)\).

8.2 Monotone, Equal, and Homogeneous Catenary Degrees

In the definition of catenary degree, we are not assuming any restrictions on the shape of the N-chains nor on their lengths. In an attempt to better understand the structure of these chains, new catenary degrees have been introduced in the literature. For instance if we enforce the chain of factorizations to have nondecreasing lengths we obtain the definition of monotone catenary degree. This slight change makes its computation much more complicated than the usual catenary degree as we see later.

We can also ask the lengths to be all equal, and then we have equal catenary degree . Thus in order to calculate the equal catenary degree of an element we have to arrange the factorizations of this element in layers of factorizations with the same length; and then take the maximum of the “classical” catenary degree in each of the layers. In particular, if all factorizations have different lengths, the equal catenary degree for this element is zero.

Recall that studying the set of factorizations of an element m in a monoid M generated by the columns of a matrix A is equivalent to studying the set of nonnegative integer solutions of the system of linear Diophantine equations \(Ax=m\). If we want to study those factorizations with a given length, the standard trick (see for instance [11]) is to add a new row of ones in the matrix A, and the desired length as last component of m. If \(M\subseteq \mathbb N^k\), and \(m\in M\), we write \((m,l)\in \mathbb N^{k+1}\) for the element with the first coordinates the coordinates of m and last coordinate equal to l (we have appended the integer l at the “end” of m). Assume that M is minimally generated by \(\{m_1,\ldots , m_e\}\). Set

$$ M^{eq}=\langle (m_1,1),\ldots , (m_e,1)\rangle . $$

Then studying factorizations of an element m in M with length l is the same as studying factorizations of (ml) in \(M^{eq}\) (indeed \((m,l)\in M^{eq}\) if and only if \(m\in M\) and \(l\in \mathsf L(m)\)). Consequently, the equal catenary degree of M corresponds with the catenary degree of \(M^{eq}\) [25].

Finally, we can also impose that the lengths in the chain are not larger than the maximum of the lengths of the ends of the chain, obtaining in this way the homogeneous catenary degree. We mentioned above that for half-factorial monoids , all possible catenary degrees in the monoid arise as catenary degrees of some Betti element . If a monoid M is not half factorial, this is because at least one binomial in the ideal \(I_M\) is not homogeneous. One can then homogenize these binomials in the usual way (we choose a new variable z and to each binomial of the form \(X^\alpha -X^\beta \) with \(|\alpha |>|\beta |\) we associate the binomial \(X^\alpha -X^\beta z^{|\alpha |-|\beta |}\); and analogously if \(|\alpha |\le |\beta |\)). The resulting binomial ideal is precisely the ideal associated to the monoid

$$ M^{hom}=\langle (m_1,1),\ldots , (m_e,1),(0,1)\rangle . $$

This is why we called in [25] this catenary degree homogeneous catenary degree . We proved in that paper that this new catenary degree corresponds with the catenary degree of \(M^{hom}\), and it is between the “classic” catenary degree and the monotone catenary degree .

In order to compute the monotone catenary degree of M, it can be derived from [33] that we have to look at the projections in the first k coordinates of the primitive elements of \(M^{hom}\) (see [41, Chap. 3]), and then take the maximum of the monotone catenary degrees of these elements. The monotone catenary degree of m is the maximum of the equal and adjacent catenary degree of m, where the adjacent catenary degree of m is defined as follows: let \(\mathsf L(m)=\{l_1<\cdots <l_{r}\}\), and for every \(i\in \{1,\ldots ,r\}\) denote by \(\mathsf Z_{l_i}(m)\) the set of factorizations of m with length \(l_i\); the adjacent catenary degree of m is the maximum of the distances \(\mathrm d(Z_{l_i},Z_{l_{i+1}})\), \(i\in \{1,\ldots ,r-1\}\).

Example 8.4

Let us use numericalsgps to compute the catenary degrees of \(\langle 10,17,24,31,43\rangle \).

figure n

8.3 Tame Degree

Assume that M is an affine semigroup generated by \(\{m_1,\ldots , m_e\}\), and let m in M and \(x\in \mathsf Z(m)\). If there exists \(n_1,\ldots , n_e\in \mathbb N\) such that \(m-\left( \sum _{i=1}^en_im_i\right) \in M\), then there must be \(y=(y_1,\ldots ,y_e)\in \mathsf Z(m)\) such that \(y-(n_1,\ldots ,n_e)\in \mathbb N^e\). We want to know the smallest possible distance at which we can find such a y. This is the idea of tame degree. We are mostly interested in the case \(\sum _{i=1}^en_i m_i=m_j\) for some \(j\in \{1,\ldots , e\}\).

Assume that \(m-m_i\in M\) for some \(i\in \{1,\ldots ,e\}\). There is at least an expression of m of the form \(m=\lambda _1m_1+\cdots + \lambda _em_e\) with \((\lambda _1,\ldots , \lambda _e)\in \mathbb N^e\) and \(\lambda _i>0\), that is, \(\lambda =(\lambda _1,\ldots , \lambda _e)\) is a factorization of m with \(\lambda _i\ne 0\) (equivalently \(\lambda -\mathbf e_i\in \mathbb N^e\)).

The tame degree of m with respect to \(m_i\), \(\mathsf t(m, m_i)\), is the least nonnegative integer t such that for every \(z\in \mathsf Z(m)\), there exists \(z'\in \mathsf Z(m)\) with \(z'-\mathbf e_i\in \mathbb N^e\) and \(\mathrm d(z,z')\le ~t\). The tame degree of M with respect to \(m_i\), \(\mathsf t(M,m_i)\), is the supremum (maximum in this setting, [12]) of all the tame degrees of the elements of \(m_i+M\) with respect to \(m_i\).

The tame degree of M, \(\mathsf t(M)\), is the maximum of the tame degrees of S with respect to all the atoms (affine semigroups are tame and locally tame , [27]). The tame degree of M can be computed by means of the tame degrees of the primitive elements of M ([12]). Recently, a faster approach has been described in [23]. Set \(\mathscr {M}_i=\mathrm {Minimals}_\le \mathsf Z(m_i+M)\) and \(M_i=\{\varphi (z)\mid z\in \mathscr {M}_i\}\). By Dickson’s lemma, \(\mathscr {M}_i\) and \(M_i\) have finitely many elements. Moreover,

$$ \mathsf t(M,m_i)=\max \big \{ \mathsf t(m,m_i)\mid m\in M_i\big \}. $$

In [39] there is a procedure to compute \(M_i\) (indeed the set of expressions of any ideal of M, not just principal ideals). By using [6] or [1] (or any integer linear programming package) we can also compute this directly as in the following example.

Example 8.5

Let us compute the set \(M_1\) for \(M=\langle (2,0),(0,2),(1,1),(1,2)\rangle \). We need to find the expressions in \((2,0)+M\). This corresponds with the \((x,y,z,t)\in \mathbb N^4\) such that

$$ \begin{pmatrix} 2 &{} 0 &{} 1 &{} 1 \\ 0 &{} 2 &{} 1 &{} 2 \end{pmatrix} \begin{pmatrix} x \\ y \\ z \\ t \end{pmatrix} = (2,0)+ \begin{pmatrix} 2 &{} 0 &{} 1 &{} 1 \\ 0 &{} 2 &{} 1 &{} 2 \end{pmatrix} \begin{pmatrix} x' \\ y' \\ z' \\ t' \end{pmatrix} $$

for some \((x',y',z',t')\in \mathbb N^4\). This is a system of two equations and eight unknowns. We use the package 4ti2gap to solve this.

figure o

This in particular means that

$$\begin{aligned}&\mathsf Z((2,0)+M)=\{(0,0,4,0), (0,0,2,0), (1,0,0,0), (0,0,0,2)\}\\&\qquad \qquad \,\, +\langle (1,0,0,1), (0,0,4,0), (1,2,0,0), (0,0,1,0), (0,0,2,0),\\&\qquad \qquad \,\,(0,1,0,0), (0,0,0,2),(1,0,0,0), (1,1,0,0)\rangle \end{aligned}$$

And thus \(\mathrm {Minimals}_\le \mathsf Z((2,0)+M)=\{(0,0,2,0),(1,0,0,0),(0,0,0,2)\}\). Hence \(M_1=\{ (2,2), (2,0), (2,4)\}\).

If M is a full affine semigroup (for instance in the case of block monoids), then the elements in \(\mathscr {M}_i\) can be computed using [4, Corollary 3.5]. In this case \(M_i\) is the set of minimal nonnegative integer solutions of

$$ (m_1\mid \cdots \mid m_e)x^T \ge m_i. $$

Example 8.6

Let us compute as explained in [23] the tame degree of \(\mathscr {B}\left( \mathbb Z_2^3\right) \).

figure p

For numerical semigroups, we have a similar behavior as in the catenary degree. The tame degree is reached in an element that has to do with Apéry sets ([10, Theorem 16])):

$$ \mathsf t(M)=\max \left\{ \mathsf t(m) ~\Big |~ m\in \{m_1,\ldots ,m_e\}+\left( \bigcup _{i=1}^e \mathrm {Ap}(M,m_i)\setminus \{0\}\right) \right\} . $$

For small generators, the above formula is faster than computing minimal factorizations in principal ideals (or if we do not have software to solve linear Diophantine equations over the set of nonnegative integers at hand).

9 \(\omega \)-Primality

Let M be an affine semigroup . Define on M the following binary relation: \(m\le _M m'\) if \(m'-m\in M\). This relation is an order relation (the translation of divisibility to additive notation). We say that \(m\in M\) is prime if whenever \(m\le _M m'+m''\) for some \(m',m''\in M\), either \(m\le _M m'\) or \(m\le _M m''\). Any prime element must be an atom. But it may happen that no atom is prime (this holds in any nontrivial numerical semigroup). The \(\omega \) -primality is meant to determine how far an element is from being prime.

The \(\omega \) -primality of m in M, denoted \(\omega (m)\), is the least positive integer N such that whenever \(m\le _M a_1+\cdots +a_n\) for some \(a_1,\ldots , a_n\in M\), then \(m\le _M a_{i_1}+\cdots +a_{i_N}\) for some \(\{i_1,\ldots ,i_N\}\subseteq \{1,\ldots , n\}\).

According to this definition an element is prime provided that its \(\omega \) -primality is one.

Notice that by definition, \(m\le _M m'\) if and only if \(m'\) is in the principal ideal \(m+M\) . Hence, principal ideals play a fundamental role in the computation of \(\omega \)-primality (as in the calculation of the tame degree ). Indeed in [4, Proposition 3.3] it is shown that

$$\begin{aligned} \omega (m)= \max \big \{|x|~\big |~ x\in \mathrm {Minimals}_{\le }(\mathsf Z(m+M))\big \}. \end{aligned}$$

In [21] the above formula together with the algorithm presented in [39] is used to compute the \(\omega \)-primality of an element in an affine semigroup. One can also proceed as in Example 8.5 and use for instance Normaliz or 4ti2.

The omega primality of M, if M is minimally generated by \(\{m_1,\ldots ,m_e\}\), is defined as \(\omega (M)\) as the maximum of \(\{\omega (m_1),\ldots , \omega (m_e)\}\). Note that the sequence \(\{\omega (m)\}_{m\in M}\) is not upper bounded in general.

Example 9.1

According to Example 8.5, for \(M=\langle (2,0),(0,2),(1,1),(1,2)\rangle \), we have \(\omega ((2,0))=2\). Let us double check it with the numericalsgps package.

figure q

For numerical semigroups, we obtain a similar construction as for the tame degree (as expected, since we are using roughly the same elements in the calculations). In [4, Remarks 5.9] it is shown that if we are looking for minimal factorizations in \(\mathsf Z(m+M)\), then we only have to search for factorizations of the elements of the form \(m+w\) with \(w\in \mathrm {Ap}(M,m_i)\) for some \(i\in \{1,\ldots , e\}\). In [3] an improved method that also uses Apéry sets is given (this is actually the procedure implemented in the package numericalsgps; see contributions.gi in the package gap folder).

Example 9.2

Let us compare the timings for \(S=\langle 10,17,24,31,43\rangle \).

figure r

(The timings are in milliseconds.)

If the generators are larger, then the principal ideal approach is better.

figure s