This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

thanks: This work was started when the first author was supported by the Austrian FWF grant Y464. The second author is supported by the Austrian FWF grant F5004.

A Signature-based Algorithm for Computing
Gröbner Bases over Principal Ideal Domains

Maria Francis Dept of Computer Science and Engineering, Indian Institute of Technology, Hyderabad, India
mariaf@iith.ac.in
   Thibaut Verron Institute for Algebra, Johannes Kepler University, Linz, Austria
thibaut.verron@jku.at
Abstract

Signature-based algorithms have become a standard approach for Gröbner basis computations for polynomial systems over fields, but how to extend these techniques to coefficients in general rings is not yet as well understood.

In this paper, we present a proof-of-concept signature-based algorithm for computing Gröbner bases over commutative integral domains. It is adapted from a general version of Möller’s algorithm (1988) which considers reductions by multiple polynomials at each step. This algorithm performs reductions with non-decreasing signatures, and in particular, signature drops do not occur. When the coefficients are from a principal ideal domain (e.g. the ring of integers or the ring of univariate polynomials over a field), we prove correctness and termination of the algorithm, and we show how to use signature properties to implement classic signature-based criteria to eliminate some redundant reductions. In particular, if the input is a regular sequence, the algorithm operates without any reduction to 0.

We have written a toy implementation of the algorithm in Magma. Early experimental results suggest that the algorithm might even be correct and terminate in a more general setting, for polynomials over a unique factorization domain (e.g. the ring of multivariate polynomials over a field or a PID).

1 Introduction

The theory of Gröbner bases was introduced by Buchberger in 1965 [5] and has since become a fundamental algorithmic tool in computer algebra. Over the past decades, many algorithms have been developed to compute Gröbner bases more and more efficiently. The latest iteration of such algorithms is the class of signature-based algorithms, which introduce the notion of signatures and use it to detect and prevent unnecessary or redundant reductions. Following early work in [20], the technique of signatures was first formally introduced for Algorithm F5 [11], allowing to compute a Gröbner basis for a regular sequence without any reduction to zero. Since then, there have been many research works in this direction [13, 2, 7, 8].

All these algorithms are for ideals in polynomial rings over fields. Gröbner bases can be defined and computed over commutative rings [1, Ch. 4]. This can be used in many applications, e.g. for polynomials over \mathbb{Z} in lattice-based cryptography [12] or for polynomials over a polynomial ring as an elimination tool [21]. Many other examples are described in [18].

If the coefficient ring is not a field, there are two ways to define Gröbner bases, namely weak and strong bases. Strong Gröbner bases ensure that normal forms can be computed as in the case of fields. But a strong Gröbner basis is in general larger than a weak one, and if the base ring is not a Principal Ideal Domain (PID), then some ideals exist which do not admit a strong Gröbner basis. On the other hand, weak Gröbner bases, or simply Gröbner bases, always exist for polynomial ideals over a Noetherian commutative ring. They do not necessarily define a unique normal form, but they can be used to decide ideal membership. If necessary, over a PID, a post-processing phase performing coefficient reductions can be used to obtain a strong Gröbner basis.

Recent works have focused on generalizing signature-based techniques to Gröbner basis algorithms over rings. First steps in this direction, adding signatures to a modified version of Buchberger’s algorithm for strong Gröbner bases over Euclidean rings [17], were presented in [9]. That paper proves that a signature-based Buchberger’s algorithm for strong Gröbner bases cannot ensure correctness of the result after encountering a “signature-drop”, but can nonetheless be used as a prereduction step in order to significantly speed up the computations.

In this paper, we prove that it is possible to compute a weak signature-Gröbner bases of polynomial ideals over PIDs (including Euclidean rings) using signature-based techniques. The proof-of-concept algorithm that we present is adapted from the weak Gröbner basis algorithm due to Möller [19] [1, Sec. 4.2], which is designed to compute a basis for a polynomial ideal over any ring, and does so by considering combinations and reductions by multiple polynomials at once. The main difference with the results of [9] is that we use a stricter definition of regular reductions, effectively preventing more reductions from happening, and at the same time adding more polynomials to the basis.

This ensures that no reductions leading to signature-drops can happen in the algorithm, and as a consequence, we prove that the algorithm terminates and computes a signature Gröbner basis with elements ordered with non-decreasing signatures. This property allows us to examine classic signature-based criteria, such as the syzygy criterion, the F5 criterion and the singular criterion, and show how they can be adapted to the case of PIDs. In particular, when the input forms a regular sequence, the algorithm performs no reductions to zero. To the best of our knowledge, this is the first algorithm that, given a regular sequence of polynomials with coefficients in a PID, can compute a Gröbner basis of the corresponding ideal without any reduction to zero.

Möller also presented an efficient algorithm that computes (strong) Gröbner basis for polynomial ideals where the coefficients are from Principal Ideal Rings [19, Section 4]. That algorithm skips the combinatorial bottleneck of computing saturated sets. Instead, it uses two polynomials to build S-polynomials and makes use of Gebauer-Möller criteria [15], previously introduced for fields, to discard redundant S-polynomials.

Whenever necessary, for clarity, we shall refer to that algorithm as Möller’s strong algorithm. The algorithm at the center of our focus, computing weak Gröbner bases, will be referred to as Möller’s weak algorithm, or simply Möller’s algorithm.

We have written a toy implementation of the algorithms presented, with the F5 and the singular criteria, in the Magma Computational Algebra System [4], and compared its efficiency, in terms of number of excluded pairs, with Möller’s strong algorithm. Experimentally, on all considered examples, Möller’s (weak) algorithm with signatures does compute and reduce fewer S-polynomials than Möller’s strong algorithm.

Möller’s (weak) algorithm, without signatures, works for polynomial systems over any Noetherian commutative ring. The signature-based algorithm is only proved to be correct and to terminate for PIDs, but with very few changes, it can be made to accommodate inputs with coefficients in a more general ring. Interestingly, early experimental data with coefficients in a multivariate polynomial ring (a Unique Factorization Domain but not a PID) suggest that the signature-based algorithm might work over more general rings than just PIDs. For that reason, and because it does not over-complicate the exposition, we choose to present Möller’s algorithms, with and without signatures, in their most general form, accepting input over any Noetherian commutative ring.

Previous works

Signature-based Gröbner basis algorithms over fields have been extensively studied, and an excellent survey of those works can be found in [6]. The technical details of most proofs can be found in [22, 10]. The theory of Gröbner bases for polynomials over Noetherian commutative rings dates back to the 1970s [23, 19] and a good exposition of these approaches can be found in [1]. Algorithms exist for both flavors of Gröbner bases: Buchberger’s algorithm [5] computes weak Gröbner bases over a PID, and Möller’s weak algorithm [19] extends this approach to Noetherian commutative rings. As for strong Gröbner bases, they can be computed using an adapted version of Buchberger’s algorithm [16] or Möller’s strong algorithm [19]. Algorithms for computing signature Gröbner bases over Euclidean rings have been investigated in [9].

2 Notations

Let RR be a Noetherian integral domain, which is assumed to have a unit and be commutative. Let A=R[x1,,xn]A=R[x_{1},\dots,x_{n}] be the polynomial ring in nn indeterminates x1,,xnx_{1},\ldots,x_{n} over RR. A monomial in AA is xa=x1a1xnanx^{a}=x_{1}^{a_{1}}\dots x_{n}^{a_{n}} where a=(a1,,an)na=(a_{1},\dots,a_{n})\in\mathbb{N}^{n}. A term is kxakx^{a}, where kRk\in R and k0k\neq 0. We will denote all the terms in AA by Ter(A)\mathrm{Ter}(A) and all the monomials in AA by Mon(A)\mathrm{Mon}(A). We use the notation 𝔞\mathfrak{a} for polynomial ideals in A=R[x1,,xn]A=R[x_{1},\ldots,x_{n}] and II for ideals in the coefficient ring RR.

The notion of monomial order can be directly extended from 𝕂[x1,,xn]\mathbb{K}[x_{1},\ldots,x_{n}] to AA. In the rest of the paper, we assume that AA is endowed with an implicit monomial order \prec, and we define as usual the leading monomial LM\mathrm{LM}, the leading term LT\mathrm{LT} and the leading coefficient LC\mathrm{LC} of a given polynomial.

Given a tuple of polynomials (g1,,gs)(g_{1},\dots,g_{s}) and i{1,,s}i\in\{1,\dots,s\}, we will frequently denote, for brevity, M(i)=LM(gi)M(i)=\mathrm{LM}(g_{i}), C(i)=LC(gi)C(i)=\mathrm{LC}(g_{i}) and T(i)=LT(gi)=C(i)M(i)T(i)=\mathrm{LT}(g_{i})=C(i)M(i).

3 Gröbner Bases in Polynomial Rings over RR

For more details about the contents of this section, one can refer to [1, Chapter 4].

3.1 Computations in RR

We assume that our coefficient ring RR is effective in the following sense.

  1. (1)

    There are algorithms for arithmetic operations (++, {\ast}, zero test) in RR.

  2. (2)

    There is an algorithm LinDecomp:

    • Input: {k1,,ks}R\{k_{1},\dots,k_{s}\}\subset R, kRk\in R

    • Output: TRUE iff kk1,,ksk\in\langle k_{1},\dots,k_{s}\rangle and if yes, l1,,lsRl_{1},\ldots,l_{s}\in R such that k=k1l1++kslsk=k_{1}l_{1}+\cdots+k_{s}l_{s}.

  3. (3)

    There is an algorithm SatIdeal:

    • Input: {k1,,ks}R\{k_{1},\dots,k_{s}\}\subset R, kRk\in R

    • Output: {l1,,lr}R\{l_{1},\dots,l_{r}\}\subset R generators of the saturated ideal k1,,ks:k\langle k_{1},\dots,k_{s}\rangle:\langle k\rangle.

The condition that an algorithm LinDecomp exists is called linear equations being solvable in RR in [1, Def. 4.1.5].

Example.

Euclidean rings are effective, because one can implement those algorithms using GCD computations and Euclidean reductions. For example over \mathbb{Z}, LinDecomp({4},12)\textsf{LinDecomp}(\{4\},12) is (TRUE,{3})(\textsf{TRUE},\{3\}), since 12 is in the ideal 4\langle 4\rangle and 12=3412=3\cdot 4. The output of SatIdeal({4},6)\textsf{SatIdeal}(\{4\},6) is {2}\{2\} since 4:6=16(46)=1612=2\langle 4\rangle:\langle 6\rangle=\frac{1}{6}(\langle 4\rangle\cap\langle 6\rangle)=\frac{1}{6}\langle 12\rangle=\langle 2\rangle.

The ring of multivariate polynomials over a field is also effective, using Gröbner bases and normal forms to perform the same ideal computations.

3.2 Weak Gröbner bases over rings

For reduction in fields it is enough to check if the leading term of ff is divisible by the leading monomial of gg even though the actual reduction happens with the leading term of gg. Clearly, in rings this is not a sufficient condition : LC(g)\mathrm{LC}(g) may not divide LC(f)\mathrm{LC}(f) even if LM(g)\mathrm{LM}(g) divides LM(f)\mathrm{LM}(f). Requiring that LT(g)\mathrm{LT}(g) divide LT(f)\mathrm{LT}(f) leads to the notion of strong Gröbner basis, more details can be found in [1, Sec. 4.5].

Here we are interested in computing weak Gröbner bases, and we recall the main definitions in this section. First, following [19, 1], we expand the definition of reduction to allow for a linear combination of reducers. We define saturated sets [1, Def.4.2.4] (called maximal sets in [19]).

Definition 3.1.

Given a tuple of monomials (xa1,,xas)(x^{a_{1}},\ldots,x^{a_{s}}), the saturated set for a monomial xbx^{b} w.r.t. (xa1,,xas)(x^{a_{1}},\dots,x^{a_{s}}) is defined as

Sat(xb;xa1,,xas)={i{1,,s}:xaixb}.\mathrm{Sat}(x^{b};x^{a_{1}},\dots,x^{a_{s}})=\{i\in\{1,\ldots,s\}:x^{a_{i}}\mid x^{b}\}. (3.1)

A set J{1,,s}J\subseteq\{1,\ldots,s\} is said to be saturated w.r.t. (xa1,,xas)(x^{a_{1}},\ldots,x^{a_{s}}) if J=Sat(M(J);xa1,,xas)J=\mathrm{Sat}(M(J);x^{a_{1}},\dots,x^{a_{s}}) where M(J)=lcm(xai:iJ)M(J)=\mathrm{lcm}(x^{a_{i}}:i\in J). When clear from the context, we shall omit the list of monomials and write Jxb=Sat(xb)J_{x^{b}}=\mathrm{Sat}(x^{b}).

Given a tuple of polynomials (f1,,fs)(f_{1},\dots,f_{s}) and a set of indices J{1,,s}J\subset\{1,\dots,s\}, we denote by IJI_{J} the ideal of RR defined as IJ:=LC(fi):iJI_{J}:=\langle\mathrm{LC}(f_{i}):i\in J\rangle and we define M(J)=lcm(LM(f1),,LM(fs))M(J)=\mathrm{lcm}(\mathrm{LM}(f_{1}),\dots,\mathrm{LM}(f_{s})).

Definition 3.2.

Let fAf\in A. Let f1,,fsAf_{1},\dots,f_{s}\in A and xa1,,xasMon(A)x^{a_{1}},\dots,x^{a_{s}}\in\mathrm{Mon}(A) be such that xaiLM(fi)=LM(f)x^{a_{i}}\mathrm{LM}(f_{i})=\mathrm{LM}(f) for all ii. We say that we can weakly top reduce ff by f1,,fsAf_{1},\ldots,f_{s}\in A if there exist l1,,lsl_{1},\dots,l_{s} in RR such that

LT(f)=i=1slixaiLT(fi).\mathrm{LT}(f)=\sum_{i=1}^{s}l_{i}x^{a_{i}}\mathrm{LT}({f_{i}}). (3.2)

In our setting we will only perform top reductions, so we will simply call them weak reductions.

The outcome of the total reduction step is g=fi=1slixaifig=f-\sum_{i=1}^{s}l_{i}x^{a_{i}}f_{i} and the fif_{i}’s are called the weak reducers. A polynomial fAf\in A is weakly reducible if it can be weakly reduced, otherwise it is weakly reduced.

If gg is the outcome of reducing ff, then LM(g)LM(f)\mathrm{LM}(g)\prec\mathrm{LM}(f).

Example.

Consider the polynomial ring [x,y]\mathbb{Z}[x,y] with the lex ordering yxy\prec x, and consider the set F={f1,f2,f3,f4,f5}F=\{f_{1},f_{2},f_{3},f_{4},f_{5}\} in [x,y]\mathbb{Z}[x,y], with f1=4xy+x,f2=3x2+y,f3=5x,f4=4y2+y,f5=5yf_{1}=4xy+x,f_{2}=3x^{2}+y,f_{3}=5x,f_{4}=4y^{2}+y,f_{5}=5y. Let f=2xy+13y5f=2xy+13y-5. We have LT(f)=2xy=(2y)LT(f3)(2)LT(f1)\mathrm{LT}(f)=2xy=(2y)\mathrm{LT}(f_{3})-(2)\mathrm{LT}(f_{1}). This implies we can weakly reduce ff with f1,f3f_{1},f_{3} to get g=f(2yf32f1)=2x+13y5g=f-(2yf_{3}-2f_{1})=2x+13y-5.

We are now prepared to give the definition of (weak) Gröbner bases for an ideal in AA.

Definition 3.3.

Let 𝔞\mathfrak{a} be an ideal in AA and G={g1,,gt}G=\{g_{1},\ldots,g_{t}\} be a finite set of nonzero polynomials in 𝔞\mathfrak{a}. The set GG is called a weak Gröbner basis of 𝔞\mathfrak{a} in AA if it satisfies the following equivalent properties.

  1. 1.

    LT(G)=LT(𝔞)\langle\mathrm{LT}(G)\rangle=\langle\mathrm{LT}(\mathfrak{a})\rangle;

  2. 2.

    for any f𝔞f\in\mathfrak{a}, ff is weakly reducible modulo GG;

  3. 3.

    for any fAf\in A, f𝔞f\in\mathfrak{a} if and only if ff weakly reduces to 0 modulo GG.

Remark 3.4.

Even though the notion of weak Gröbner bases is a weaker notion than that of strong Gröbner bases, one can use weak polynomial reductions to test for ideal membership. One can also define normal forms modulo a polynomial ideal. However, for those normal forms to be unique, one needs to perform further reductions on the coefficients, to “coset representative form”, and one needs to perform reductions on non-leading coefficients as well [1, Th. 4.3.3]. Finally, note that, over a PID, one can easily recover a strong basis from a weak one [19, Th. 4].

3.3 Möller’s algorithm for general rings

In this section, we present Möller’s (weak) algorithm [19] for computing Gröbner bases over rings satisfying the conditions of Sec. 3.1. This algorithm is analogous to Buchberger’s algorithm for rings, where the polynomial reduction is as defined above and S-polynomials are replaced with linear combinations of several (possibly more than 22) polynomials, defined in the following sense.

Consider a set {g1,,gt}\{g_{1},\dots,g_{t}\} of polynomials. For i{1,,t}i\in\{1,\dots,t\}, let M(i)=LM(gi)M(i)=\mathrm{LM}(g_{i}), C(i)=LC(gi)C(i)=\mathrm{LC}(g_{i}) and T(i)=LT(gi)T(i)=\mathrm{LT}(g_{i}). Let JJ be a saturated subset of {1,,t}\{1,\dots,t\} w.r.t. {M(1),,M(t)}\{M(1),\dots,M(t)\}. Recall that M(J)=lcm(M(j):jJ)M(J)=\mathrm{lcm}(M(j):j\in J). By definition, for all jJj\in J, M(j)M(j) divides M(J)M(J) and JJ is maximal with this property.

Let sJs\in J and J=J{s}J^{\ast}=J\setminus\{s\}. Similar to the idea behind S-polynomials, we want to eliminate the leading term C(s)M(J)C(s)M(J) of M(J)M(s)gs\frac{M(J)}{M(s)}g_{s}. This can only be done if we multiply M(J)M(s)gs\frac{M(J)}{M(s)}g_{s} by an element of the saturated ideal C(i):iJ,is:C(s)\langle C(i):i\in J,i\neq s\rangle:\langle C(s)\rangle. We want to consider all such multipliers, so we need to consider generators of this saturated ideal.

Let cc be such a generator, by definition cC(s)C(i):iJ,iscC(s)\in\langle C(i):i\in J,i\neq s\rangle so there exists (bi)iJR(b_{i})_{i\in J^{\ast}}\in R such that cC(s)=iJbiC(i)cC(s)=\sum_{i\in J^{\ast}}b_{i}C(i). The (weak) S-polynomial associated with JJ, ss and cc, for some suitable (bi)(b_{i}), is defined as

S-Pol((gi)iJ;gs;c)=cM(J)M(s)gsiJbiM(J)M(i)gi.\textup{S-Pol}((g_{i})_{i\in J^{\ast}};g_{s};c)=c\frac{M(J)}{M(s)}g_{s}-\sum_{i\in J^{\ast}}b_{i}\frac{M(J)}{M(i)}g_{i}. (3.3)

If the ring RR is a PID, the saturated ideal C(i):iJ,is:C(s)\langle C(i):i\in J,i\neq s\rangle:\langle C(s)\rangle admits a unique generator cc and we define

C(J;s)=LC(cgs)=cC(s)=lcm(gcd({C(j):jJ}),C(s))\displaystyle C(J;s)=\mathrm{LC}(cg_{s})=cC(s)=\mathrm{lcm}(\gcd(\{C(j):j\in J^{\ast}\}),C(s)) (3.4)
T(J;s)=LT(cgs)=C(J;s)M(J).\displaystyle T(J;s)=\mathrm{LT}(cg_{s})=C(J;s)M(J). (3.5)

Then the S-polynomial associated with JJ, ss, cc, for some suitable (bi)(b_{i}), can be written in the following form

S-Pol((gi)iJ;gs)=T(J;s)T(s)gsiJbiM(J)M(i)gi.\textup{S-Pol}((g_{i})_{i\in J^{\ast}};g_{s})=\frac{T(J;s)}{T(s)}g_{s}-\sum_{i\in J^{\ast}}b_{i}\frac{M(J)}{M(i)}g_{i}. (3.6)

Using this definition of S-polynomials, we recall Möller’s algorithm (Algo. 1) for computing a Gröbner basis of an ideal given by a set of generators over RR. The correctness and termination of this algorithm are shown in  [1, Th. 4.2.8 and Th. 4.2.9].

Algorithm 1 Möller’s algorithm [1, Algo. 4.2.2], [19]
Input F={f1,,fm}A{0}F=\{f_{1},\ldots,f_{m}\}\subseteq A\setminus\{0\}, \prec a monomial order on AA
Output G={g1,,gt}G=\{g_{1},\ldots,g_{t}\}, a Gröbner basis of F\langle F\rangle
GFG\leftarrow F, σ1\sigma\leftarrow 1, sms\leftarrow m
while σs\sigma\neq s do
  𝒮{subsets of {1,,σ} saturated w.r.t. LM(g1),,LM(gσ) which contain σ}\mathcal{S}\leftarrow\big{\{}\text{subsets of }\{1,\ldots,\sigma\}\text{ saturated }\text{w.r.t.{} }\mathrm{LM}(g_{1}),\ldots,\mathrm{LM}(g_{\sigma})\text{ which contain }\sigma\big{\}}
  for each J𝒮J\in\mathcal{S} do
   M(J)lcm(LM(gj):jJ)M(J)\leftarrow\mathrm{lcm}(\mathrm{LM}(g_{j}):j\in J)
   JJ{σ}J^{\ast}\leftarrow J\setminus\{\sigma\}
   {c1,,cμ}SatIdeal({LC(gj):jJ},LC(gσ))\{c_{1},\dots,c_{\mu}\}\leftarrow\textsf{SatIdeal}(\{\mathrm{LC}(g_{j}):{j\in J^{\ast}}\},\mathrm{LC}(g_{\sigma}))
      // c1,,cμ=C(j):jJ:C(σ)\langle c_{1},\dots,c_{\mu}\rangle=\langle C(j):j\in J^{\ast}\rangle:\langle C(\sigma)\rangle
   for i{1,,μ}i\in\{1,\ldots,\mu\} do    // For PIDs, μ=1\mu=1
    pS-Pol((gj)jJ;gσ;ci)p\leftarrow\textup{S-Pol}((g_{j})_{j\in J^{\ast}};g_{\sigma};c_{i})
    rReduce(p,G)r\leftarrow\textsf{Reduce}(p,G)
    if r0r\neq 0 then
     gs+1rg_{s+1}\leftarrow r, GG{gs+1}G\leftarrow G\cup\{g_{s+1}\}, ss+1s\leftarrow s+1
  σσ+1\sigma\leftarrow\sigma+1
return  GG
Algorithm 2 Reduce (Def. 3.2)
Input G={g1,,gs}A{0}G=\{g_{1},\ldots,g_{s}\}\subseteq A\setminus\{0\}, \prec a monomial order on AA
Output rr result of reducing pp modulo GG
reducibleTRUE\textit{reducible}\leftarrow\textsf{TRUE}, rpr\leftarrow p
while reducible is TRUE do
  J{j{1,,s}:LM(gj)LM(r)}J\leftarrow\{j\in\{1,\dots,s\}:\mathrm{LM}(g_{j})\mid\mathrm{LM}(r)\}
  reducible,(kj)jJLinDecomp({LC(gj):jJ},LC(r))\textit{reducible},(k_{j})_{j\in J}\leftarrow\textsf{LinDecomp}(\{\mathrm{LC}(g_{j}):j\in J\},\mathrm{LC}(r))
     // If reducible is TRUE, then LC(r)=jJkjLC(gj)\mathrm{LC}(r)=\sum_{j\in J}k_{j}\mathrm{LC}(g_{j})
  if reducible then
   rrjJkjLM(r)LM(gjgjr\leftarrow r-\sum_{j\in J}k_{j}\frac{\mathrm{LM}(r)}{\mathrm{LM}(g_{j}}g_{j}
return  rr

4 Signatures in AmA^{m}

We consider the free AA-module AmA^{m} with basis 𝐞1,,𝐞m\mathbf{e}_{1},\ldots,\mathbf{e}_{m}. A term (resp. monomial) in AmA^{m} is kxa𝐞ikx^{a}\mathbf{e}_{i} (resp. xa𝐞ix^{a}\mathbf{e}_{i}) for some kR{0}k\in R\setminus\{0\}, xaMon(A)x^{a}\in\mathrm{Mon}(A), i{1,,m}i\in\{1,\dots,m\}. In this paper, terms in AmA^{m} are ordered using the Position Over Term (POT) order, defined by

kxa𝐞ilxb𝐞jij( or i=j and xaxb).kx^{a}\mathbf{e}_{i}\prec lx^{b}\mathbf{e}_{j}\iff i\lneq j(\text{ or }i=j\text{ and }x^{a}\prec x^{b}).

Given two terms kxa𝐞ikx^{a}\mathbf{e}_{i} and lxb𝐞jlx^{b}\mathbf{e}_{j} in AmA^{m}, we write kxa𝐞ilxb𝐞jkx^{a}\mathbf{e}_{i}\simeq lx^{b}\mathbf{e}_{j} if they are incomparable, i.e. if a=ba=b and i=ji=j.

Given a set of polynomials f1,,fmAf_{1},\dots,f_{m}\in A, elements of AmA^{m} encode elements of the ideal f1,,fm\langle f_{1},\dots,f_{m}\rangle through the AA-module homomorphism ¯:AmA\bar{\cdot}:A^{m}\to A, defined by setting 𝐞¯i=fi\overline{\mathbf{e}}_{i}=f_{i} and extending linearly to AmA^{m}. In particular, i=1mpi𝐞i¯=i=1mpifi\overline{\sum_{i=1}^{m}p_{i}\mathbf{e}_{i}}=\sum_{i=1}^{m}p_{i}f_{i}.

We recall the concept of signatures in AmA^{m}. Let 𝐩=i=1mpi𝐞i\mathbf{p}=\sum_{i=1}^{m}p_{i}\mathbf{e}_{i} be a module element. Under the POT ordering, the signature of 𝐩\mathbf{p} is 𝔰(𝐩)=LT(pi)𝐞i\mathfrak{s}(\mathbf{p})=\mathrm{LT}(p_{i})\mathbf{e}_{i} where ii is such that pi+1==pm=0p_{i+1}{=}\dots=p_{m}=0 and pi0p_{i}\neq 0. Signatures are of the form kxa𝐞ikx^{a}\mathbf{e}_{i}, where kR,xaMon(A)k\in R,x^{a}\in\mathrm{Mon}(A) and 𝐞i\mathbf{e}_{i} is a standard basis vector.

Note that we have two ways of comparing two similar signatures 𝔰(𝜶)=kxa𝐞i\mathfrak{s}(\boldsymbol{\alpha})=kx^{a}\mathbf{e}_{i} and 𝔰(𝜷)=lxb𝐞j\mathfrak{s}(\boldsymbol{\beta})=lx^{b}\mathbf{e}_{j}. We write 𝔰(𝜶)=𝔰(𝜷)\mathfrak{s}(\boldsymbol{\alpha})=\mathfrak{s}(\boldsymbol{\beta}) if k=lk=l, a=ba=b and i=ji=j, and we write 𝔰(𝜶)𝔰(𝜷)\mathfrak{s}(\boldsymbol{\alpha})\simeq\mathfrak{s}(\boldsymbol{\beta}) if a=ba=b and i=ji=j, kk and ll being possibly different. If RR is a field, one can assume that the coefficient is 11, and so this distinction is not important.

Note also that when we order signatures, we only compare the corresponding module monomials, and disregard the coefficients. This is a different approach from the one used in [9], where both signatures and coefficients are ordered.

Given a tuple (𝜶1,,𝜶s)(\boldsymbol{\alpha}_{1},\dots,\boldsymbol{\alpha}_{s}) of module elements in AmA^{m} and i,j{1,,s}i,j\in\{1,\dots,s\}, we shall frequently denote S(i)=𝔰(𝜶i)S(i)=\mathfrak{s}(\boldsymbol{\alpha}_{i}) for brevity.

In order to keep track of signatures we modify Def. 3.2 to introduce the notion of 𝔰\mathfrak{s}-reduction.

Definition 4.1.

Let 𝐩Am\mathbf{p}\in A^{m}. We say that we can signature-reduce (or 𝔰\mathfrak{s}-reduce) 𝐩\mathbf{p} by 𝜷1,,𝜷sAm\boldsymbol{\beta}_{1},\ldots,\boldsymbol{\beta}_{s}\in A^{m} if we can reduce 𝐩¯\overline{\mathbf{p}} by 𝜷¯1,,𝜷¯s\overline{\boldsymbol{\beta}}_{1},\dots,\overline{\boldsymbol{\beta}}_{s} (in the sense of Def. 3.2) and 𝔰(xai𝜷i)𝔰(𝐩)\mathfrak{s}(x^{a_{i}}\boldsymbol{\beta}_{i})\preceq\mathfrak{s}(\mathbf{p}) for all i=1,,si=1,\ldots,s, where xai=LM(𝐩¯)LM(𝜷¯i)x^{a_{i}}=\frac{\mathrm{LM}(\overline{\mathbf{p}})}{\mathrm{LM}(\overline{\boldsymbol{\beta}}_{i})}. We can define similarly 𝔰\mathfrak{s}-reduced module elements.

If 𝔰(xai𝜷i)𝔰(𝐩)\mathfrak{s}(x^{a_{i}}\boldsymbol{\beta}_{i})\simeq\mathfrak{s}(\mathbf{p}) for some ii in the above 𝔰\mathfrak{s}-reduction, then it is called a singular 𝔰\mathfrak{s}-reduction step. Otherwise it is called a regular 𝔰\mathfrak{s}-reduction step.

If 𝔰(xai𝜷i)𝔰(𝐩)\mathfrak{s}(x^{a_{i}}\boldsymbol{\beta}_{i})\simeq\mathfrak{s}(\mathbf{p}) for exactly one ii and it is actually an equality 𝔰(lixai𝜷i)=𝔰(𝐩)\mathfrak{s}(l_{i}x^{a_{i}}\boldsymbol{\beta}_{i})=\mathfrak{s}(\mathbf{p}), it is called a 1-singular 𝔰\mathfrak{s}-reduction step.

Remark 4.2.

For simplicity, we only carry out weak top reductions, and in particular all 𝔰\mathfrak{s}-reductions are weak top 𝔰\mathfrak{s}-reductions. But performing regular 𝔰\mathfrak{s}-reduction to eliminate trailing terms does not affect the correctness of the algorithm.

Just like 𝔰\mathfrak{s}-reduction over fields, one can interpret 𝔰\mathfrak{s}-reduction as polynomial reduction with an extra condition on the signature of the reducers. The difference with fields is that in R[x1,,xn]R[x_{1},\dots,x_{n}] polynomial reduction is defined differently from the classic polynomial reduction. Additionally, in the case of fields, all singular 𝔰\mathfrak{s}-reductions are 11-singular.

The outcome 𝐪\mathbf{q} of 𝔰\mathfrak{s}-reducing 𝐩\mathbf{p} is such that LT(𝐪¯)LT(𝐩¯)\mathrm{LT}(\overline{\mathbf{q}})\prec\mathrm{LT}(\overline{\mathbf{p}}) and 𝔰(𝐪)𝔰(𝐩)\mathfrak{s}(\mathbf{q})\preceq\mathfrak{s}(\mathbf{p}). If 𝐪\mathbf{q} is the result of a regular 𝔰\mathfrak{s}-reduction, then 𝔰(𝐪)=𝔰(𝐩)\mathfrak{s}(\mathbf{q})=\mathfrak{s}(\mathbf{p}). In signature-based algorithms, in order to keep track of the signatures of the basis elements, we only allow regular 𝔰\mathfrak{s}-reductions. Later, we will also prove that elements which are 11-singular 𝔰\mathfrak{s}-reducible can be discarded.

Remark 4.3.

In [9, Ex. 2], a signature drop appears when 𝔰\mathfrak{s}-reducing an element of signature 6y𝐞26y\mathbf{e}_{2} with an element of signature y𝐞2y\mathbf{e}_{2} causing the signature to “drop” to 5y𝐞25y\mathbf{e}_{2}. With our definition, since we only compare the module monomial part of the signatures, this is a (forbidden) singular 𝔰\mathfrak{s}-reduction.

Definition 4.4.

Let 𝔞=f1,,fm\mathfrak{a}=\langle f_{1},\dots,f_{m}\rangle be an ideal in AA. A finite subset 𝒢\mathcal{G} of AmA^{m} is a (weak) signature Gröbner basis (or 𝔰\mathfrak{s}-GB for short) of 𝔞\mathfrak{a} if all 𝐮Am\mathbf{u}\in A^{m} 𝔰\mathfrak{s}-reduce to zero mod 𝒢\mathcal{G}.

Given a signature 𝐓\mathbf{T}, we say that 𝒢\mathcal{G} is a (partial) signature Gröbner basis up to T if all 𝐮Am\mathbf{u}\in A^{m} with signature 𝐓\prec\mathbf{T} 𝔰\mathfrak{s}-reduce to 0 mod 𝒢\mathcal{G}.

Using this definition, we can give the following characterization of 1-singular reducibility, which allows for an easy algorithmic test.

Lemma 4.5 (Characterization of 11-singular 𝔰\mathfrak{s}-reducibility).

Let 𝒢={𝛂1,,𝛂s}Am\mathcal{G}=\{\boldsymbol{\alpha}_{1},\dots,\boldsymbol{\alpha}_{s}\}\subset A^{m} and 𝐩Am\mathbf{p}\in A^{m} such that 𝒢\mathcal{G} is a signature Gröbner basis up to signature 𝔰(𝐩)\mathfrak{s}(\mathbf{p}). Then 𝐩\mathbf{p} is 1-singular 𝔰\mathfrak{s}-reducible if and only if there exist j{1,,s}j\in\{1,\dots,s\} and kRk\in R and a monomial xax^{a} in AA such that LM(xa𝛂¯j)=LM(𝐩¯)\mathrm{LM}(x^{a}\overline{\boldsymbol{\alpha}}_{j})=\mathrm{LM}(\overline{\mathbf{p}}) and kxa𝔰(𝛂j)=𝔰(𝐩)kx^{a}\mathfrak{s}(\boldsymbol{\alpha}_{j})=\mathfrak{s}(\mathbf{p}).

Proof.

If 𝐩\mathbf{p} is 1-singular 𝔰\mathfrak{s}-reducible, then such jj, kk and xax^{a} exist by definition. Conversely, given such jj, kk and xax^{a}, if kxaLT(𝜶¯j)=LT(𝐩¯)kx^{a}\mathrm{LT}(\overline{\boldsymbol{\alpha}}_{j})=\mathrm{LT}(\overline{\mathbf{p}}), then 𝐩\mathbf{p} is 1-singular 𝔰\mathfrak{s}-reducible. If not, then LM(𝐩¯kxa𝜶¯j)=LM(𝐩¯)\mathrm{LM}(\overline{\mathbf{p}}-kx^{a}\overline{\boldsymbol{\alpha}}_{j})=\mathrm{LM}(\overline{\mathbf{p}}). Furthermore, 𝔰(𝐩kxa𝜶j)𝔰(𝐩)\mathfrak{s}(\mathbf{p}-kx^{a}\boldsymbol{\alpha}_{j})\prec\mathfrak{s}(\mathbf{p}), so 𝐩kxa𝜶j\mathbf{p}-kx^{a}\boldsymbol{\alpha}_{j} 𝔰\mathfrak{s}-reduces to 0. In particular, there exist (μi)i{1,,s}(\mu_{i})_{i\in\{1,\dots,s\}} terms in AA such that for all ii with μi0\mu_{i}\neq 0, LM(μi𝜶¯i)=LM(𝐩¯kxa𝜶¯j)\mathrm{LM}(\mu_{i}\overline{\boldsymbol{\alpha}}_{i})=\mathrm{LM}(\overline{\mathbf{p}}-kx^{a}\overline{\boldsymbol{\alpha}}_{j}), LT(𝐩¯kxa𝜶¯j)=i=1sμiLT(𝜶¯i)\mathrm{LT}(\overline{\mathbf{p}}-kx^{a}\overline{\boldsymbol{\alpha}}_{j})=\sum_{i=1}^{s}\mu_{i}\mathrm{LT}(\overline{\boldsymbol{\alpha}}_{i}) and μi𝔰(𝜶i)𝔰(𝐩kxa𝜶j)𝔰(𝐩)\mu_{i}\mathfrak{s}(\boldsymbol{\alpha}_{i})\preceq\mathfrak{s}(\mathbf{p}-kx^{a}\boldsymbol{\alpha}_{j})\prec\mathfrak{s}(\mathbf{p}). So putting together the two 𝔰\mathfrak{s}-reductions, we obtain that

LT(𝐩¯)=kxaLT(𝜶¯j)+i=1sμiLT(𝜶¯i)\mathrm{LT}(\overline{\mathbf{p}})=kx^{a}\mathrm{LT}(\overline{\boldsymbol{\alpha}}_{j})+\sum_{i=1}^{s}\mu_{i}\mathrm{LT}(\overline{\boldsymbol{\alpha}}_{i}) (4.1)

and this is a 1-singular 𝔰\mathfrak{s}-reduction of 𝐩\mathbf{p}. ∎

We now define (weak) semi-strong signature Gröbner bases, which form a subclass of weak 𝔰\mathfrak{s}-Gröbner bases. In the case of rings, it is easier to compute them than to directly compute weak 𝔰\mathfrak{s}-Gröbner bases.

Definition 4.6.

Let 𝔞=f1,,fm\mathfrak{a}=\langle f_{1},\dots,f_{m}\rangle be an ideal in AA. A finite subset 𝒢\mathcal{G} of AmA^{m} is a semi-strong signature Gröbner basis (or s-s 𝔰\mathfrak{s}-GB for short) of 𝔞\mathfrak{a} if, for all 𝐮Am\mathbf{u}\in A^{m},

  • either 𝐮\mathbf{u} is (weakly) regular 𝔰\mathfrak{s}-reducible modulo 𝒢\mathcal{G};

  • or 𝐮\mathbf{u} is 1-singular 𝔰\mathfrak{s}-reducible modulo 𝒢\mathcal{G};

  • or 𝐮¯=0\overline{\mathbf{u}}=0.

Given a signature 𝐓\mathbf{T}, semi-strong signature Gröbner bases up to 𝐓\mathbf{T} are defined similarly by only considering module elements with signature 𝐓\prec\mathbf{T}.

Lemma 4.7 ([6, Lem. 4.6]).

Let 𝔞=f1,,fm\mathfrak{a}=\langle f_{1},\dots,f_{m}\rangle be an ideal in AA and let 𝒢Am\mathcal{G}\subset A^{m}. Then

  1. 1.

    If 𝒢\mathcal{G} is a s-s 𝔰\mathfrak{s}-GB of 𝔞\mathfrak{a}, then 𝒢\mathcal{G} is a 𝔰\mathfrak{s}-GB of 𝔞\mathfrak{a}.

  2. 2.

    If 𝒢\mathcal{G} is a 𝔰\mathfrak{s}-GB of 𝔞\mathfrak{a}, then {𝜶¯:𝜶𝒢}\{\overline{\boldsymbol{\alpha}}:\boldsymbol{\alpha}\in\mathcal{G}\} is a Gröbner basis of 𝔞\mathfrak{a}.

Proof.

The definition of a semi-strong Gröbner basis implies that all 𝐮Am\mathbf{u}\in A^{m} with 𝐮¯0\overline{\mathbf{u}}\neq 0 are 𝔰\mathfrak{s}-reducible modulo 𝒢\mathcal{G}, and so such 𝔰\mathfrak{s}-reductions form a chain which can only terminate at 0.

The proof that a signature Gröbner basis is a Gröbner basis is classical [6, Lem. 4.1]. ∎

In order to compute signature Gröbner bases, similar to the case of fields, we will restrict the computations to regular S-polynomials. For this purpose, we first introduce the signature of a set of indices, and regular sets.

Definition 4.8.

Let 𝒢=(𝜶1,,𝜶t)\mathcal{G}=(\boldsymbol{\alpha}_{1},\dots,\boldsymbol{\alpha}_{t}) be a tuple of module elements in AmA^{m} and a set J{1,,t}J\subseteq\{1,\dots,t\}. For i{1,,t}i\in\{1,\dots,t\}, let M(i)=LM(𝜶¯i)M(i)=\mathrm{LM}(\overline{\boldsymbol{\alpha}}_{i}), and S(i)=𝔰(𝜶i)S(i)=\mathfrak{s}(\boldsymbol{\alpha}_{i}). The presignature of JJ is defined as

SJ=maxsJ{M(J)M(s)S(s)}.S_{J}=\max_{s\in J}\left\{\frac{M(J)}{M(s)}S(s)\right\}. (4.2)

We say that JJ is a regular set if there exists exactly one sJs\in J such that SJM(J)M(s)𝔰(𝜶s)S_{J}\simeq\frac{M(J)}{M(s)}\mathfrak{s}(\boldsymbol{\alpha}_{s}). The index ss is called the signature index of JJ. We say that JJ is a regular saturated set if J{s}J\setminus\{s\} contains all jj such that M(j)M(J)M(j)\mid M(J) and M(J)M(j)S(j)SJ\frac{M(J)}{M(j)}S(j)\prec S_{J}.

Note that given a regular set JJ, one can always compute a regular saturated set JJ^{\prime} containing JJ, by adding those indices jj such that M(j)M(J)M(j)\mid M(J) and M(J)M(j)S(j)SJ\frac{M(J)}{M(j)}S(j)\prec S_{J}.

Definition 4.9.

Let (𝜶1,,𝜶t)(\boldsymbol{\alpha}_{1},\dots,\boldsymbol{\alpha}_{t}) be a tuple of module elements in AmA^{m}. For i{1,,t}i\in\{1,\dots,t\}, let M(i)=LM(𝜶¯i)M(i)=\mathrm{LM}(\overline{\boldsymbol{\alpha}}_{i}), C(i)=LC(𝜶¯i)C(i)=\mathrm{LC}(\overline{\boldsymbol{\alpha}}_{i}) and S(i)=𝔰(𝜶i)S(i)=\mathfrak{s}(\boldsymbol{\alpha}_{i}). Let J{1,,t}J\subset\{1,\dots,t\} be a regular saturated set with signature index ss, and let J=J{s}J^{\ast}=J\setminus\{s\}. Let cc be an element of a family of generators of C(j):jJ:C(s)\langle C(j):j\in J^{\ast}\rangle:\langle C(s)\rangle. Let (bj)jJ(b_{j})_{j\in J^{\ast}} be a tuple of elements of RR such that cC(s)=jJbjC(j).cC(s)=\sum_{j\in J^{\ast}}b_{j}C(j). Then the (weak) S-polynomial associated with JJ and cc is defined as

S-Pol((gj)jJ;c)=cM(J)M(s)𝜶sjJbjM(J)M(j)𝜶j.\textup{S-Pol}((g_{j})_{j\in J};c)=c\frac{M(J)}{M(s)}\boldsymbol{\alpha}_{s}-\sum_{j\in J^{\ast}}b_{j}\frac{M(J)}{M(j)}\boldsymbol{\alpha}_{j}.

Its signature is

S(J;c)=𝔰(S-Pol((gj)jJ;c))=cSJ=cM(J)M(s)S(s).S(J;c)=\mathfrak{s}(\textup{S-Pol}((g_{j})_{j\in J};c))=cS_{J}=c\frac{M(J)}{M(s)}S(s). (4.3)
Remark 4.10.

When dealing with regular saturated sets, unlike in Sec. 3.2, we do not need to specify which sJs\in J is singled out when computing the S-polynomial: the only possible ss is the signature index of JJ.

Remark 4.11.

If the coefficient ring is a PID, the ideal C(j):jJ:C(s)\langle C(j):j\in J^{\ast}\rangle:\langle C(s)\rangle is principal, and cc is uniquely determined up to an invertible factor. As such, it can be omitted, and in that case we shall simply write S-Pol(J)\textup{S-Pol}(J) for the S-polynomial, and S(J)S(J) for its signature. The signature can then be written as S(J)=C(J)C(s)SJ=C(J)C(s)M(J)M(s)S(s).S(J)=\frac{C(J)}{C(s)}S_{J}=\frac{C(J)}{C(s)}\frac{M(J)}{M(s)}S(s).

5 Adding signatures to Möller’s weak algorithm

Recall that all 𝔰\mathfrak{s}-reductions are weak top 𝔰\mathfrak{s}-reductions. In this section, all S-polynomials are weak S-polynomials.

5.1 Algorithms

Algorithm SigMöller (Algo. 3) is a signature-based version of Möller’s algorithm which, given an ideal 𝔞\mathfrak{a} in R[x1,,xn]R[x_{1},\dots,x_{n}] where RR is a PID, computes a signature Gröbner basis of 𝔞\mathfrak{a}.

The algorithm proceeds by maintaining a list of regular saturated sets 𝒫\mathcal{P} and computing weak S-polynomials obtained from these saturated sets. At each step, it selects the next regular saturated set J𝒫J\in\mathcal{P} such that JJ has minimal presignature amongst elements of 𝒫\mathcal{P}. This ensures that the algorithm computes new elements for the signature Gröbner basis with nondecreasing signatures (Prop. 5.2).

The algorithm then regular 𝔰\mathfrak{s}-reduces these S-polynomials w.r.t. the previous elements, and adds to the basis those which are not equal to 0 and are not 1-singular 𝔰\mathfrak{s}-reducible. Signature-based Gröbner basis algorithms over fields typically discard all new elements which are singular 𝔰\mathfrak{s}-reducible, but this may be too restrictive for rings. On the other hand, the proof of Lem. 5.4 justifies that 1-singular 𝔰\mathfrak{s}-reducible module elements can be safely discarded in the computations. The correctness of the criterion for 1-singular 𝔰\mathfrak{s}-reducibility (Algo. 4) was justified in Lem. 4.5. The correctness and termination of Algorithm SigMöller are proved in Th. 5.5 and Th. 5.6 respectively.

Algorithm 3 Signature-based Möller’s algorithm (SigMöller)
Input F={f1,,fm}A{0}F=\{f_{1},\ldots,f_{m}\}\subseteq A\setminus\{0\}, \prec a monomial order on AA
Output 𝒢={𝜶1,,𝜶t}\mathcal{G}=\{\boldsymbol{\alpha}_{1},\dots,\boldsymbol{\alpha}_{t}\} a semi-strong signature-Gröbner basis of F\langle F\rangle
𝒢\mathcal{G}\leftarrow\emptyset, σ0\sigma\leftarrow 0
for i{1,,m}i\in\{1,\ldots,m\} do
  𝐞iRegularReduce(𝐞i,𝒢)\mathbf{e}^{\prime}_{i}\leftarrow\textsf{RegularReduce}(\mathbf{e}_{i},\mathcal{G})
  if 𝐞¯i0\overline{\mathbf{e}}^{\prime}_{i}\neq 0 then
   𝒢=𝒢{𝐞i}\mathcal{G}=\mathcal{G}\cup\{\mathbf{e}^{\prime}_{i}\}, s|𝒢|s\leftarrow|\mathcal{G}|        // 𝜶s=𝐞i\boldsymbol{\alpha}_{s}=\mathbf{e}^{\prime}_{i}
   𝒫{Regular saturated sets of {1,,s} containing s}\mathcal{P}\leftarrow\{\text{Regular saturated sets of $\{1,\dots,s\}$ containing $s$}\}
   while 𝒫\mathcal{P}\neq\emptyset do
    Pick and remove from 𝒫\mathcal{P} a regular saturated set with minimal presignature SJS_{J}
    M(J)lcm(LM(𝜶¯j):jJ)M(J)\leftarrow\mathrm{lcm}(\mathrm{LM}(\overline{\boldsymbol{\alpha}}_{j}):j\in J)
    τsignature index of J\tau\leftarrow\text{signature index of $J$}
    JJ{τ}J^{\ast}\leftarrow J\setminus\{\tau\}
    {c1,,cμ}SatIdeal({LC(𝜶¯j):jJ},LC(𝜶¯τ))\{c_{1},\dots,c_{\mu}\}\leftarrow\textsf{SatIdeal}(\{\mathrm{LC}(\overline{\boldsymbol{\alpha}}_{j}):j\in J^{\ast}\},\mathrm{LC}(\overline{\boldsymbol{\alpha}}_{\tau}))
    for i{1,,μ}i\in\{1,\ldots,\mu\} do    // For PIDs, μ=1\mu=1
     pS-Pol((gj)jJ;ci)p\leftarrow\textup{S-Pol}((g_{j})_{j\in J};c_{i})
     𝐫RegularReduce(𝐩,𝒢)\mathbf{r}\leftarrow\textsf{RegularReduce}(\mathbf{p},\mathcal{G})
     if 𝐫0\mathbf{r}\neq 0 and not 1-SingularReducible(𝐫,𝒢)\textsf{1-SingularReducible}(\mathbf{r},\mathcal{G}) then
      𝜶s+1𝐫\boldsymbol{\alpha}_{s+1}\leftarrow\mathbf{r}    // 𝜶s+1\boldsymbol{\alpha}_{s+1} has signature S(J)=ciSJS(J)=c_{i}S_{J}
      𝒢𝒢{𝜶s+1}\mathcal{G}\leftarrow\mathcal{G}\cup\{\boldsymbol{\alpha}_{s+1}\}
      𝒫𝒫{Regular saturated sets of {1,,s+1} containing s+1}\mathcal{P}\leftarrow\mathcal{P}\cup\{\text{Regular saturated sets of $\{1,\dots,s+1\}$ containing $s+1$}\}
      ss+1s\leftarrow s+1
return  𝒢\mathcal{G}

Due to space constraints, the subroutine RegularReduce is not explicitly written. It implements regular 𝔰\mathfrak{s}-reduction of a module element 𝐩\mathbf{p} w.r.t. a set of module elements {𝜶1,,𝜶s}\{\boldsymbol{\alpha}_{1},\dots,\boldsymbol{\alpha}_{s}\}. It is a straightforward transposition of Reduce (Algo. 2), with the additional condition that we only consider as reducers of 𝐫\mathbf{r} those 𝜶j\boldsymbol{\alpha}_{j} with LM(𝜶¯j)LM(𝐫¯) and LM(𝐫¯)LM(𝜶¯j)𝔰(𝜶j)𝔰(𝐫).\mathrm{LM}(\overline{\boldsymbol{\alpha}}_{j})\mid\mathrm{LM}(\overline{\mathbf{r}})\text{ and }\frac{\mathrm{LM}(\overline{\mathbf{r}})}{\mathrm{LM}(\overline{\boldsymbol{\alpha}}_{j})}\mathfrak{s}(\boldsymbol{\alpha}_{j})\prec\mathfrak{s}(\mathbf{r}).

Remark 5.1.

Note that the algorithms, as presented, perform computations on module elements. However, for practical implementations, this represents a significant overhead. On the other hand, for any module element 𝜶\boldsymbol{\alpha}, we only need its polynomial value 𝜶¯\overline{\boldsymbol{\alpha}} and its signature 𝔰(𝜶)\mathfrak{s}(\boldsymbol{\alpha}). Hence the algorithm only needs to keep track of the signatures of elements, which is made possible by the restriction to regular S-polynomials and regular 𝔰\mathfrak{s}-reductions.

Example.

An example run of Algorithm 3 is provided in Appendix A.

5.2 Proof of correctness

In this section we prove the correctness of the algorithms presented in Sec. 5.1. The first result states that Algorithm SigMöller computes elements of the signature Gröbner basis in nondecreasing order on their signatures.

Proposition 5.2.

Let (𝛂1,,𝛂t)(\boldsymbol{\alpha}_{1},\dots,\boldsymbol{\alpha}_{t}) be the value of 𝒢\mathcal{G} at any point in the course of Algorithm SigMöller. Then 𝔰(𝛂1)𝔰(𝛂2)𝔰(𝛂t)\mathfrak{s}(\boldsymbol{\alpha}_{1})\preceq\mathfrak{s}(\boldsymbol{\alpha}_{2})\preceq\dots\preceq\mathfrak{s}(\boldsymbol{\alpha}_{t}).

Proof.

Assume that this is not the case, and let ii be the smallest index such that 𝔰(𝜶i)𝔰(𝜶i+1)\mathfrak{s}(\boldsymbol{\alpha}_{i})\succ\mathfrak{s}(\boldsymbol{\alpha}_{i+1}). Let JiJ_{i} (resp. Ji+1J_{i+1}) be the saturated set used to compute 𝜶i\boldsymbol{\alpha}_{i} (resp. 𝜶i+1\boldsymbol{\alpha}_{i+1}). Note that 𝔰(𝜶i)S(Ji)\mathfrak{s}(\boldsymbol{\alpha}_{i})\simeq S(J_{i}) and 𝔰(𝜶i+1)S(Ji+1)\mathfrak{s}(\boldsymbol{\alpha}_{i+1})\simeq S(J_{i+1}).

If iJi+1i\notin J_{i+1}, then Ji+1J_{i+1} was already in the queue 𝒫\mathcal{P} when JiJ_{i} was selected, and so, by the selection criterion in the algorithm, S(Ji)S(Ji+1)S(J_{i})\preceq S(J_{i+1}).

If iJi+1i\in J_{i+1}, then S(Ji+1)xJi+1LM(𝜶¯i)𝔰(𝜶i)𝔰(𝜶i)S(J_{i+1})\succeq\frac{x^{J_{i+1}}}{\mathrm{LM}(\overline{\boldsymbol{\alpha}}_{i})}\mathfrak{s}(\boldsymbol{\alpha}_{i})\succeq\mathfrak{s}(\boldsymbol{\alpha}_{i}). ∎

The following useful lemma gives consequences of the fact that two regular 𝔰\mathfrak{s}-reduced elements share the same signature.

Lemma 5.3.

Let 𝒢=(𝛂1,,𝛂s)\mathcal{G}=(\boldsymbol{\alpha}_{1},\dots,\boldsymbol{\alpha}_{s}) be a signature Gröbner basis up to signature 𝐋\mathbf{L}. Let 𝐩,𝐪Am\mathbf{p},\mathbf{q}\in A^{m} such that 𝔰(𝐩)=𝔰(𝐪)=𝐋\mathfrak{s}(\mathbf{p})=\mathfrak{s}(\mathbf{q})=\mathbf{L}, and 𝐩\mathbf{p} and 𝐪\mathbf{q} are regular 𝔰\mathfrak{s}-reduced. Then LM(𝐩¯)=LM(𝐪¯)\mathrm{LM}(\overline{\mathbf{p}})=\mathrm{LM}(\overline{\mathbf{q}}) and either LT(𝐩¯)=LT(𝐪¯)\mathrm{LT}(\overline{\mathbf{p}})=\mathrm{LT}(\overline{\mathbf{q}}), or LC(𝐩¯𝐪¯)\mathrm{LC}(\overline{\mathbf{p}}-\overline{\mathbf{q}}) lies in the ideal

C:=LC(𝜶j¯):LM(𝜶j¯)m and mLM(𝜶j¯)𝔰(𝜶j)≄𝔰(𝐩).C:=\Big{\langle}\mathrm{LC}(\overline{\boldsymbol{\alpha}_{j}}):\mathrm{LM}(\overline{\boldsymbol{\alpha}_{j}})\mid m\text{ and }\frac{m}{\mathrm{LM}(\overline{\boldsymbol{\alpha}_{j}})}\mathfrak{s}(\boldsymbol{\alpha}_{j})\not\simeq\mathfrak{s}(\mathbf{p})\Big{\rangle}. (5.1)
Proof.

Let 𝐫=𝐩𝐪\mathbf{r}=\mathbf{p}-\mathbf{q}. Since 𝔰(𝐩)=𝔰(𝐪)\mathfrak{s}(\mathbf{p})=\mathfrak{s}(\mathbf{q}), we have 𝔰(𝐫)𝔰(𝐩)=𝐋\mathfrak{s}(\mathbf{r})\prec\mathfrak{s}(\mathbf{p})=\mathbf{L}, and so 𝐫\mathbf{r} 𝔰\mathfrak{s}-reduces to 0 modulo 𝒢\mathcal{G}. Assume first that LM(𝐩¯)LM(𝐪¯)\mathrm{LM}(\overline{\mathbf{p}})\neq\mathrm{LM}(\overline{\mathbf{q}}), then w.l.o.g. we may assume that LM(𝐩¯)LM(𝐪¯)\mathrm{LM}(\overline{\mathbf{p}})\succ\mathrm{LM}(\overline{\mathbf{q}}), so LM(𝐫¯)=LM(𝐩¯)\mathrm{LM}(\overline{\mathbf{r}})=\mathrm{LM}(\overline{\mathbf{p}}). Since 𝐫\mathbf{r} is regular 𝔰\mathfrak{s}-reducible, 𝐩\mathbf{p} is 𝔰\mathfrak{s}-reducible. This is a contradiction with the assumption that 𝐩\mathbf{p} is 𝔰\mathfrak{s}-reduced.

So LM(𝐩¯)=LM(𝐪¯)=:m\mathrm{LM}(\overline{\mathbf{p}})=\mathrm{LM}(\overline{\mathbf{q}})=:m. If LT(𝐩¯)LT(𝐪¯)\mathrm{LT}(\overline{\mathbf{p}})\neq\mathrm{LT}(\overline{\mathbf{q}}), CC is the ideal of leading coefficients of polynomials which can eliminate mm, and since 𝐫\mathbf{r} is 𝔰\mathfrak{s}-reducible, LC(𝐩¯)LC(𝐪¯)C\mathrm{LC}(\overline{\mathbf{p}})-\mathrm{LC}(\overline{\mathbf{q}})\in C. ∎

Algorithm 4 Test of 1-singular 𝔰\mathfrak{s}-reducibility modulo a partial 𝔰\mathfrak{s}-GB (1-SingularReducible)
Input 𝒢={𝜶1,,𝜶s}Am\mathcal{G}=\{\boldsymbol{\alpha}_{1},\dots,\boldsymbol{\alpha}_{s}\}\subset A^{m} and 𝐩Am\mathbf{p}\in A^{m} such that 𝐩\mathbf{p} is regular 𝔰\mathfrak{s}-reduced w.r.t. 𝒢\mathcal{G} and 𝒢\mathcal{G} is a signature Gröbner basis up to 𝔰(𝐩)\mathfrak{s}(\mathbf{p})
Output TRUE iff 𝐩\mathbf{p} is 1-singular 𝔰\mathfrak{s}-reducible modulo 𝒢\mathcal{G}
J{j{1,,s}:LM(𝜶¯j)LM(𝐩¯) and LM(𝐩¯)LM(𝜶¯j)𝔰(𝜶j)𝔰(𝐩)}J\leftarrow\left\{j\in\{1,\dots,s\}:\mathrm{LM}(\overline{\boldsymbol{\alpha}}_{j})\mid\mathrm{LM}(\overline{\mathbf{p}})\text{ and }\frac{\mathrm{LM}(\overline{\mathbf{p}})}{\mathrm{LM}(\overline{\boldsymbol{\alpha}}_{j})}\mathfrak{s}(\boldsymbol{\alpha}_{j})\preceq\mathfrak{s}(\mathbf{p})\right\}
return  jJ,kjR,kjLM(𝐩¯)LM(𝜶¯j)𝔰(𝜶j)=𝔰(𝐩)\exists j\in J,\exists k_{j}\in R,k_{j}\frac{\mathrm{LM}(\overline{\mathbf{p}})}{\mathrm{LM}(\overline{\boldsymbol{\alpha}}_{j})}\mathfrak{s}(\boldsymbol{\alpha}_{j})=\mathfrak{s}(\mathbf{p})

We now prove the correctness of Algorithm SigMöller. The proof follows the structure of the proof in the case of fields [22], and adapts it to Möller’s algorithm over PIDs. In particular, it takes into account weak 𝔰\mathfrak{s}-reductions instead of classical 𝔰\mathfrak{s}-reductions. The algorithm ensures that all regular S-polynomials up to a given signature 𝐓\mathbf{T} 𝔰\mathfrak{s}-reduce to 0, and proving the correctness of the algorithm requires proving that this implies that all module elements with signature 𝐓\prec\mathbf{T} 𝔰\mathfrak{s}-reduce to 0.

The key lemma of the proof is the following.

Lemma 5.4.

Let 𝒢=(𝛂1,,𝛂s)Am\mathcal{G}=(\boldsymbol{\alpha}_{1},\dots,\boldsymbol{\alpha}_{s})\subseteq A^{m}. Let 𝐮Am{0}\mathbf{u}\in A^{m}\setminus\{0\} be 𝔰\mathfrak{s}-reduced such that 𝐮¯0\overline{\mathbf{u}}\neq 0. Assume that 𝒢\mathcal{G} is a s-s 𝔰\mathfrak{s}-GB basis up to signature 𝔰(𝐮)\mathfrak{s}(\mathbf{u}). Then there exists an S-polynomial 𝐩\mathbf{p} w.r.t. 𝒢\mathcal{G}, such that:

  1. 1.

    the signature of 𝐩\mathbf{p} divides the signature of 𝐮\mathbf{u}: kxa𝔰(𝐩)=𝔰(𝐮)kx^{a}\mathfrak{s}(\mathbf{p})=\mathfrak{s}(\mathbf{u}) with kRk\in R and xaMon(A)x^{a}\in\mathrm{Mon}(A);

  2. 2.

    if 𝐩\mathbf{p}^{\prime} is the result of regular 𝔰\mathfrak{s}-reducing 𝐩\mathbf{p} w.r.t. 𝒢\mathcal{G}, then kxa𝐩kx^{a}\mathbf{p}^{\prime} is regular 𝔰\mathfrak{s}-reduced.

Proof.

The proof is in two steps: first, we construct a S-polynomial 𝐩\mathbf{p} whose signature divides 𝔰(𝐮)\mathfrak{s}(\mathbf{u}), and then, starting from 𝐩\mathbf{p}, we show that there exists an S-polynomial satisfying the conditions of the lemma.

In the remainder of the proof, for i{1,,s}i\in\{1,\dots,s\}, let M(i)=LM(𝜶¯i)M(i)=\mathrm{LM}(\overline{\boldsymbol{\alpha}}_{i}), C(i)=LC(𝜶¯i)C(i)=\mathrm{LC}(\overline{\boldsymbol{\alpha}}_{i}), T(i)=LT(𝜶¯i)T(i)=\mathrm{LT}(\overline{\boldsymbol{\alpha}}_{i}) and S(i)=𝔰(𝜶i)S(i)=\mathfrak{s}(\boldsymbol{\alpha}_{i}).

Existence of a S-polynomial satisfying 1.

For the first step, let 𝔰(𝐮)\mathfrak{s}(\mathbf{u}) be lxb𝐞ilx^{b}\mathbf{e}_{i} for some lRl\in R, xbx^{b} a monomial and 𝐞i\mathbf{e}_{i} a basis vector. Let 𝐞i\mathbf{e}^{\prime}_{i} be the result of regular 𝔰\mathfrak{s}-reducing 𝐞i\mathbf{e}_{i}. If 𝐞¯i=0\overline{\mathbf{e}}^{\prime}_{i}=0, then 𝐮\mathbf{u} regular 𝔰\mathfrak{s}-reduces to 0, which is a contradiction since we assumed 𝐮\mathbf{u} to be 𝔰\mathfrak{s}-reduced and 𝐮¯0\overline{\mathbf{u}}\neq 0. Let 𝐋=lxb𝐞i\mathbf{L}=lx^{b}\mathbf{e}^{\prime}_{i}, it has signature lxb𝐞ilx^{b}\mathbf{e}_{i}. Then 𝐮𝐋\mathbf{u}-\mathbf{L} has a smaller signature than 𝐮\mathbf{u}, so it 𝔰\mathfrak{s}-reduces to zero and in particular it is 𝔰\mathfrak{s}-reducible. Also, 𝐋\mathbf{L} is 𝔰\mathfrak{s}-reducible by 𝐞i\mathbf{e}^{\prime}_{i}. Consider the sum (𝐮𝐋)+𝐋=𝐮(\mathbf{u}-\mathbf{L})+\mathbf{L}=\mathbf{u}. It is not 𝔰\mathfrak{s}-reducible, which implies that LT(𝐮𝐋¯)=LT(𝐋¯)\mathrm{LT}(\overline{\mathbf{u}-\mathbf{L}})=-\mathrm{LT}(\overline{\mathbf{L}}).

Let JLM(𝐋¯)J_{\mathrm{LM}(\overline{\mathbf{L}})} be the maximal regular saturated set JJ with M(J)LM(𝐋¯)M(J)\mid\mathrm{LM}(\overline{\mathbf{L}}). Since 𝐮𝐋\mathbf{u}-\mathbf{L} 𝔰\mathfrak{s}-reduces to zero, there exists (mj)jJLM(𝐋¯)(m_{j})_{j\in J_{\mathrm{LM}(\overline{\mathbf{L}})}} monomials in AA, and (kj)jJLM(𝐋¯)(k_{j})_{j\in J_{\mathrm{LM}(\overline{\mathbf{L}})}} coefficients in RR such that

LT(𝐮¯𝐋¯)=jJLM(𝐋¯)kjmjT(j)\mathrm{LT}(\overline{\mathbf{u}}-\overline{\mathbf{L}})=\sum_{j\in J_{\mathrm{LM}(\overline{\mathbf{L}})}}k_{j}m_{j}T(j) (5.2)

with mjM(j)=LM(𝐮¯𝐋¯)m_{j}M(j)=\mathrm{LM}(\overline{\mathbf{u}}-\overline{\mathbf{L}}) and 𝔰(kjmj𝜶j)=kjmjS(j)𝔰(𝐮𝐋)𝔰(𝐮)\mathfrak{s}(k_{j}m_{j}\boldsymbol{\alpha}_{j})=k_{j}m_{j}S(j)\preceq\mathfrak{s}(\mathbf{u}-\mathbf{L})\prec\mathfrak{s}(\mathbf{u}) for all ii such that kj0k_{j}\neq 0. Let σ\sigma be the index of 𝐞i\mathbf{e}^{\prime}_{i} in 𝒢\mathcal{G}, that is 𝜶σ=𝐞i\boldsymbol{\alpha}_{\sigma}=\mathbf{e}^{\prime}_{i}. Consider the set J={j:mj0}{σ}JLM(𝐋¯),J^{\prime}=\{j:m_{j}\neq 0\}\cup\{\sigma\}\subseteq J_{\mathrm{LM}(\overline{\mathbf{L}})}, it is regular by construction.

Let JJ be a regular saturated set containing JJ^{\prime}. Then, since for all jJj\in J^{\prime}, M(j)LM(𝐋¯)=xbM(σ)M(j)\mid\mathrm{LM}(\overline{\mathbf{L}})=x^{b}M(\sigma), M(J)=lcm{M(j):jJ}xbM(σ).M(J)=\mathrm{lcm}\left\{M(j):j\in J^{\prime}\right\}\mid x^{b}M(\sigma). Furthermore, looking at the leading coefficients in Eq. (5.2), we have

lC(σ)=jJkjC(j)l\,C(\sigma)=-\sum_{j\in J^{\prime}}k_{j}C(j) (5.3)

and so lC(j):jJ,jσ:C(σ)l\in\langle C(j):j\in J,j\neq\sigma\rangle:\langle C(\sigma)\rangle. Since RR is a PID, this ideal is principal. Let bJb_{J} be its generator, then bJlb_{J}\mid l. Let 𝐩\mathbf{p} be the S-polynomial corresponding to JJ and bJb_{J}. It is regular by construction since JJ is a regular saturated set, and its signature is 𝔰(𝐩)=bJM(J)M(σ)S(σ)=bJM(J)LM(𝐞¯i)𝐞i\mathfrak{s}(\mathbf{p})=b_{J}\frac{M(J)}{M(\sigma)}S(\sigma)=b_{J}\frac{M(J)}{\mathrm{LM}(\overline{\mathbf{e}}^{\prime}_{i})}\mathbf{e}_{i}. Since bJb_{J} divides ll and M(J)M(J) divides xbM(σ)x^{b}M(\sigma), 𝔰(𝐩)\mathfrak{s}(\mathbf{p}) divides lxbs𝐞i=𝔰(𝐋)=𝔰(𝐮)lx^{b}s\mathbf{e}^{\prime}_{i}=\mathfrak{s}(\mathbf{L})=\mathfrak{s}(\mathbf{u}).

Existence of a S-polynomial satisfying 1. and 2.

Let 𝐩\mathbf{p} be an S-polynomial whose signature divides 𝔰(𝐮)\mathfrak{s}(\mathbf{u}), and let 𝐩\mathbf{p}^{\prime} be the regular 𝔰\mathfrak{s}-reduced form of 𝐩\mathbf{p}. Write 𝔰(𝐮)=𝔰(kxa𝐩)\mathfrak{s}(\mathbf{u})=\mathfrak{s}(kx^{a}\mathbf{p}), where kRk\in R and xax^{a} is a monomial.

We can assume that kxa𝐩kx^{a}\mathbf{p}^{\prime} is regular 𝔰\mathfrak{s}-reducible or else we are done. We then construct an S-polynomial 𝐪\mathbf{q} such that 𝔰(lxb𝐪)=𝔰(𝐮)\mathfrak{s}(lx^{b}\mathbf{q})=\mathfrak{s}(\mathbf{u}) and LM(kxa𝐩¯)LM(lxb𝐪¯)\mathrm{LM}(\overline{kx^{a}\mathbf{p}})\succ\mathrm{LM}(\overline{lx^{b}\mathbf{q}}). If lxb𝐪lx^{b}\mathbf{q}^{\prime}, where 𝐪\mathbf{q}^{\prime} is obtained by regular 𝔰\mathfrak{s}-reducing 𝐪\mathbf{q}, is not regular 𝔰\mathfrak{s}-reducible then we are done. Otherwise we can do the same process again and get a third S-polynomial with the same properties and keep repeating. Since the initial terms are strictly decreasing and we have a well order there are only finitely many such S-polynomials.

First, we show that we can assume that xa1x^{a}\succ 1. Indeed, assume that a=0a=0 and k𝐩k\mathbf{p}^{\prime} is regular 𝔰\mathfrak{s}-reducible. Since RR is an integral domain, LM(k𝐩¯)=LM(𝐩¯)\mathrm{LM}(k\overline{\mathbf{p}}^{\prime})=\mathrm{LM}(\overline{\mathbf{p}}^{\prime}). Let JLM(𝐩¯)J_{\mathrm{LM}(\overline{\mathbf{p}}^{\prime})} be the maximal regular saturated set JJ with M(J)LM(𝐩¯)M(J)\mid\mathrm{LM}(\overline{\mathbf{p}}^{\prime}). Then kLC(𝐩¯)k\mathrm{LC}(\overline{\mathbf{p}}^{\prime}) lies in the ideal LC(αj):jJLM(𝐩¯)\langle\mathrm{LC}(\alpha_{j}):j\in J_{\mathrm{LM}(\overline{\mathbf{p}}^{\prime})}\rangle. Since RR is a PID, this ideal is principal, let bJLM(𝐩¯)b_{J_{\mathrm{LM}(\overline{\mathbf{p}}^{\prime})}} be its generator, then bJLM(𝐩¯)kb_{J_{\mathrm{LM}(\overline{\mathbf{p}}^{\prime})}}\mid k. Let 𝐪¯\overline{\mathbf{q}} be the S-polynomial corresponding to the regular saturated set JLM(𝐩¯)J_{\mathrm{LM}(\overline{\mathbf{p}}^{\prime})} and the generator bJLM(𝐩¯)b_{J_{\mathrm{LM}(\overline{\mathbf{p}}^{\prime})}}, its signature divides 𝔰(𝐮)\mathfrak{s}(\mathbf{u}) and is strictly divisible by 𝔰(𝐩)\mathfrak{s}(\mathbf{p}). Repeating the process as needed, we obtain a strictly increasing sequence of elements dividing the coefficient of 𝔰(𝐮)\mathfrak{s}(\mathbf{u}), and since RR is a PID and in particular a unique-factorization domain, this sequence has to be finite. So we can assume that xa1x^{a}\succ 1.

We will construct two reductions of LT(kxa𝐩¯)\mathrm{LT}(kx^{a}\overline{\mathbf{p}}^{\prime}), which taken together will give the S-polynomial 𝐪\mathbf{q}. For the first reduction, the module element 𝐩Am\mathbf{p}^{\prime}\in A^{m} is regular 𝔰\mathfrak{s}-reduced modulo the s-s 𝔰\mathfrak{s}-GB 𝒢\mathcal{G}, and its signature is smaller than 𝔰(𝐮)\mathfrak{s}(\mathbf{u}). Furthermore, by assumption kxa𝐩kx^{a}\mathbf{p}^{\prime} is not regular 𝔰\mathfrak{s}-reduced, so 𝐩¯\overline{\mathbf{p}}^{\prime} cannot be 0. So, by definition of a s-s 𝔰\mathfrak{s}-GB, 𝐩\mathbf{p}^{\prime} is 1-singular 𝔰\mathfrak{s}-reducible. So there exists (ti(1))iJ1(t_{i}^{(1)})_{i\in J_{1}} terms in AA, with J1{1,,s}J_{1}\subset\{1,\dots,s\} and for all iJ1i\in J_{1}, ti(1)0t_{i}^{(1)}\neq 0, and such that

LT(𝐩¯)=iJ1ti(1)LT(𝜶¯i)=iJ1ti(1)T(i)\mathrm{LT}(\overline{\mathbf{p}}^{\prime})=\sum_{i\in J_{1}}t^{(1)}_{i}\mathrm{LT}(\overline{\boldsymbol{\alpha}}_{i})=\sum_{i\in J_{1}}t^{(1)}_{i}T(i) (5.4)

with for all iJ1i\in J_{1}, LM(ti(1)𝜶¯i)=LM(ti(1))M(i)=LM(𝐩¯)\mathrm{LM}(t_{i}^{(1)}\overline{\boldsymbol{\alpha}}_{i})=\mathrm{LM}(t_{i}^{(1)})M(i)=\mathrm{LM}(\overline{\mathbf{p}}^{\prime}). Furthermore, there exists τ\tau in J1J_{1}, tτ(1)S(τ)=𝔰(𝐩¯)t_{\tau}^{(1)}S(\tau)=\mathfrak{s}(\overline{\mathbf{p}}) and for all iJ1{τ}i\in J_{1}\setminus\{\tau\}, ti(1)S(i)𝔰(𝐩)t_{i}^{(1)}S(i)\prec\mathfrak{s}(\mathbf{p}).

We now build the second reduction. Since kxa𝐩kx^{a}\mathbf{p}^{\prime} is regular 𝔰\mathfrak{s}-reducible, there exists (ti(2))iJ2(t_{i}^{(2)})_{i\in J_{2}} terms in AA, with J2{1,,s}J_{2}\subset\{1,\dots,s\} and for all iJ2i\in J_{2}, ti(2)0t_{i}^{(2)}\neq 0, such that

LT(kxa𝐩¯)=iJ2ti(2)LT(𝜶¯i)=iJ2ti(2)T(i),\mathrm{LT}(kx^{a}\overline{\mathbf{p}}^{\prime})=\sum_{i\in J_{2}}t_{i}^{(2)}\mathrm{LT}(\overline{\boldsymbol{\alpha}}_{i})=\sum_{i\in J_{2}}t_{i}^{(2)}T(i), (5.5)

and for all jJ2j\in J_{2}, LM(tj(2))M(j)=LM(kxa𝐩¯)\mathrm{LM}(t_{j}^{(2)})M(j)=\mathrm{LM}(kx^{a}\overline{\mathbf{p}}^{\prime}) and tj(2)S(j)𝔰(kxa𝐩)t_{j}^{(2)}S(j)\prec\mathfrak{s}(kx^{a}\mathbf{p}^{\prime}).

Now let J=J1J2J=J_{1}\cup J_{2}, and let ti(1)=0t_{i}^{(1)}=0 if iJ2J1i\in J_{2}\setminus J_{1}, tj(2)=0t_{j}^{(2)}=0 if jJ1J2j\in J_{1}\setminus J_{2}. Note that τJ2\tau\notin J_{2}, so tτ(2)=0t_{\tau}^{(2)}=0. Combining Eqs. (5.4) and (5.5), we obtain a decomposition of kxatτT(τ)kx^{a}t_{\tau}T(\tau) as

kxatτT(τ)=iJ{τ}tiT(i).kx^{a}t_{\tau}T(\tau)=-\sum_{i\in J\setminus\{\tau\}}t_{i}T(i). (5.6)

where for all iJi\in J, ti=kxati(1)ti(2)t_{i}=kx^{a}t_{i}^{(1)}-t_{i}^{(2)}. Furthermore, for all iJ{τ}i\in J\setminus\{\tau\}, LM(ti)M(i)=LM(xa𝐩¯)=LM(xatτ)M(τ)\mathrm{LM}(t_{i})M(i)=\mathrm{LM}(x^{a}\overline{\mathbf{p}}^{\prime})=\mathrm{LM}(x^{a}t_{\tau})M(\tau) and tiS(i)𝔰(𝐩¯)=kxatτS(τ)t_{i}S(i)\prec\mathfrak{s}(\overline{\mathbf{p}})=kx^{a}t_{\tau}S(\tau).

The same argument as the one used, in the first part of the proof, to construct an S-polynomial based on Eq. (5.2) yields an S-polynomial 𝐪\mathbf{q} such that 𝔰(𝐪)\mathfrak{s}(\mathbf{q}) divides 𝔰(𝐮)\mathfrak{s}(\mathbf{u}), say lxb𝔰(𝐪)=𝔰(𝐮)lx^{b}\mathfrak{s}(\mathbf{q})=\mathfrak{s}(\mathbf{u}). Furthermore, since the leading term is eliminated in the construction of an S-polynomial, LT(lxb𝐪¯)LT(kxa𝐩¯)\mathrm{LT}(lx^{b}\overline{\mathbf{q}})\prec\mathrm{LT}(kx^{a}\overline{\mathbf{p}}^{\prime}), which concludes the proof. ∎

Theorem 5.5 (Correctness of Algorithm SigMöller).

Let 𝐓\mathbf{T} be a term of AmA^{m} and let 𝒢=(𝛂1,,𝛂s)Am\mathcal{G}=(\boldsymbol{\alpha}_{1},\dots,\boldsymbol{\alpha}_{s})\subseteq A^{m} be a finite basis as computed by Algo. 3. Assume that all regular S-polynomials 𝐩\mathbf{p} with 𝔰(𝐩)𝐓\mathfrak{s}(\mathbf{p})\prec\mathbf{T} 𝔰\mathfrak{s}-reduce to 0 w.r.t. 𝒢\mathcal{G} . Then 𝒢\mathcal{G} is a semi-strong signature-Gröbner basis up to signature 𝐓\mathbf{T}.

Proof.

To get a contradiction assume there exists a 𝐮Am\mathbf{u}\in A^{m} with 𝔰(𝐮)𝐓\mathfrak{s}(\mathbf{u})\prec\mathbf{T} such that 𝐮\mathbf{u} does not 𝔰\mathfrak{s}-reduce to zero. Assume w.l.o.g. that 𝔰(𝐮)\mathfrak{s}(\mathbf{u}) is \prec-minimal such that 𝐮\mathbf{u} does not 𝔰\mathfrak{s}-reduce to zero and also that 𝐮\mathbf{u} is regular 𝔰\mathfrak{s}-reduced.

By Lem. 5.4 there is an S-polynomial 𝐩\mathbf{p} with 𝔰(kxa𝐩)=𝔰(𝐮)\mathfrak{s}(kx^{a}\mathbf{p})=\mathfrak{s}(\mathbf{u}) with kRk\in R, xaMon(A)x^{a}\in\mathrm{Mon}(A). Also, kxa𝐩kx^{a}\mathbf{p}^{\prime} is regular 𝔰\mathfrak{s}-reduced where 𝐩\mathbf{p}^{\prime} is the result of regular 𝔰\mathfrak{s}-reducing 𝐩\mathbf{p}.

Let JLM(𝐮¯)J_{\mathrm{LM}(\overline{\mathbf{u}})} be the maximal regular saturated set JJ with M(J)LM(𝐮¯)M(J)\mid\mathrm{LM}(\overline{\mathbf{u}}). Since 𝔰(kxa𝐩)=𝔰(𝐮)\mathfrak{s}(kx^{a}\mathbf{p})=\mathfrak{s}(\mathbf{u}) and both kxa𝐩kx^{a}\mathbf{p}^{\prime} and 𝐮\mathbf{u} are regular 𝔰\mathfrak{s}-reduced, we have by Lem. 5.3 that LM(kxa𝐩¯)=LM(𝐮¯)\mathrm{LM}(kx^{a}\overline{\mathbf{p}}^{\prime})=\mathrm{LM}(\overline{\mathbf{u}}), and either LT(kxa𝐩¯)=LT(𝐮¯)\mathrm{LT}(kx^{a}\overline{\mathbf{p}}^{\prime})=\mathrm{LT}(\overline{\mathbf{u}}), or

LC(𝐮¯kxa𝐩¯)LC(𝜶¯j):jJLM(𝐮¯).\mathrm{LC}(\overline{\mathbf{u}}-kx^{a}\overline{\mathbf{p}}^{\prime})\in\left\langle\mathrm{LC}(\overline{\boldsymbol{\alpha}}_{j}):j\in J_{\mathrm{LM}(\overline{\mathbf{u}})}\right\rangle. (5.7)

So in either case, there exists (ti)iJLM(𝐮¯)(t_{i})_{i\in J_{\mathrm{LM}(\overline{\mathbf{u}})}} terms in AA, possibly all zero, such that

LT(𝐮¯)LT(kxa𝐩¯)=iJLM(𝐮¯)tiLT(𝜶¯i)\mathrm{LT}(\overline{\mathbf{u}})-\mathrm{LT}(kx^{a}\overline{\mathbf{p}}^{\prime})=\sum_{i\in J_{\mathrm{LM}(\overline{\mathbf{u}})}}t_{i}\mathrm{LT}(\overline{\boldsymbol{\alpha}}_{i}) (5.8)

and tiLM(𝜶¯i)=LM(𝐫¯)=LM(𝐮¯)t_{i}\mathrm{LM}(\overline{\boldsymbol{\alpha}}_{i})=\mathrm{LM}(\overline{\mathbf{r}})=\mathrm{LM}(\overline{\mathbf{u}}) for all ii such that ti0t_{i}\neq 0.

Since 𝐩\mathbf{p}^{\prime} is a regular S-polynomial with 𝔰(𝐩)𝔰(𝐮)𝐓\mathfrak{s}(\mathbf{p}^{\prime})\preceq\mathfrak{s}(\mathbf{u})\prec\mathbf{T}, 𝐩\mathbf{p}^{\prime} is 𝔰\mathfrak{s}-reducible, and so kxa𝐩kx^{a}\mathbf{p}^{\prime} is 𝔰\mathfrak{s}-reducible. So there exists (τi)iJLM(𝐮¯)(\tau_{i})_{i\in J_{\mathrm{LM}(\overline{\mathbf{u}})}} terms in AA such that

LT(kxa𝐩¯)=iJLM(𝐮¯)τiLT(𝜶¯i),\mathrm{LT}(kx^{a}\overline{\mathbf{p}}^{\prime})=\sum_{i\in J_{\mathrm{LM}(\overline{\mathbf{u}})}}\tau_{i}\mathrm{LT}(\overline{\boldsymbol{\alpha}}_{i}), (5.9)

and τiLM(𝜶¯i)=LM(kxa𝐩¯)=LM(𝐮¯)\tau_{i}\mathrm{LM}(\overline{\boldsymbol{\alpha}}_{i})=\mathrm{LM}(kx^{a}\overline{\mathbf{p}}^{\prime})=\mathrm{LM}(\overline{\mathbf{u}}) for all ii such that τi0\tau_{i}\neq 0. So

LT(𝐮¯)=(LT(𝐮¯)LT(kxa𝐩¯))+LT(kxa𝐩¯)=iJLM(𝐮¯)(ti+τi)LT(𝜶¯i),\mathrm{LT}(\overline{\mathbf{u}})=\left(\mathrm{LT}(\overline{\mathbf{u}})-\mathrm{LT}(kx^{a}\overline{\mathbf{p}}^{\prime})\right)+\mathrm{LT}(kx^{a}\overline{\mathbf{p}}^{\prime})=\sum_{i\in J_{\mathrm{LM}(\overline{\mathbf{u}})}}(t_{i}+\tau_{i})\mathrm{LT}(\overline{\boldsymbol{\alpha}}_{i}), (5.10)

and 𝐮\mathbf{u} is 𝔰\mathfrak{s}-reducible which is a contradiction. ∎

5.3 Proof of termination

The usual proofs of termination of signature-based Gröbner basis algorithms (e.g. [22, Th. 11]) rely on the fact that all elements which are singular 𝔰\mathfrak{s}-reducible are discarded in the computations. Algorithm SigMöller only discards those which are 1-singular 𝔰\mathfrak{s}-reducible. For this reason, we adapt the proof of termination of Algorithm RB [10, Th. 20], which handles singular 𝔰\mathfrak{s}-reducible elements in a different way.

Theorem 5.6.

Algorithm SigMöller terminates.

Proof.

Let 𝒢=(𝜶1,,𝜶t,)\mathcal{G}=(\boldsymbol{\alpha}_{1},\dots,\boldsymbol{\alpha}_{t},\dots) be the sequence of basis elements computed by SigMöller. By construction, for all t1t\geq 1, 𝜶t¯\overline{\boldsymbol{\alpha}_{t}} is not 𝔰\mathfrak{s}-reducible by 𝒢t1:={𝜶1,,𝜶t1}\mathcal{G}_{t-1}:=\{\boldsymbol{\alpha}_{1},\dots,\boldsymbol{\alpha}_{t-1}\}, and all 𝐯Am\mathbf{v}\in A^{m} with 𝔰(𝐯)𝔰(𝜶t)\mathfrak{s}(\mathbf{v})\prec\mathfrak{s}(\boldsymbol{\alpha}_{t}) 𝔰\mathfrak{s}-reduce to zero w.r.t. 𝒢t1\mathcal{G}_{t-1}.

For i1i\geq 1, let M(i)=LM(𝜶¯i)M(i)=\mathrm{LM}(\overline{\boldsymbol{\alpha}}_{i}), T(i)=LT(𝜶¯i)T(i)=\mathrm{LT}(\overline{\boldsymbol{\alpha}}_{i}). We define the sig-lead ratio r(𝜶i)r(\boldsymbol{\alpha}_{i}) of 𝜶i\boldsymbol{\alpha}_{i} as 𝔰(𝜶i)M(i)\frac{\mathfrak{s}(\boldsymbol{\alpha}_{i})}{M(i)}. Those ratios are ordered naturally by smsmsmsm\frac{s}{m}\prec\frac{s^{\prime}}{m^{\prime}}\iff sm^{\prime}\prec s^{\prime}m.

We partition 𝒢\mathcal{G} into subsets 𝒢r={𝜶ir(𝜶i)r}\mathcal{G}_{r}=\{\boldsymbol{\alpha}_{i}\mid r(\boldsymbol{\alpha}_{i})\simeq r\}, where \simeq denotes equality up to a coefficient in RR. We prove that only finitely many 𝒢r\mathcal{G}_{r} are non-empty, and that they are all finite, hence 𝒢\mathcal{G} is finite.

First, we prove that only finitely many 𝒢r\mathcal{G}_{r} are non-empty. We do so by counting minimal basis elements, where 𝜶i\boldsymbol{\alpha}_{i} is minimal if and only if there is no 𝜶j𝒢\boldsymbol{\alpha}_{j}\in\mathcal{G} with 𝔰(𝜶j)𝔰(𝜶i)\mathfrak{s}(\boldsymbol{\alpha}_{j})\mid\mathfrak{s}(\boldsymbol{\alpha}_{i}) and T(j)T(i)T(j)\mid T(i). A non-minimal module element 𝜶i\boldsymbol{\alpha}_{i} is 𝔰\mathfrak{s}-reducible by {𝜶1,,𝜶i1}\{\boldsymbol{\alpha}_{1},\dots,\boldsymbol{\alpha}_{i-1}\} ([22, Lem. 12]), and since all basis elements are regular 𝔰\mathfrak{s}-reduced by construction, 𝜶i\boldsymbol{\alpha}_{i} is singular 𝔰\mathfrak{s}-reducible. In particular, there exists at least one 𝜶j\boldsymbol{\alpha}_{j}, j<ij<i and a monomial mm with 𝔰(m𝜶j)𝔰(𝜶i)\mathfrak{s}(m\boldsymbol{\alpha}_{j})\simeq\mathfrak{s}(\boldsymbol{\alpha}_{i}) and mM(j)=M(i)mM(j)=M(i), so 𝜶i\boldsymbol{\alpha}_{i} and 𝜶j\boldsymbol{\alpha}_{j} lie in the same subset 𝒢r\mathcal{G}_{r}. Hence there are at most as many non-empty 𝒢r\mathcal{G}_{r}’s as there are minimal basis elements. This is finitely many because AA and AmA^{m} are Noetherian.

Then we prove by induction on the finitely many non-empty sets 𝒢r\mathcal{G}_{r} that each 𝒢r\mathcal{G}_{r} is finite. Let rr be a sig-lead ratio, assume that for all r<rr^{\prime}<r, 𝒢r\mathcal{G}_{r^{\prime}} is finite. Let 𝜶t𝒢r\boldsymbol{\alpha}_{t}\in\mathcal{G}_{r}. If 𝜶t\boldsymbol{\alpha}_{t} is 𝐞i\mathbf{e}_{i} for some ii, then it only counts for one. Otherwise, let JJ be the regular saturated set, and 𝐩\mathbf{p} the corresponding S-polynomial, that SigMöller regular 𝔰\mathfrak{s}-reduced to obtain 𝜶t\boldsymbol{\alpha}_{t}. Then 𝐩=jJbjM(J)M(j)𝜶j\mathbf{p}=\sum_{j\in J}b_{j}\frac{M(J)}{M(j)}\boldsymbol{\alpha}_{j} for bjRb_{j}\in R, and there exists τJ\tau\in J such that for all jJ{τ}j\in J\setminus\{\tau\}, M(J)M(j)𝔰(𝜶j)M(J)M(τ)𝔰(𝜶τ)\frac{M(J)}{M(j)}\mathfrak{s}(\boldsymbol{\alpha}_{j})\prec\frac{M(J)}{M(\tau)}\mathfrak{s}(\boldsymbol{\alpha}_{\tau}). Also T(t)LT(M(J)M(τ)𝜶¯τ)T(t)\prec\mathrm{LT}(\frac{M(J)}{M(\tau)}\overline{\boldsymbol{\alpha}}_{\tau}) and 𝔰(𝜶t)=M(J)M(τ)𝔰(𝜶τ)\mathfrak{s}(\boldsymbol{\alpha}_{t})=\frac{M(J)}{M(\tau)}\mathfrak{s}(\boldsymbol{\alpha}_{\tau}). So r=𝔰(𝜶t)M(t)𝔰(𝜶τ)M(τ)𝔰(𝜶j)M(j)r=\frac{\mathfrak{s}(\boldsymbol{\alpha}_{t})}{M(t)}\succ\frac{\mathfrak{s}(\boldsymbol{\alpha}_{\tau})}{M(\tau)}\succ\frac{\mathfrak{s}(\boldsymbol{\alpha}_{j})}{M(j)} for jJ{τ}j\in J\setminus\{\tau\}. Hence all 𝜶j\boldsymbol{\alpha}_{j}, jJj\in J are in some 𝒢rj\mathcal{G}_{r_{j}} with rj<rr_{j}<r, so for computing elements of 𝒢r\mathcal{G}_{r}, the algorithm will consider at most as many saturated subsets as there are subsets of r<r𝒢r\bigcup_{r^{\prime}<r}\mathcal{G}_{r}, which is finite by induction. Furthermore, since RR is a PID and in particular Noetherian, with each saturated subset JJ, the algorithm only builds finitely many S-polynomials (actually, it only builds one). So overall, we find that 𝒢r\mathcal{G}_{r} is finite, which concludes the proof by induction. ∎

5.4 Eliminating S-polynomials

It is well known in the case of fields that additional criteria can be implemented to detect that a regular S-pair will lead to an element which 𝔰\mathfrak{s}-reduces to 0. In this section, we show how we can implement three such criteria, namely the syzygy criterion, the F5 criterion and the singular criterion.

5.4.1 Syzygy Criterion

Syzygy criteria rely on the fact that, if the signature of an S-polynomial can be written as a linear combination of signatures of syzygies, then this S-polynomial would be a syzygy itself. Signatures of syzygies can be identified in two ways:

  • the Koszul syzygy between basis elements 𝐩\mathbf{p} and 𝐪\mathbf{q} such that 𝔰(𝐩)=m𝐩𝐞i\mathfrak{s}(\mathbf{p})=m_{\mathbf{p}}\mathbf{e}_{i}, 𝔰(𝐪)=m𝐪𝐞j\mathfrak{s}(\mathbf{q})=m_{\mathbf{q}}\mathbf{e}_{j}, i<ji<j is 𝐩¯𝐪𝐪¯𝐩\overline{\mathbf{p}}\mathbf{q}-\overline{\mathbf{q}}\mathbf{p}, and it has signature LT(𝐩¯)𝔰(𝐪)\mathrm{LT}(\overline{\mathbf{p}})\mathfrak{s}(\mathbf{q});

  • if a regular S-polynomial 𝐩\mathbf{p} 𝔰\mathfrak{s}-reduces to 0, then 𝔰(𝐩)\mathfrak{s}(\mathbf{p}) and its multiples are signatures of syzygies; thus, the algorithm may maintain a set of generators of signatures of syzygies by adding to this set 𝔰(𝐩)\mathfrak{s}(\mathbf{p}) for each S-polynomial 𝐩\mathbf{p} 𝔰\mathfrak{s}-reducing to 0.

For regular sequences, all syzygies are Koszul syzygies.

Proposition 5.7 (Syzygy criterion).

Assume that 𝐓\mathbf{T} is a signature such that all module elements with signature less than 𝐓\mathbf{T} 𝔰\mathfrak{s}-reduce to 0. Let 𝐩Am\mathbf{p}\in A^{m} be such that there exist syzygies 𝐳1,,𝐳k\mathbf{z}_{1},\dots,\mathbf{z}_{k} and terms m1,,mkm_{1},\dots,m_{k} in AA with 𝔰(𝐩)=i=1kmi𝔰(𝐳i)\mathfrak{s}(\mathbf{p})=\sum_{i=1}^{k}m_{i}\mathfrak{s}(\mathbf{z}_{i}), and 𝔰(𝐩)𝐓\mathfrak{s}(\mathbf{p})\preceq\mathbf{T}. Then 𝐩\mathbf{p} regular 𝔰\mathfrak{s}-reduces to 0.

Proof.

Let 𝐫=𝐩i=1kmi𝐳i\mathbf{r}=\mathbf{p}-\sum_{i=1}^{k}m_{i}\mathbf{z}_{i}, then 𝔰(𝐫)𝔰(𝐩)𝐓\mathfrak{s}(\mathbf{r})\prec\mathfrak{s}(\mathbf{p})\preceq\mathbf{T} so 𝐫\mathbf{r} 𝔰\mathfrak{s}-reduces to 0. But 𝐫¯=𝐩¯i=1kmi𝐳¯i=𝐩¯\overline{\mathbf{r}}=\overline{\mathbf{p}}-\sum_{i=1}^{k}m_{i}\overline{\mathbf{z}}_{i}=\overline{\mathbf{p}}, so 𝐩\mathbf{p} also 𝔰\mathfrak{s}-reduces to 0 with reducers of signature at most 𝔰(𝐫)𝔰(𝐩)\mathfrak{s}(\mathbf{r})\prec\mathfrak{s}(\mathbf{p}). ∎

Koszul syzygies can be eliminated with the same technique, but it is more efficient to use the F5 criterion [22, Sec. 3.3].

Proposition 5.8 (F5 criterion, [11, 3]).

Let 𝐩Am\mathbf{p}\in A^{m} with signature μ𝐞i\mu\,\mathbf{e}_{i}, and let {𝛂1,,𝛂t}\{\boldsymbol{\alpha}_{1},\dots,\boldsymbol{\alpha}_{t}\} be a signature Gröbner basis of f1,,fi1\langle f_{1},\dots,f_{i-1}\rangle. Then 𝐩\mathbf{p} is a Koszul syzygy if and only if μ\mu is 𝔰\mathfrak{s}-reducible modulo {𝛂1,,𝛂t}\{\boldsymbol{\alpha}_{1},\dots,\boldsymbol{\alpha}_{t}\}.

Proof.

By definition, 𝐩\mathbf{p} is a Koszul syzygy if and only if mLT(f1,,fi1)m\in\mathrm{LT}(\langle f_{1},\dots,f_{i-1}\rangle), and the conclusion follows by definition of a weak Gröbner basis. ∎

5.4.2 Singular Criterion

The singular criterion states that the algorithm only needs to consider one S-polynomial with a given signature. So when computing a new S-polynomial, if there already exists a 𝔰\mathfrak{s}-reduced module element with the same signature, we may discard the current S-polynomial without performing any 𝔰\mathfrak{s}-reduction.

Proposition 5.9 (Singular criterion).

Let 𝒢={𝛂1,,𝛂s}\mathcal{G}=\{\boldsymbol{\alpha}_{1},\dots,\boldsymbol{\alpha}_{s}\} be a signature Gröbner basis up to signature 𝐓\mathbf{T}. Let 𝐩Am\mathbf{p}\in A^{m} be such that there exists 𝛂i𝒢\boldsymbol{\alpha}_{i}\in\mathcal{G} with 𝔰(𝛂i)=𝔰(𝐩)\mathfrak{s}(\boldsymbol{\alpha}_{i})=\mathfrak{s}(\mathbf{p}) and 𝔰(𝐩)=𝔰(𝐓)\mathfrak{s}(\mathbf{p})=\mathfrak{s}(\mathbf{T}). Then 𝐩\mathbf{p} 𝔰\mathfrak{s}-reduces to 0.

Proof.

Let 𝐩\mathbf{p}^{\prime} be the result of regular 𝔰\mathfrak{s}-reducing 𝐩\mathbf{p} w.r.t. 𝒢\mathcal{G}. By construction, the basis element 𝜶i\boldsymbol{\alpha}_{i} is regular 𝔰\mathfrak{s}-reduced w.r.t. 𝒢\mathcal{G}. So by Lem. 5.3, LM(𝐩¯)=LM(𝜶¯i)\mathrm{LM}(\overline{\mathbf{p}}^{\prime})=\mathrm{LM}(\overline{\boldsymbol{\alpha}}_{i}), and applying Lem. 4.5, with k=1k=1 and xa=1x^{a}=1, shows that 𝐩\mathbf{p}^{\prime} is 11-singular 𝔰\mathfrak{s}-reducible. The result of that 𝔰\mathfrak{s}-reduction has signature 𝔰(𝐩)=𝐓\prec\mathfrak{s}(\mathbf{p})=\mathbf{T}, so it 𝔰\mathfrak{s}-reduces to 0. ∎

6 Experimental results and future work

We have written a toy implementation of Algo. SigMöller 111https://github.com/ThibautVerron/SignatureMoller, with the F5 and Singular criteria. We provide functions LinDecomp and SatIdeal for Euclidean rings, fields and multivariate polynomial rings.

Since our focus is on the feasibility of signature-compatible computations and not their efficiency, we give data about the number of considered S-polynomials, saturated sets and reductions to 0, when computing Gröbner bases over \mathbb{Z} for the polynomial systems Katsura-2 (Table 1) and Katsura-3 (Table 2). The statistics are compared with a run of Möller’s strong algorithm [19]. Even though the proposed algorithm, adapted from Möller’s weak algorithm, considers more saturated sets than Möller’s strong algorithm, thanks to the signatures, it ends up computing and reducing significantly less S-polynomials, and no reductions to zero appear.

Running Algo. SigMöller on larger examples would require optimizations, but it appears that the most expensive step is the generation of the saturated sets, which takes time exponential in the size of the current basis. This step may be accelerated in different ways. First, it is known that in the case of PIDs, the reductions of Möller’s algorithm can be recovered from those of Möller’s strong algorithm [1, Sec. 4.4], which may allow to run the algorithms considering only pairs instead of arbitrary tuples of polynomials. Additionally, Gebauer and Möller’s criteria for fields can be used to make Möller’s strong algorithm over PIDs more efficient [19]. We will investigate whether it is possible to prove that these algorithms are compatible with signatures in the future. Finally, future research will be focused on further signature-based criteria, such as the cover criterion described in [14] and the more general rewriting criteria.

The algorithm accepts as input polynomials over any ring, provided that the necessary routines are defined. In particular, our implementation can run the algorithms on polynomials on the base ring 𝕂[y1,,yk]\mathbb{K}[y_{1},\dots,y_{k}]. On small examples in this setting, it appears that the algorithm terminates and returns a correct output. Understanding the behavior of SigMöller over UFDs or even more general rings will also be the focus of future research.

Table 1: Computation of a grevlex GB of the Katsura-2 system in [X1,X2,X3]\mathbb{Z}[X_{1},X_{2},X_{3}]
Algorithm Pairs / sat. sets S-polynomials Reductions to 0
Möller strong 78 20 7
SigMöller (with criteria) 170 13 0
Table 2: Computation of a grevlex GB of the Katsura-3 system in [X1,X2,X3,X4]\mathbb{Z}[X_{1},X_{2},X_{3},X_{4}]
Algorithm Pairs / sat. sets S-polynomials Reductions to 0
Möller strong 861 246 159
SigMöller (with criteria) 2227 51 0

References

  • [1] W. Adams and P. Loustaunau. An Introduction to Gröbner Bases. American Mathematical Society, 7 1994.
  • [2] A. Arri and J. Perry. The F5 Criterion Revised. Journal of Symbolic Computation, 46(9):1017–1029, 2011.
  • [3] M. Bardet, J.-C. Faugère, and B. Salvy. On the Complexity of the F5F_{5} Gröbner Basis Algorithm. J. Symbolic Comput., 70:49–70, 2015.
  • [4] W. Bosma, J. Cannon, and C. Playoust. The Magma algebra system. I. The user language. J. Symbolic Comput., 24(3-4):235–265, 1997. Computational algebra and number theory (London, 1993).
  • [5] B. Buchberger. Ein Algorithmus zum Auffinden der Basiselemente des Restklassenringes nach einem nulldimensionalen Polynomideal. PhD thesis, University of Innsbruck, Austria, 1965.
  • [6] C. Eder and J.-C. Faugère. A Survey on Signature-based Algorithms for Computing Gröbner Bases. Journal of Symbolic Computation, 80:719–784, 2017.
  • [7] C. Eder and J. Perry. F5C: a Variant of Faugere’s F5 Algorithm with Reduced Gröbner Bases. Journal of Symbolic Computation, 45(12):1442–1458, 2010.
  • [8] C. Eder and J. Perry. Signature-based Algorithms to Compute Gröbner Bases. In Proceedings of the 36th international symposium on Symbolic and algebraic computation, pages 99–106. ACM, 2011.
  • [9] C. Eder, G. Pfister, and A. Popescu. On Signature-Based Gröbner Bases over Euclidean Rings. In Proceedings of the 2017 ACM on International Symposium on Symbolic and Algebraic Computation, ISSAC ’17, pages 141–148, New York, NY, USA, 2017. ACM.
  • [10] C. Eder and B. H. Roune. Signature Rewriting in Gröbner Basis Computation. In Proceedings of the 38th International Symposium on Symbolic and Algebraic Computation, pages 331–338. ACM, 2013.
  • [11] J.-C. Faugère. A New Efficient Algorithm for Computing Gröbner Bases without Reduction to Zero (F5). In Proceedings of the 2002 International Symposium on Symbolic and Algebraic Computation, ISSAC ’02, pages 75–83, New York, NY, USA, 2002. ACM.
  • [12] M. Francis and A. Dukkipati. On Ideal Lattices, Gröbner Bases and Generalized Hash Functions. Journal of Algebra and Its Applications, 2017.
  • [13] S. Gao, Y. Guan, and F. Volny IV. A New Incremental Algorithm for Computing Gröbner bases. In Proceedings of the 2010 International Symposium on Symbolic and Algebraic Computation, ISSAC ’10, pages 13–19. ACM, 2010.
  • [14] S. Gao, F. Volny IV, and M. Wang. A New Framework for Computing Gröbner Bases. Mathematics of Computation, 85(297):449–465, 2016.
  • [15] R. Gebauer and H. M. Möller. On an Installation of Buchberger’s Algorithm. Journal of Symbolic Computation, 6(2-3):275–286, 1988.
  • [16] A. Kandri-Rody and D. Kapur. Computing a Gröbner Basis of a Polynomial Ideal over a Euclidean Domain. J. Symbolic Comput., 6(1):37–57, 1988.
  • [17] D. Lichtblau. Effective Computation of Strong Gröbner Bases over Euclidean Domains. Illinois J. Math., 56(1):177–194 (2013), 2012.
  • [18] D. Lichtblau. Applications of Strong Gröbner Bases over Euclidean Domains. Int. J. Algebra, 7(5-8):369–390, 2013.
  • [19] H. M. Möller. On the Construction of Gröbner Bases using Syzygies. Journal of Symbolic Computation, 6(2-3):345–359, 1988.
  • [20] H. M. Möller, T. Mora, and C. Traverso. Gröbner bases computation using syzygies. In Papers from the International Symposium on Symbolic and Algebraic Computation, ISSAC ’92, pages 320–328, New York, NY, USA, 1992. ACM.
  • [21] K. Nabeshima. Reduced Gröbner Bases in Polynomial Rings over a Polynomial Ring. Mathematics in Computer Science, 2(4):587–599, 2009.
  • [22] B. H. Roune and M. Stillman. Practical Gröbner Basis Computation. In Proceedings of the 37th International Symposium on Symbolic and Algebraic Computation, pages 203–210. ACM, 2012.
  • [23] G. Zacharias. Generalized Gröbner Bases in Commutative Polynomial Rings. Master’s thesis, MIT,Cambridge,MA, 1978.

Acknowledgments

The authors thank C. Eder and anonymous referees for helpful suggestions, M. Ceria and T. Mora for a fruitful discussion on the syzygy paradigm for Gröbner basis algorithms, and M. Kauers for his valuable insights and comments all through the elaboration of this work.

\enddoc@text

Appendix A Example run of Algorithm SigMöller (Algo. 3)

As an illustration, consider the ring A=[x,y]A=\mathbb{Z}[x,y] with the lexicographical ordering with x>yx>y, and the ideal generated by f1=3xy+x+y2f_{1}=3xy+x+y^{2} and f2=x2f_{2}=x^{2}.

The algorithm maintains a signature Gröbner basis GG and a queue of saturated pairs 𝒫\mathcal{P}. Both are finite ordered sequences (lists), which we denote with square brackets, e.g. G=[𝐠1,𝐠2,,𝐠t]G=[\mathbf{g}_{1},\mathbf{g}_{2},\dots,\mathbf{g}_{t}]. The elements of GG are pairs (polynomial,signature)(\text{polynomial},\text{signature}), for which we use the notations 𝐠i=(gi,𝔰(𝐠i))\mathbf{g}_{i}=(g_{i},\mathfrak{s}(\mathbf{g}_{i})). To simplify the notations, given a basis G=[𝐠1,,𝐠t]G=[\mathbf{g}_{1},\dots,\mathbf{g}_{t}], mm a monomial of AA and kk\in\mathbb{N}, we use the notation

Jm(k)=Sat(m;LM(g1),,LM(gk))={i:i{1..k}:LM(gi)m}J_{m}^{(k)}=\mathrm{Sat}(m;\mathrm{LM}(g_{1}),\dots,\mathrm{LM}(g_{k}))=\left\{i:i\in\{1..k\}:\mathrm{LM}(g_{i})\mid m\right\} (A.1)

for the saturated sets.

In a saturated set, we will use the notation to denote those indices which contribute the maximal signature. For example, in the saturated set J={1,2,4,5,8}J=\{1,2,4^{\ast},5,8^{\ast}\}, we would have

SJM(J)LM(g4)𝔰(𝐠4)M(J)LM(g8)𝔰(𝐠8)\succneqM(J)LM(gi)𝔰(𝐠i) for i{1,2,5}.S_{J}\simeq\frac{M(J)}{\mathrm{LM}(g_{4})}\mathfrak{s}(\mathbf{g}_{4})\simeq\frac{M(J)}{\mathrm{LM}(g_{8})}\mathfrak{s}(\mathbf{g}_{8})\succneq\frac{M(J)}{\mathrm{LM}(g_{i})}\mathfrak{s}(\mathbf{g}_{i})\text{ for $i\in\{1,2,5\}$}. (A.2)

If only one index is marked with a star, the saturated set is regular and that index is the signature index.

The algorithm starts with an empty basis G=[]G=[] and an empty queue of regular saturated sets 𝒫=[]\mathcal{P}=[]. We first add f1f_{1} with signature 𝐞1\mathbf{e}_{1} to GG, that is, we add the element 𝐠1=(3xy+x+y2,𝐞1)\mathbf{g}_{1}=(3xy+x+y^{2},\mathbf{e}_{1}) to GG.

We observe that no saturated sets can be formed, so G1=[𝐠1]G_{1}=[\mathbf{g}_{1}] is a weak signature Gröbner basis of f1\langle f_{1}\rangle.

We then introduce f2f_{2}, with signature 𝐞2\mathbf{e}_{2}. It cannot be reduced modulo GG, so we add to the basis the element 𝐠2=(x2,𝐞2)\mathbf{g}_{2}=(x^{2},\mathbf{e}_{2}).

To form regular saturated sets, we consider all possible least common multiples of leading monomials of gig_{i} involving g2g_{2}. Here, the set of leading monomials is {xy,x2}\{xy,x^{2}\}, and the only non-trivial LCM that we can form is x2yx^{2}y. For each least common multiple mm, the set

J=Jm(2)=Sat(m;LM(g1),LM(g2))={i{1,2}:LM(gi) divides m}J=J_{m}^{(2)}=\mathrm{Sat}(m;\mathrm{LM}(g_{1}),\mathrm{LM}(g_{2}))=\{i\in\{1,2\}:\mathrm{LM}(g_{i})\text{ divides }m\} (A.3)

is a saturated set, with M(J)=mM(J)=m. Here, for m=x2ym=x^{2}y, we get J1=Jx2y(2)={1,2}J_{1}=J_{x^{2}y}^{(2)}=\{1,2^{\ast}\}.

We have M(J1)=x2y=xLM(g1)=yLM(g2)M(J_{1})=x^{2}y=x\mathrm{LM}(g_{1})=y\mathrm{LM}(g_{2}). We multiply the corresponding signatures and we compare: here, x𝔰(𝐠1)=x𝐞1\precneqy𝔰(𝐠2)=y𝐞2x\mathfrak{s}(\mathbf{g}_{1})=x\mathbf{e}_{1}\precneq y\mathfrak{s}(\mathbf{g}_{2})=y\mathbf{e}_{2}, so the presignature of J1J_{1} is SJ1=y𝐞2S_{J_{1}}=y\mathbf{e}_{2}, and it is regular with signature index 22.

We now compute a S-polynomial associated to J1J_{1}, namely h3=3yg2xg1=x2xy2h_{3}=3yg_{2}-xg_{1}=-x^{2}-xy^{2} with signature 𝔰(𝐡3)=3y𝔰(𝐠2)=3y𝐞2\mathfrak{s}(\mathbf{h}_{3})=3y\mathfrak{s}(\mathbf{g}_{2})=3y\mathbf{e}_{2}. Since LM(h3)=LM(g2)\mathrm{LM}(h_{3})=-\mathrm{LM}(g_{2}) and 𝔰(𝐡3)\succneq𝔰(𝐠2)\mathfrak{s}(\mathbf{h}_{3})\succneq\mathfrak{s}(\mathbf{g}_{2}), h3h_{3} is regular 𝔰\mathfrak{s}-reducible modulo GG, and the result is g3=xy2g_{3}=-xy^{2}. It still has signature 3y𝐞23y\mathbf{e}_{2}, because we only performed a regular 𝔰\mathfrak{s}-reduction. We add to GG the element 𝐠3=(xy2,3y𝐞2)\mathbf{g}_{3}=(-xy^{2},3y\mathbf{e}_{2}).

The next few steps are identical, so we give a fast-forward version:

  1. 4.

    Regular saturated set J2=Jxy2(3)={1,3}J_{2}=J_{xy^{2}}^{(3)}=\{1,3^{\ast}\} with M(J2)=xy2M(J_{2})=xy^{2} and SJ2=y𝐞2S_{J_{2}}=y\mathbf{e}_{2}
    \rightarrow 𝐠4=(xy+y3,9y𝐞2)\mathbf{g}_{4}=(xy+y^{3},9y\mathbf{e}_{2});

  2. 5.

    Regular saturated set J3=Jxy(4)={1,4}J_{3}=J_{xy}^{(4)}=\{1,4^{\ast}\} with M(J3)=xyM(J_{3})=xy and SJ3=y𝐞2S_{J_{3}}=y\mathbf{e}_{2}
    \rightarrow 𝐠5=(x+3y3y2,27y𝐞2)\mathbf{g}_{5}=(-x+3y^{3}-y^{2},27y\mathbf{e}_{2});

  3. 6.

    Regular saturated set J4=Jxy(5)={1,4,5}J_{4}=J_{xy}^{(5)}=\{1,4,5^{\ast}\} with M(J4)=xyM(J_{4})=xy and SJ4=y2𝐞2S_{J_{4}}=y^{2}\mathbf{e}_{2}
    \rightarrow 𝐠6=(3y4,27y2𝐞2)\mathbf{g}_{6}=(3y^{4},27y^{2}\mathbf{e}_{2});

  4. 7.

    Regular saturated set J5=Jxy2(4)={1,3,4}J_{5}=J_{xy^{2}}^{(4)}=\{1,3,4^{\ast}\} with M(J5)=xy2M(J_{5})=xy^{2} and SJ5=y2𝐞2S_{J_{5}}=y^{2}\mathbf{e}_{2}
    \rightarrow 𝐠7=(y4,9y2𝐞2)\mathbf{g}_{7}=(y^{4},9y^{2}\mathbf{e}_{2}).

Both J3J_{3} and J5J_{5} were added to 𝒫\mathcal{P} after Step 4 (construction of 𝐠4\mathbf{g}_{4}). But at Step 5, since SJ3\precneqSJ5S_{J_{3}}\precneq S_{J_{5}}, we have to consider J3J_{3} first, and keep J5J_{5} for later. After Step 5, 𝒫\mathcal{P} contains both J4J_{4} and J5J_{5}, whose presignatures are incomparable: SJ4SJ5S_{J_{4}}\simeq S_{J_{5}}. So we could have considered J5J_{5} before J4J_{4}, the result would still have been correct.

After introducing 𝐠7\mathbf{g}_{7}, the basis GG has 77 elements:

G=[(3xy+,𝐞1),(x2,𝐞2),(xy2,3y𝐞2),(xy+,9y𝐞2),(x+,27y𝐞2),(3y4,27y2𝐞2),(y4,9y2𝐞2)].G=[(3xy+\dots,\mathbf{e}_{1}),(x^{2},\mathbf{e}_{2}),(-xy^{2},3y\mathbf{e}_{2}),(xy+\dots,9y\mathbf{e}_{2}),\\ (-x+\dots,27y\mathbf{e}_{2}),(3y^{4},27y^{2}\mathbf{e}_{2}),(y^{4},9y^{2}\mathbf{e}_{2})]. (A.4)

The queue 𝒫\mathcal{P} is not empty at this point, but before continuing, we need to form regular saturated sets using the latest addition 𝐠7\mathbf{g}_{7}.

We go through the same process as before to form saturated sets:

  1. 1.

    List all possible least common multiples of leading monomials involving LM(g7)\mathrm{LM}(g_{7}): those are y4,xy4,x2y4y^{4},xy^{4},x^{2}y^{4}.

  2. 2.

    For each of them, compute the corresponding saturated set:

    • y4y^{4} gives Jy4(7)={6,7}J_{y^{4}}^{(7)}=\{6^{\ast},7^{\ast}\} with presignature y2𝐞2y^{2}\mathbf{e}_{2};

    • xy4xy^{4} gives Jxy4(7)={1,3,4,5,6,7}J_{xy^{4}}^{(7)}=\{1,3,4,5,6^{\ast},7^{\ast}\}, with presignature xy2𝐞2xy^{2}\mathbf{e}_{2};

    • x2y4x^{2}y^{4} gives Jx2y4(7)={1,2,3,4,5,6,7}J_{x^{2}y^{4}}^{(7)}=\{1,2,3,4,5,6^{\ast},7^{\ast}\} with presignature x2y2𝐞2x^{2}y^{2}\mathbf{e}_{2}.

None of those 3 saturated sets is regular: there is always a signature collision between 𝐠6\mathbf{g}_{6} and 𝐠7\mathbf{g}_{7}. For example, with Jx4(7)J_{x^{4}}^{(7)}, 𝔰(𝐠6)𝔰(𝐠7)y2𝐞2\mathfrak{s}(\mathbf{g}_{6})\simeq\mathfrak{s}(\mathbf{g}_{7})\simeq y^{2}\mathbf{e}_{2}.

So we need to make them regular, which is done by forming new sets with just one of the colliding signatures. From Jy4(7)J_{y^{4}}^{(7)}, we could form {6}\{6^{\ast}\} and {7}\{7^{\ast}\}, which are trivial.

From Jxy4(7)J_{xy^{4}}^{(7)}, we can form the regular saturated sets {1,3,4,5,6}\{1,3,4,5,6^{\ast}\} and {1,3,4,5,7}\{1,3,4,5,7^{\ast}\}. Since the set {1,3,4,5,6}\{1,3,4,5,6^{\ast}\} does not contain 77, it is already in 𝒫\mathcal{P}. And we add the new regular saturated set {1,3,4,5,7}\{1,3,4,5,7^{\ast}\} to 𝒫\mathcal{P}.

Similarly, from Jx2y4(7)J_{x^{2}y^{4}}^{(7)}, we find the new regular saturated set {1,2,3,4,5,7}\{1,2,3,4,5,7^{\ast}\} to add to 𝒫\mathcal{P}.

Then we continue with the regular saturated set J6={1,3,4,5}J_{6}=\{1,3,4,5^{\ast}\} with M(J2)=x2yM(J_{2})=x^{2}y and S(J2)=27y3𝐞2S(J_{2})=27y^{3}\mathbf{e}_{2}. It gives rise to h8=3y5+y4h_{8}=3y^{5}+y^{4} with signature 𝔰(𝐡8)=27y3𝐞2\mathfrak{s}(\mathbf{h}_{8})=27y^{3}\mathbf{e}_{2}.

Since LM(h8)=yLM(g6)\mathrm{LM}(h_{8})=y\mathrm{LM}(g_{6}) and 𝔰(𝐡8)=y𝔰(𝐠6)\mathfrak{s}(\mathbf{h}_{8})=y\mathfrak{s}(\mathbf{g}_{6}), we know that h8h_{8} is 11-singular reducible modulo GG and can be discarded. Note that we only needed to compare the leading monomials (without coefficients) of h8h_{8} and g6g_{6}, and not verify whether there is an actual linear combination eliminating that term.

Remark A.1.

If we had considered J5J_{5} before J4J_{4} at Step 6, 𝐠7\mathbf{g}_{7} would have been built before 𝐠6\mathbf{g}_{6}, and 𝐠6\mathbf{g}_{6} would have been discarded for being 1-singular reducible modulo 𝐠7\mathbf{g}_{7}. In that case, the non-regular saturated sets Jy4(7)J_{y^{4}}^{(7)}, Jxy4(7)J_{xy^{4}}^{(7)} and Jx2y4(7)J_{x^{2}y^{4}}^{(7)} would never have been considered.

The remainder of the run proceeds differently, depending on whether the F5 criterion (Prop. 5.8) is implemented. If it is not, the remaining regular saturated sets all give rise to polynomials regular 𝔰\mathfrak{s}-reducing to 0, and the algorithm terminates, returning the 77-elements basis written above.

On the other hand, if the F5 criterion is implemented, those reductions to zero are excluded. Let us illustrate it with the next saturated set in the queue: J7={2,5}J_{7}=\{2,5^{\ast}\}, with signature 27xy𝐞227xy\mathbf{e}_{2}. We need to test whether 27xy27xy lies in the ideal of leading terms of f1\langle f_{1}\rangle, which is equivalent to testing whether 27xy27xy is reducible modulo the already computed basis G1={(3xy2+x+y2,𝐞1)}G_{1}=\{(3xy^{2}+x+y^{2},\mathbf{e}_{1})\}. Since it is indeed reducible, this regular saturated set indeed satisfies the F5 criterion, and can be discarded without further calculation. The criterion eliminates all subsequent regular saturated sets in the same way.