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], 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 of
I to
, is usually necessary for subsequent calculations [
7,
8]. According to [
4], a Gröbner basis of
I w.r.t. a block monomial order
is a Gröbner basis of
. So it is equivalent to computing a Gröbner basis
G of
I w.r.t.
.
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 by Zhang’s method [
4] while Shang [
10] and Xiao [
11] by Weispfenning’s method. After
U is computed, they determine
without clear rules and compute a Gröbner basis
G of
I w.r.t.
. 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 w.r.t. 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 w.r.t.
. It is referred to as the direct method; 2) Compute
U from a Gröbner basis of
I by Weispfenning’s algorithm, determine
artificially, and convert the Gröbner basis already computed for getting
U to a Gröbner basis w.r.t.
by the Gröbner Walk [
12]. It is referred to as the W-W method. Experiments show advantages of our algorithm compared with the direct and the W-W methods.
The paper is arranged as follows. In
Section 2, we introduce relative notations, definitions and conclusions. In
Section 3, we describe the subalgorithms and the main algorithm in detail. Experimental results are listed in
Section 4.
2. Preliminaries
In this paper, k denotes a field of 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 w.r.t. ≺, 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 . 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 calledindependentmodulo I if
Otherwise, U is calleddependentmodulo I. Moreover, U is calledmaximally independentmodulo I if it is independent modulo I and not properly contained in any other independent set modulo I.
Definition 2 ([
3]).
Let be a proper ideal and ≺ be a monomial order on . is calledstrongly independentmodulo I w.r.t. ≺ if
Furthermore, U is calledmaximally strongly independentmodulo I w.r.t. ≺ if it is strongly independent modulo I w.r.t. ≺ and not properly contained in any other strongly independent set modulo I w.r.t. ≺.
Proposition 1 ([
3]).
Let be a proper ideal, ≺ be a monomial order on and be a Gröbner basis of I w.r.t. ≺. Then is strongly independent modulo I w.r.t. ≺ iff
Definition 3 ([
3]).
Let , and . Let and be monomial orders on and , respectively. Any monomial can be written uniquely as , where , . Thena block monomial orderon with , denoted by , is defined by iff
and are calledthe restrictionsof 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 w.r.t. ≺. Since
,
is a maximal strongly independent set modulo
I w.r.t. ≺. By a simple calculation, we have
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 be a block monomial order on . If U is a maximal strongly independent set modulo I w.r.t. , then U is maximally independent modulo I.
Proof. Suppose
,
, where
, and
G is a Gröbner basis of
I w.r.t.
. Since
U is maximally strongly independent modulo
I w.r.t.
, by Definition 2,
U is strongly independent modulo
I w.r.t.
, and
is not strongly independent modulo
I w.r.t.
,
. 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
w.r.t.
,
, and
. Let
be the restriction of
to
. By Lemma 8.93 from [
3],
is a Gröbner basis of
w.r.t.
. Denote
a non-leading monomial of
w.r.t.
, written as
, where
,
for
. According to Definition 3,
. So
. Let
. Then
. By Finiteness Theorem [
14],
is zero-dimensional. According to Proposition 1.2.8 from [
4],
U is maximally independent modulo
I. □
It is necessary to generalize the concepts and conclusions modulo an ideal to the case modulo a polynomial set since subsequent calculations are performed on polynomial sets.
Definition 4.
Let be a polynomial set and ≺ be a monomial order on . is calledstrongly quasi-independentmodulo F w.r.t. ≺ if
Furthermore, U is calledmaximally strongly quasi-independentmodulo F w.r.t. ≺ if it is strongly quasi-independent modulo F w.r.t. ≺ and not properly contained in any other strongly quasi-independent set modulo F w.r.t. ≺. For simplicity, a (maximal) strongly quasi-independent set is written as an (M)SQIS.
Particularly, (M)SQIS’s U w.r.t. ≺ have certain properties if ≺ is a block monomial order “with ”. Firstly, let us discuss such SQIS’s 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 w.r.t. , i.e., , iff .
Proof
Necessity: Since , for each , we have . So , and .
Sufficiency: Aiming for a contradiction, suppose . Then there exists , s.t. . Thus by Definition 3, for each non-leading monomial t of f w.r.t. , 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 w.r.t. , then for each block monomial order with , U is also an SQIS modulo F w.r.t. .
Proof. Since U is an SQIS modulo F w.r.t. , by Definition 4, we have . According to Proposition 2, and moreover, . So U is an SQIS modulo F w.r.t. . □
Secondly, we discuss such MSQIS’s in the rest of this section. The following Theorem 1 reveals the relation between an MSQIS U modulo F w.r.t. a block monomial order and the dependent sets 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 w.r.t. , then for any , is dependent modulo I.
Proof. On one hand, if U is dependent modulo I, by Definition 1, . Since , . So is 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 w.r.t. . Since U is an MSQIS modulo F w.r.t. , we have . Then since , and it means U is maximally strongly independent modulo I w.r.t. . By Lemma 1, U is maximally independent modulo I, and is dependent modulo I since . □
Definition 5 and Proposition 4 provide a way to compute an MSQIS.
Definition 5.
Let be a polynomial set. Thelabelof on F is defined as
Moreover, the label list is written as .
Remark 1. We propose a new kind of indeterminate order on : if for . Throughout the 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 Section 3.5).
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 w.r.t. .
Proof. Since , for each , there exists , s.t. . So f contains v by Definition 5, i.e., . According to Proposition 2, . Thus U is an SQIS modulo F w.r.t. . Moreover, let for each . Then . Since , there exists , s.t. for each , i.e., f does not contain any indeterminate of . So and . Thus by Proposition 2, , and U is an MSQIS modulo F w.r.t. . □
Proposition 5 ensures the construction of the main algorithm (Algorithm
Section 3.5).
Proposition 5. Let be polynomial sets with and . Let , and be a block monomial order on . Suppose U is an SQIS modulo w.r.t. . Then
1) U is not an SQIS modulo w.r.t. iff , which is calledthe altering condition
.
2) If the altering condition is true, then for any block monomial order , U is not an MSQIS modulo w.r.t. .
Proof. 1) Necessity: Since U is an SQIS modulo w.r.t. but not an SQIS modulo w.r.t. , 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 w.r.t. .
2) Since the altering condition holds, U is not an SQIS modulo w.r.t. from 1). By Proposition 3, U is not an SQIS modulo w.r.t. . So according to Definition 4, U is certainly not an MSQIS modulo w.r.t. . □
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 w.r.t. a block monomial order simultaneously.
3.1. The Idea
Let us describe the procedure of the algorithm briefly.
Step 1: Compute , s.t. there exists a block monomial order , w.r.t. which U is an MSQIS modulo F. Then
a) By Definition 4 and Proposition 3, U is an SQIS modulo F w.r.t. .
b) By Theorem 1, any is dependent modulo I.
Step 2: Execute the Buchberger operations on F w.r.t. . Let be the critical pair 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 w.r.t. .
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 w.r.t. . Otherwise, compute , s.t. there exists a block monomial order , w.r.t. 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 w.r.t. . U and are called the “old" and the “new" MSQIS’s, 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 w.r.t. . The algorithm is referred to as “the main algorithm".
The above procedure shows that the idea of the main algorithm is adjusting MSQIS’s continuously according to the results of the S-polynomial calculations.
Note that the key issue of the main algorithm is computing U, s.t. there exists a block monomial order , w.r.t. which U is an MSQIS modulo F. Next we give an algorithm for resolving this issue.
3.2. Computing an MSQIS U w.r.t. Each Block Monomial Order with
According to Proposition 4, we present Subalgorithm 1 for computing U, which is an MSQIS modulo F w.r.t. each block monomial order with .
|
Subalgorithm 1.(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: whiledo
|
| Line 4:, and .
|
| Line 5:Remove from .
|
| Line 6:.
|
| Line 7: forifromto1bydo
|
| Line 8: ifthen
|
| Line 9:, and turn back to Line 6.
|
| Line 10:, andreturnU.
|
Theorem 2. Let be a positive-dimensional ideal and be a polynomial set. Then Subalgorithm 1 computes an MSQIS U modulo F w.r.t. each block monomial order with .
Proof
Termination: Since , 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 by contradiction. Suppose . Then , . So for each , there exists , s.t. and with . It means only contains , i.e., , . Then I is zero-dimensional, which contradicts with the condition, thus , and . So according to Proposition 4, U is an MSQIS modulo F w.r.t. each block monomial order with . □
Although Subalgorithm 1 computes an MSQIS U w.r.t. each block monomial order with , which certainly means that there exists , w.r.t. which U is an MSQIS, experiments show that the cardinality of the “new” MSQIS obtained with Subalgorithm 1 may be not smaller than the “old” one, and it affects the efficiency of the main algorithm: From 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 w.r.t. , then we exclude all the dependent sets modulo I. In this sense, to avoid redundant S-polynomial computations corresponding to , MSQIS’s with smaller cardinalities are preferred. To make up for such defect of Subalgorithm 1, 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
Let be an MSQIS modulo w.r.t. , H be the normal form set obtained by executing the Buchberger operations on w.r.t. 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 , s.t. there exists , w.r.t. which U is an MSQIS modulo F.
Proposition 6. Let be a polynomial set, , , and . There exists on , s.t. U is an MSQIS modulo F w.r.t. , iff there exists on , s.t. for each .
Proof
Necessity: Since U is an MSQIS modulo F w.r.t. , by Definition 4, for each , we have and , i.e., there exists , s.t. 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 w.r.t. . Since , there exists , s.t. for each . Write , where , . By Definition 3, . Thus , and , i.e., for each . So U is an MSQIS modulo F w.r.t. . □
Based on Proposition 6, we transfer the work from
to
. We first simplify
: 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
, s.t.
for each
. If
exists, we go to the next step. 2) For each
, we check whether there exists
, s.t.
,
. If
exists, then
for each
. If
does not exist for all
, then there does not exist
, s.t.
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 (2) andw be a vector. Define
If , then there exists on , s.t. , .
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
is 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, s.t.
,
. □
Moreover,
is regarded as the feasible region of a linear programming problem, and the work is done at a smallcost. Details are referred to [
16].
We next present Subalgorithm 2 for seeking U from , s.t. there exists , w.r.t. which U is an MSQIS modulo F.
|
Subalgorithm 2.(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: forifrom1todo
|
| Line 3: ifthen
|
| 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: ifthen
|
| 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 Subalgorithm 2 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 Subalgorithm 2, and the correctness of it follows from Proposition 7.
Example 1. Consider the polynomial set .
First, let with and . Then is an MSQIS modulo w.r.t. .
Second, we execute the Buchberger operations on w.r.t. . The critical pair set . Let be a prior subset of S. The normal form set
H of the S-polynomial of modulo w.r.t. is .
Third, let . Note that , we try to find U from with Subalgorithm 2, where , s.t. there exists , w.r.t. which U is an MSQIS modulo F. It requires us to check each in turn.
: simplified , thus there does not exist a power of v in , and there does not exist consisting of polynomials of the form (2).
: simplified , thus there does not exist a power of x in , and there does not exist consisting of polynomials of the form (2).
: simplified , thus there does not exist a power of x in , and there does not exist consisting of polynomials of the form (2).
In this case, Subalgorithm 2 fails to return , s.t. there exists , w.r.t. which U is an MSQIS modulo F.
Example 1 shows that Subalgorithm 2 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 Subalgorithms 1 and 2 to obtain a not bad MSQIS. At the start of the main algorithm, since we have no MSQIS, we need to compute one with Subalgorithm 1. In other cases, we will try with Subalgorithm 2 at first if the altering condition holds, and then we can compute an MSQIS with Subalgorithm 1 if Subalgorithm 2 fails. In 96% of more than 100 examples we have experimented, MSQIS’s are obtained with Subalgorithm 2. In the rest, Subalgorithm 2 fails, and MSQIS’s are computed with Subalgorithm 1.
Furthermore, we need to make some explanation for the choice of . First, since , is dependent modulo I. It 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 get 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 w.r.t. . So the Buchberger operations w.r.t. 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 w.r.t. 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 Subalgorithm 3, for a monomial m and , returns the coefficient of m w.r.t. U and computes the total degree of m w.r.t. X.
|
Subalgorithm 3.(SelCritPairs)
|
|
Input:P a critical pair set
|
| a block monomial order
|
|
Output: a critical pair set
|
|
Line 1:.
|
|
Line 2: forifrom1todo
|
|
Line 3:.
|
|
Line 4:, .
|
|
Line 5:.
|
|
Line 6:Append to .
|
|
Line 7:.
|
|
Line 8: return.
|
Termination and correctness of Subalgorithm 3 are obvious, and we omit the proofs.
3.5. The Main Algorithm
Based on Subalgorithms 1, 2 and 3, 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 w.r.t. 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 w.r.t. ≺.
(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: whiledo
Line 4:, and .
Line 5: ifthen
Line 6:.
Line 7: ifthen
Line 8:, , and turn back to Line 2.
Line 9: else
Line 10:, and
.
Line 11: returnU, G.
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 w.r.t. .
Proof
Termination: Since Subalgorithms 1, 2 and 3, Functions and all terminate, 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), s.t. there exists , w.r.t. which is an MSQIS modulo . Furthermore, according to 2) of Proposition 5, U is not an MSQIS modulo w.r.t. 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 Lines 6-8 terminate with and . Then after they terminate, the while loop are just the execution of the Buchberger operations on w.r.t. . Algorithm 1 terminates since the Buchberger’s Algorithm terminates.
Correctness: If the algorithm terminates, it returns a Gröbner basis G of I w.r.t. , where is an SQIS modulo w.r.t. by Proposition 3. Since , is also a Gröbner basis of I w.r.t. . By Proposition 1, is strongly independent modulo I w.r.t. . Thus is independent modulo I. Furthermore, according to Theorem 1, any is dependent modulo I, so is maximally independent modulo I. □
The cyclic 4 problem illustrates Algorithm 1 and the advantage of Subalgorithm 2.
Example 2. Consider the ideal , where .
Initialization:
, and .
, and .
The while loop runs for the 1st time:
, and . Since , Lines 6-8 run, and Function returns . Then , and back to Line 2, , and .
If we remove Subalgorithm 2, will return , . However, since is an MSQIS modulo w.r.t. , by Theorem 1, is dependent modulo I, and the computation of the S-polynomials w.r.t. will be redundant.
The while loop runs for the 2nd time:
and remains unchanged. Since , Line 10 runs, and it returns , and .
The while loop runs for the 3rd time:
, and . Since , Line 10 runs and returns , , and .
The while loop runs for the 4th time:
, and . Since , Lines 6-8 run, and returns , then . 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 w.r.t. .