1. Introduction
As a basic task in computer algebra, polynomial system solving plays an important role in many practical problems that can be described through polynomial systems, which can be divided into zero-dimensional and positive-dimensional ideals. Dealing with problems on a positive-dimensional ideal,
, such as computing a primary decomposition of
I [
1] and Noetherian operators of
I [
2], requires computing a maximal independent set modulo
I. Weispfenning presented an algorithm for computing a maximal independent set in 1993 ([
3], p. 449), which needs to compute all strongly independent sets from a Gröbner basis of
I. Zhang proposed a method for deciding whether an indeterminate set is a maximal independent set by computing a quasi-Gröbner basis of
I in 1995 [
4]. In 2023, Yang and Tan presented a method to compute maximal independent sets [
5], and the complexity is reduced since the method turns a multivariate problem into a single-variable problem.
Gröbner bases of polynomial ideals, first proposed by Buchberger in 1965 [
6], are one of the fundamental algorithmic tools for solving polynomial systems and essential in a lot of computational tasks in polynomial algebra and algebraic geometry. Given the positive-dimensional ideal
I, with a maximal independent set
modulo
I, known, a Gröbner basis of
, where
is the extension (the ideal generated by the polynomial set
in
, where
F generates
I in k[X]) of
I to
, is usually necessary for subsequent calculations [
7,
8]. According to [
4], a Gröbner basis of
I with respect to a block monomial order,
, is a Gröbner basis of
. So it is equivalent to computing a Gröbner basis,
G, of
I with respect to
.
As far as we know, the maximal independent set and the Gröbner basis are generally computed separately. For example, to obtain Rational Representation Sets of the variety of
I, Tan [
9] computes
U using Zhang’s method [
4] while Shang [
10] and Xiao [
11] use Weispfenning’s method. After
U is computed, they determine
without clear rules and compute a Gröbner basis,
G, of
I with respect to
. In this case, the connection between the calculations of
U and
G is not considered, which leads to a waste of intermediate calculations. Thus we present an algorithm for computing a maximal independent set
U modulo
I, and a Gröbner basis,
G, of
I with respect to some block monomial order,
, simultaneously, i.e.,
U,
, and
G are simultaneously obtained. We compare our algorithm with two widely used methods which compute
U and
G separately. (1) Compute
U, determine
artificially, and directly compute a Gröbner basis of
I with respect to
. This is referred to as the direct method. (2) Compute
U from a Gröbner basis of
I using Weispfenning’s algorithm, determine
artificially, and convert the Gröbner basis already computed for obtaining
U to a Gröbner basis with respect to
using the Gröbner Walk [
12]. This is referred to as the W-W method. Experiments show advantages of our algorithm compared with the direct and W-W methods.
This paper is arranged as follows. In
Section 2, we introduce relative notations, definitions, and conclusions. In
Section 3, we describe the algorithms in detail. Experimental results are listed in
Section 4.
2. Preliminaries
In this paper, k denotes a field of the characteristic 0, is an indeterminate set, is the polynomial ring over k in X, and denotes the set of all monomials in X. and denote the pure lexicographic and the graded reverse lexicographic monomial orders on with , respectively. Let be an ideal, be a polynomial set, and ≺ be a monomial order on . Then and denote the sets of leading monomials of all polynomials in I and F with respect to ≺, respectively. For , is the polynomial ring over k in U, denotes the rational function field over k in U, and denotes the set of all monomials in U. Suppose that . Then denotes the polynomial ring over in V, and denotes the extension of I to . Given and , and denote F and f as a polynomial set of and a polynomial in , respectively.
Moreover, the cardinality of a set S is written as , and the i-th element of a list or an ordered set, L, is denoted by . is the non-negative integer set, is the positive integer set, and is the non-negative real number set. We denote , the vector of which the i-th element is 1 and the others are 0.
Definition 1 ([
3]).
Let be a proper ideal. is called independent modulo I, ifOtherwise, U is called
dependent
modulo I. Moreover, U is called
maximal
whenever it is maximal with respect to the inclusion of sets. Definition 2 ([
3]).
Let be a proper ideal and ≺ be a monomial order on . is called strongly independent modulo I, with respect to ≺ ifMoreover, U is called
maximal
whenever it is maximal with respect to the inclusion of sets. Proposition 1 ([
3]).
Let be a proper ideal, ≺ be a monomial order on , and be a Gröbner basis of I with respect to ≺. Then is strongly independent modulo I, with respect to ≺ if Definition 3 ([
3]).
Let and . Let and be monomial orders on and , respectively. Any monomial can be written uniquely as , where , . Then a block monomial order on with (for arbitrary and , ), denoted by , is defined by if and are called
the restrictions
of to and , respectively. Particularly, we denote the block monomial order of which and . Given a positive-dimensional ideal
I, according to [
13], a strongly independent set modulo
I, is independent modulo
I. However, a maximal strongly independent set modulo
I, is not always maximally independent modulo
I. For example, let
and
. Then
is a Gröbner basis of
I with respect to ≺. Since
,
is a maximal strongly independent set modulo
I, with respect to ≺. By a simple calculation, we have that
is independent modulo
I; thus
is not maximally independent modulo
I. Fortunately, the situation differs for block monomial orders.
Lemma 1. Let be a positive-dimensional ideal, , and and be a block monomial order on . If U is a maximal strongly independent set modulo I, with respect to , then U is maximally independent modulo I.
Proof. Suppose
,
, where
, and
G is a Gröbner basis of
I with respect to
. Since
U is maximally strongly independent modulo
I, with respect to
, by Definition 2,
U is strongly independent modulo
I, with respect to
, and
is not strongly independent modulo
I, with respect to
,
. So according to Proposition 1, we have
and
for
. These two facts imply that
G contains polynomials of the form
where
,
, and
is the leading coefficient of
with respect to
,
, and
. Let
be the restriction of
to
. According to Lemma 8.93 from [
3],
is a Gröbner basis of
with respect to
. Denote
as a non-leading monomial of
with respect to
, written as
, where
,
for
. According to Definition 3,
. So
. Let
. Then
. By the Finiteness Theorem ([
14], p. 39),
is zero-dimensional. According to Proposition 1.2.8 from [
4],
U is maximally independent modulo
I. □
According to Lemma 1, if U is a maximal strongly independent set modulo I, with respect to a block monomial order, , then U is a maximal independent set modulo I. Moreover, by Proposition 1, it is sufficient to compute a Gröbner basis of I with respect to . However, after the Gröbner basis is computed, the fact is that U is usually not a maximal strongly independent set modulo I, with respect to . To resolve this issue, i.e., to ensure that and for each , where G is the Gröbner basis computed, it must be held that and for each , where F is a polynomial set (not a Gröbner basis) during the Gröbner basis computation. Therefore, we need the concept of a maximal strongly quasi-independent set modulo a polynomial set.
Definition 4. Let be a polynomial set and ≺ be a monomial order on . is called
strongly quasi-independent
modulo F, with respect to ≺ ifMoreover, U is called
maximal
whenever it is maximal with respect to the inclusion of sets. For simplicity, a (maximal) strongly quasi-independent set is written as an (M)SQIS. Particularly, (M)SQISs, U, with respect to ≺ have certain properties if ≺ is a block monomial order “with ”. Firstly, let us discuss such SQISs through Propositions 2 and 3.
Proposition 2. Let be a polynomial set, , , and be a block monomial order on . Then U is an SQIS modulo F, with respect to , i.e., , if .
Proof. Necessity: Since , for each , we have . So , and .
Sufficiency: Aiming for a contradiction, suppose that . Then there exists , such that . Thus, by Definition 3, for each non-leading monomial, t, of f with respect to , written as , where , , we have , i.e., . So , and . This contradiction shows that . □
Proposition 3. Let be a polynomial set, , , and be a block monomial order on . If U is an SQIS modulo F, with respect to , then for each block monomial order, , with , U is also an SQIS modulo F, with respect to .
Proof. Since U is an SQIS modulo F, with respect to , by Definition 4, we have . According to Proposition 2, , and moreover, . So U is an SQIS modulo F, with respect to . □
Secondly, we discuss such MSQISs in the rest of this section. The following Theorem 1 reveals the relation between an MSQIS U modulo F, with respect to a block monomial order, , and the dependent set modulo the ideal I, where .
Theorem 1. Let be a positive-dimensional ideal and be a polynomial set. Let , and be a block monomial order on . If U is an MSQIS modulo F, with respect to , then for any , is a dependent modulo I.
Proof. On one hand, if U is a dependent modulo I, by Definition 1, . Since , . So is a dependent modulo I.
On the other hand, if U is independent modulo I, , i.e., for each , . According to Proposition 2, . Thus , and U is strongly independent modulo I, with respect to . Since U is an MSQIS modulo F, with respect to , we have . Then since , and this means U is maximally strongly independent modulo I, with respect to . By Lemma 1, U is maximally independent modulo I, and is a dependent modulo I, since . □
Definition 5 and Proposition 4 provide a way to compute an MSQIS.
Definition 5. Let be a polynomial set. The label
of on F is defined asMoreover, the label list is written as . Remark 1. We propose a new kind of indeterminate order on : if for . Throughout this paper, as long as F is updated, will be modified, and the indeterminates of X will be reordered in descending order. Experiments show that such indeterminate order can improve the efficiency of the main algorithm (Algorithm 1).
Algorithm 1 (ComputeUandG) |
Input:
a positive-dimensional ideal Output:
U a maximal independent set modulo I G the reduced Gröbner basis of I w.r.t. Line 1:
, and . Line 2: , and . Line 3: while
do Line 4: , and . Line 5:
if
then Line 6:
. Line 7:
if
then Line 8:
, , and turn back to Line 2. Line 9:
else Line 10:
, and . Line 11: return
U, G.
|
Proposition 4. Let be a polynomial set, , and . If and for any , then for each block monomial order on with , U is an MSQIS modulo F, with respect to .
Proof. Since , for each , there exists , such that . So according to Definition 5, i.e., . According to Proposition 2, . Thus U is an SQIS modulo F, with respect to . Moreover, let for each . Then . Since , there exists , such that for each . So and . Thus, by Proposition 2, , and U is an MSQIS modulo F, with respect to . □
Proposition 5 ensures the construction of the main algorithm (Algorithm 1).
Proposition 5. Let be polynomial sets with and . Let , and be a block monomial order on . Suppose U is an SQIS modulo , with respect to . Then
(1) U is not an SQIS modulo , with respect to iff , which is called the altering condition.
(2) If the altering condition is true, then for any block monomial order, , U is not an MSQIS modulo , with respect to .
Proof. (1)
Necessity: Since U is an SQIS modulo , with respect to but not an SQIS modulo , with respect to , by Definition 4, and . Since , we have . According to Proposition 2, .
Sufficiency: Since , we have by Proposition 2, and since . Thus U is not an SQIS modulo , with respect to .
(2) Since the altering condition holds, U is not an SQIS modulo , with respect to from (1). By Proposition 3, U is not an SQIS modulo , with respect to . So according to Definition 4, U is certainly not an MSQIS modulo , with respect to . □
3. The Idea and Algorithms
In this section, we present an algorithm for computing a maximal independent set U modulo a positive-dimensional ideal, , and a Gröbner basis of I with respect to a block monomial order, , simultaneously.
3.1. The Idea
Let us describe the procedure of the algorithm briefly.
Step 1: Compute , such that there exists a block monomial order, , with respect to which U is an MSQIS modulo F. Then,
- (a)
By Definition 4 and Proposition 3, U is an SQIS modulo F, with respect to ;
- (b)
By Theorem 1, any is a dependent modulo I;
Step 2: Execute the Buchberger operations on F with respect to . Let be the critical pair (the critical pair of two polynomials, f and g, is an element of ) set of F. Then select a prior subset, , of S with a certain strategy and compute the normal form set H of the S-polynomials of all modulo F, with respect to .
Step 3: Let and check whether the altering condition is true. If it is not true, then go to Step 2 and continue to execute the Buchberger operations on with respect to . Otherwise, compute , such that there exists a block monomial order, , with respect to which is an MSQIS modulo . In this case, (a) and (b) hold for , , and . Then go to Step 2 and switch to execute the Buchberger operations on F with respect to . U and are called the “old” and the “new” MSQISs, respectively.
If the algorithm terminates in finite steps, then we denote by , and the final indeterminate set, polynomial set, and block monomial order, respectively. It can be proved that is a maximal independent set modulo I, and is a Gröbner basis of I with respect to . The algorithm is referred to as “the main algorithm”.
The above procedure shows that the idea of the main algorithm is adjusting MSQISs continuously according to the results of the S-polynomial calculations.
Note that the key issue of the main algorithm is computing U, such that there exists a block monomial order, , with respect to which U is an MSQIS modulo F. Next we give an algorithm for resolving this issue.
3.2. Computing an MSQIS U with Respect to Each Block Monomial Order with
According to Proposition 4, we present Algorithm 2 for computing
U, which is an MSQIS modulo
F, with respect to each block monomial order with
.
Algorithm 2 (MSQIS_Alg 1) |
Input: a polynomial set, where is a positive-dimensional ideal Output: an MSQIS modulo F w.r.t. each block monomial order with Line 1: Compute , and reorder X in descending order and on the order of X. Line 2: , and . Line 3: while
do Line 4: , and . Line 5: Remove from . Line 6: . Line 7: for i from to 1 by do Line 8: if then Line 9: , and turn back to Line 6. Line 10: , and return U.
|
Theorem 2. Let be a positive-dimensional ideal and be a polynomial set. Then Algorithm 2 computes an MSQIS U modulo F, with respect to each block monomial order with .
Proof. Termination: According to Definition 5, . Furthermore, for each , since , there exists such that f contains , i.e., . So , and Lines 3–5 terminate. Moreover, the repetitive running of Line 9 gives rise to a strictly descending chain of sets, so the algorithm terminates.
Correctness: If the algorithm terminates, we have and , . We prove that by contradiction. Suppose that . Then , . So for each , there exists , such that and with . This means that , . Then I is zero-dimensional, which contradicts with the condition, and thus , and . So according to Proposition 4, U is an MSQIS modulo F, with respect to each block monomial order with . □
Although Algorithm 2 computes an MSQIS, U, with respect to each block monomial order with , which certainly means that there exists , with respect to which U is an MSQIS; experiments show that the cardinality of the “new” MSQIS obtained with Algorithm 2 may be not smaller than the “old” one, and it affects the efficiency of the main algorithm: Regarding the procedure of the main algorithm, it contains two aspects of calculations: a series of MSQIS’s and corresponding S-polynomial computations. Moreover, experiments show that the cost of the latter is dominant. By Theorem 1, if U is verified to be an MSQIS with respect to , then we exclude all the dependent set modulo I. In this sense, to avoid redundant S-polynomial computations corresponding to , MSQISs with smaller cardinalities are preferred. To make up for such defect of Algorithm 2, we present another algorithm for computing a new MSQIS with strictly smaller cardinality than the old MSQIS.
3.3. Computing a New MSQIS with Smaller Cardinality than the Old One
Let be an MSQIS modulo , with respect to , H be the normal form set obtained by executing the Buchberger operations on with respect to , and . Suppose that the altering condition holds. Now we think about computing a new MSQIS from a different point of view. Let . Then we try to find U from , such that there exists , with respect to which U is an MSQIS modulo F.
Proposition 6. Let be a polynomial set, , , and . There exists on , such that U is an MSQIS modulo F, with respect to , if there exists on , such that for each .
Proof. Necessity: Since U is an MSQIS modulo F, with respect to , by Definition 4, for each , we have and , i.e., there exists , such that and . According to Proposition 2, we have and . Thus . Let be the restriction of to . Then , i.e., for each .
Sufficiency: Let be a block monomial order of which the restriction to is . Since , by Proposition 2. So U is an SQIS modulo F, with respect to . Since , there exists , such that for each . We write , where , . By Definition 3, . Thus , and , i.e., for each . So U is an MSQIS modulo F, with respect to . □
According to Proposition 6, determining the existence of
, with respect to which
U is an MSQIS, is transformed to determining the existence of
, such that
for each
. It is sufficient to select
polynomials,
, from
, such that
, i.e.,
polynomials of the form
where
and
,
. This implies two things: (1) There is a power of
in
. (2) The power of
is greater than other terms of
with respect to
.
As for (2), to compare two terms, the coefficients are useless, so we “assign coefficients to 1”. Moreover, the term which is a factor of another is unnecessary to be compared. So we “drop the term which is a factor of another”. Let
. Then
and
are different monomials. However,
, and
and
are similar monomials, and they need to be collected when they are regarded as polynomials in
. All these are called the simplification of
: For
, we collect similar monomials, assign coefficients to 1, and drop the monomials that are factors of others. Let
and
. Then
is defined as
. We check the existence of
in two steps. (1) Check whether there exists
(maybe not unique) consisting of
polynomials of the form
where
,
, and
,
. If
does not exist, there does not exist
, such that
for each
. If
exists, we go to the next step. 2) For each
, we check whether there exists
, such that
,
. If
exists, then
for each
. If
does not exist for all
, then there does not exist
, such that
for each
.
However, it is difficult to check the existence of such a monomial order. According to the relation between a monomial order and a regular matrix in [
15], we give a sufficient condition for that.
Proposition 7. Let , , be a polynomial set of the form (3) and
w
be a vector. DefineIf , then there exists on , such that , . Proof. According to [
15], a regular
matrix
A over
determines a monomial order ≺ as follows. Each row
of
A is actually a weight vector,
, and monomials
are determined by comparing the
degrees of them until the first inequality is found. So if
, there exists
on
determined by an
matrix of which the first row is a vector
w , such that
,
. □
Moreover,
is regarded as the feasible region of a linear programming problem, and the work is done at a small cost. Details are referred to in [
16].
We next present Algorithm 3 for seeking
U from
, such that there exists
, with respect to which
U is an MSQIS modulo
F.
Algorithm 3 (MSQIS_Alg 2) |
Input: a polynomial set an indeterminate set Output: there exists , w.r.t. which U is an MSQIS modulo F or ∅ if we find none Line 1: . Line 2: for i from 1 to do Line 3: if then Line 4: , and for each , collect similar monomials, assign coefficients to 1 and drop the monomials that are factors of others. Line 5: . Line 6: if then Line 7: , and . Line 8: if (through linear programming theory) then Line 9: return . Line 10: else Line 11: Turn back to Line 6. Line 12: return ∅.
|
The case that Algorithm 3 fails to obtain an MSQIS will be illustrated by Example 1. Furthermore, the finiteness of and plus the linear programming theory guarantee the termination of Algorithm 3, and the correctness of it follows from Proposition 7.
Example 1. Consider the polynomial set .
Let with and . Then is an MSQIS modulo , with respect to .
We start to execute the Buchberger operations on with respect to . The critical pair set . Let be a prior subset of S. The normal form of the S-polynomial of the modulo , with respect to is , and .
Let . Since , we try to find U from with Algorithm 3, where , such that there exists , with respect to which U is an MSQIS modulo F.
Let . Then , and the simplified . Note that there does not exist a power of v in . Thus there do not exist four polynomials of the form (3), and we need to check the cases when and . These two cases are similar to the case when , and there do not exist four polynomials of the form (3), either.
In this case, Algorithm 3 fails to return , such that there exists , with respect to which U is an MSQIS modulo F.
Example 1 shows that Algorithm 3 does not always work, even though it returns a new MSQIS with smaller cardinality than the old if it succeeds. We can now describe the alternative application of Algorithms 2 and 3 to obtain a positive MSQIS. At the start of the main algorithm, since we have no MSQIS, we need to compute one with Algorithm 2. In other cases, we will try with Algorithm 3 at first if the altering condition holds, and then we can compute an MSQIS with Algorithm 2 if Algorithm 3 fails. In 96% of more than 100 examples we experimented with, MSQISs were obtained with Algorithm 3. In the rest, Algorithm 3 failed, and MSQISs were computed with Algorithm 2.
Furthermore, we need to make some explanation for the choice of . First, since , is dependent modulo I, this means that at least one indeterminate of has to be moved into . So we give priority to rather than other indeterminate sets with smaller cardinalities than . Second, generally speaking, the greater the cardinality of U is, the greater the possibility of U becoming an MSQIS is, so we only check the proper subsets of maximal cardinality of .
3.4. Strategy for Selecting a Prior Subset of the Critical Pair Set
Weispfenning proposed the normal strategy for selecting prior critical pairs from the critical pair set for the normal form computation in [
3]. Similarly, we present a strategy for our problem, in order to compute fewer S-polynomials to arrive at the altering condition and, furthermore, reduce the number of critical pairs calculated before we obtain a maximal independent set.
From the procedure of the main algorithm, if the altering condition
is true, we will compute a new MSQIS,
, and switch to execute the Buchberger operations with respect to
. So the Buchberger operations with respect to one block monomial order can be regarded as eliminating the indeterminates of
V. To compute the S-polynomial of
,
f and
g will be multiplied by
s and
t, respectively. Generally speaking, the smaller the degrees of
s and
t with respect to
V are, the sooner the elements of
V will be eliminated. To accelerate the elimination, we give priority to such critical pairs. Note that in Algorithm 4, for a monomial
m and
,
returns the coefficient of
m with respect to
U and
computes the total degree of
m with respect to
X.
Algorithm 4 (SelCritPairs) |
Input: P a critical pair set a block monomial order Output: a critical pair set Line 1: . Line 2: for i from 1 to do Line 3: . Line 4: , . Line 5: . Line 6: Append to . Line 7: . Line 8: return .
|
Termination and correctness of Algorithm 4 are obvious, and we omit the proofs.
3.5. The Main Algorithm
Based on Algorithms 2–4, we present the main algorithm (Algorithm 1). We apply into it the Buchberger Criteria [
3] and the
technique [
17]. Note that in Algorithm 1, the function
plays a role in updating the ideal basis
G and the critical pair set
P with respect to a polynomial set
H and a monomial order ≺. It also leads to the fact that Algorithm 1 computes the reduced Gröbner basis of
I [
3]. The function
computes the normal form set of a critical pair set
P modulo
G, with respect to ≺.
Theorem 3. Let be a positive-dimensional ideal. Then Algorithm 1 computes a maximal independent set U modulo I, and a Gröbner basis of I with respect to .
Proof. Termination: According to Algorithms 2–4, the functions and all terminate, and we only need to prove the termination of the while loop. First we consider Lines 6–8. Let . If , then Lines 6–8 run, and they compute (distinguishing from U), such that there exists , with respect to which is an MSQIS modulo . Furthermore, according to (2) of Proposition 5, U is not an MSQIS modulo , with respect to any block monomial order with , so . Denote . The repetitive running of Lines 6–8 gives rise to a strictly descending chain of sets: . Since Y is finite, Lines 6–8 terminate. Suppose that Lines 6–8 terminate with and . Then after they terminate, the while loop is just the execution of the Buchberger operations on with respect to . Algorithm 1 terminates since Buchberger’s algorithm terminates.
Correctness: If the algorithm terminates, it returns a Gröbner basis G of I with respect to , where is an SQIS modulo , with respect to according to Proposition 3. Since , is also a Gröbner basis of I with respect to . According to Proposition 1, is strongly independent modulo I, with respect to . Thus is independent modulo I. Furthermore, according to Theorem 1, any is a dependent modulo I, so is maximally independent modulo I. □
The cyclic 4 problem illustrates Algorithm 1 and the advantage of Algorithm 3.
Example 2. Consider the ideal , where .
Initialization:
, and .
, and .
The while loop runs for the first time:
, and . Since , returns . Then . Back to Line 2, , and .
If we remove Algorithm 3, will return , . However, since is an MSQIS modulo , with respect to , by Theorem 1, is dependent modulo I, and the computation of the S-polynomials with respect to will be redundant.
The while loop runs for the second time:
and remains unchanged. Since , Line 10 returns , and .
The while loop runs for the third time:
, and . Since , Line 10 returns , , and .
The while loop runs for the fourth time:
, and . Since , returns ; then . We go back to Line 2; , , and .
In fact, is a maximal independent set modulo I. We skip remaining calculations and give the final results. After the while loop runs for the 10th time, and the algorithm terminates. It returns as a maximal independent set modulo I, and as the reduced Gröbner basis of I with respect to .