0% found this document useful (0 votes)
93 views15 pages

Solving Zero-Dimensional Algebraic Systems

This document discusses solving zero-dimensional algebraic systems by representing the solutions as triangular sets of polynomials. Triangular sets provide a simple, readable format that contains all the information about the solutions. Different algorithms are described for computing triangular sets from Gröbner bases in a way that preserves sparsity. The best approach is to first compute a Gröbner basis for a degree-reverse-lexicographical ordering, then compute the basis for a lexicographical ordering, and finally simplify the result as triangular sets. For systems of degree d in n variables, this process takes polynomial time in d^n, which is nearly optimal.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
93 views15 pages

Solving Zero-Dimensional Algebraic Systems

This document discusses solving zero-dimensional algebraic systems by representing the solutions as triangular sets of polynomials. Triangular sets provide a simple, readable format that contains all the information about the solutions. Different algorithms are described for computing triangular sets from Gröbner bases in a way that preserves sparsity. The best approach is to first compute a Gröbner basis for a degree-reverse-lexicographical ordering, then compute the basis for a lexicographical ordering, and finally simplify the result as triangular sets. For systems of degree d in n variables, this process takes polynomial time in d^n, which is nearly optimal.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

s Symbolic Computation (1992) 13, 117-131

Solving Zero-dimensional Algebraic Systems


D. L A Z A R D '
LIT_P, Institut Blaise Pascal, Boite 168, 4, place Jussieu, F-75252 Paris Cedex 05, France
(Received 27 June 1989)

It is shown that a good output for a solver of algebraic systemsof dimension zero consists of
a family of "triangular sets of polynomials". Such an output is simple, readable and contains
all information which may be wanted,
Different algorithms are described for handling triangular systemsand obtaining them from
Gr/Sbner bases. These algorithms are practicable, and most of them are polynomial in the
number of solutions.

1. Introduction
In m a n y computer algebra problems it is difficult to define what a good solution is.
Algebraic systems are typical for such a situation: an algebraic system is a finite set of
multivariate polynomials over some field K. Solving it means finding the common zeros
of the input polynomials, in an algebraic closure of K.
W h a t does "finding" mean? I f the solutions are finite in number, it means "giving the
list o f the solutions" and we are led to a new question: What is a solution?
When the set of solutions is not finite, another question appears. It is no longer possible
to list the solutions and we have to describe them in some useful way. The most natural
way is to express the variables as functions of some parameters which may be some of
the variables. Unfortunately such an expression is generally impossible with rational
functions. So we are led to another question: H o w to describe an infinite set of solutions?
We leave this last question to another paper (Lazard, 1990) and shall restrict ourselves
to the simpler and important case of a finite number of solutions. This number may be
large and we are faced with a new question which is not very different from the last one:
H o w to describe a large number of solutions?
Most papers on algebraic systems are mainly concerned with algorithms for finding
the solutions. Surprisingly, they do not focus on the form of the provided solutions and
on above questions, except in most recent papers (Kobayashi et aL, 1988; Gianni & Mora,
1987). These ask for solutions in a form which is a special ease of what we call below a
triangular set of polynomials. Unfortunately, to get such a special form, linear change of
variables are needed which do not preserve sparseness. In recent software, M~ller (pers.
comm.) gives the solutions in the same form as in the present paper, but uses another
m e t h o d for computing them.
In this p a p e r we show that "triangular sets of polynomials" is a good data structure
for representing the solutions. We give different algorithms for transforming triangular
sets and obtain them f r o m Gr5bner bases. They work with the initial set of variables and
thus preserve sparseness as far as it is possible.
The algorithm to obtain triangular sets from a G r f b n e r base for lexicographical ordering
is particularly simple. It seems (this has not yet been checked) that it follows from
Langemyr (1991) that it is polynomial in the number of solutions.
0747-7171/92/020117 + 15 $03,00/0 9 1992 Academic Press Limited
118 D. Lazard

Thus, the best method for solving zero-dimensional systems appears to be the following:
compute the GrSbner base for the degree-reverse-lexicographical ordering by the Buchber-
ger algorithm; deduce from it the GrSbner base for the pure lexicographical ordering by
the algorithm of Faug~re et al. (1989); then simplify the result as a family of triangular sets.
If input polynomials have degree d in n variables, the whole process is essentially
polynomial in d" (Lazard, 1983; Lakshman, 1990 and 1991; Lazard & Lakshman, 1991;
Faug~re et al., 1989; Langemyr, 1991). Thus, these algorithms are nearly optimal: the
number of solutions may be d", by the Bezout theorem.
Let us now describe the structure of the paper. We begin with some examples showing
what kind of solutions provide some classical algorithms and what kind of solutions
would be useful (section 2). Then, in section 3 we present our data structure for describing
the solutions, triangular sets o f polynomials. Computing modulo, such a set of polynomials
is very close to computation in an algebraic field extension; thus, in section 4, we present
method D5, which is actualty the best tool for such computations. In section 5, we show
that the non-unicity of the description of the solution by triangular sets of polynomials
is not a drawback, because it is easy to pass from one description to another.
In sections 6 and 7 we show how the triangular sets may be obtained from a GrSbner
basis with good efficiency (nearly optimal) in the finite case; we start in section 6 from
any Gr6bner basis and in section 7 from a GrSbner basis for a lexicographical ordering,
with a better algorithm. The latter is intended to be used with the efficient algorithm for
changing the ordering described in Faug~re et al. (1989). This gives a polynomial algorithm
(in some natural meaning) for all the processes of resolution if the set of solutions is
finite even at infinity.
In section 8, algorithms are given in order to pass from solutions given as triangular
sets to solutions in the special form used in Kobayashi et al. (1988) and in Gianni &
Mora (1987); in this form, only the first polynomial in the triangular set (the one which
is univariate) is non-linear in its main variable. This form is more suitable for numeric
resolution, but needs changes of variable. It is the only place in this paper where changes
of variable are needed.
The fact that our main algorithm is polynomial for a natural measure of complexity
shows that the method of resolution is nearly optimal. However, in some cases we get a
complicated solution where a simpler form exists, and it would be useful to get this
simpler solution. This requires, at least, to have information on the Galois structure of
the set of solutions; this is far outside the goal of this paper. But the fact that we do not
need any change of variable also has the advantage that some information on the Galois
structure may remain apparent in the result and is not necessarily hidden by the choice
of generic coordinates.
Finally, it should also be noticed that our problem is a special case of a much more
difficult problem, the computation of a primary decomposition which is studied in Gianni
et al. (1988).

2. Some Examples
In this section we give some simple examples and show how the results of the classical
algorithms are not satisfactory. We first compare the raw results of a GrSbner base
computation (for two different orderings) and of the Wu Wen-Tsiin (1987) algorithm
with the simple result which would be the natural solution of a solver.
Zero-dimensional Algebraic Systems 119

Consider the following set of polynomials (which becomes a system of equations by


equating them the zero); this system and the subsequent one have been suggested by S,
Arnborn (Davenport, 1987).
a+b+c+d
ab + bc + cd + da
a b c + b c d + cda + dab (1)
a b c d - 1.
For the lexicographical ordering, its Gr6bner basis is
a+b+c+d
b 2 + 2bd + d 2
bc - bd + r ed - 2d z
bd 4 - b + d 5 - d (2)
ca d2 + e2 d3 - c - d

c2d6-c2d2-d4+ l.

For the degree ordering, the basis is


a+b+c+d
b2 + 2bd + d 2
b2C2-~ c2d - bd 2_ d 3

bcd2+ cZd 2 - bd 3 + ed 3 - d 4 - 1 (3)


bd4 + d 5 - b - d
c2d4-} - bc -- bd + ed -2d 2
c3d2+c2d 3-c-d.

The raw result of the Wu Wen-Tsiin algorithm may be (Scratchpad implementation by


M. C. Gontard):
If a 2 ( b 2 - a 2) ~ 0 t h e n
(d+c+b+a, (b2-aE)c+ab2-a a, - a 2 b 4 + ( a 4 - 1 ) b 2 - a 2)
else if - a 2 b + a 3 ~ 0 then
(d+c+b+a, (-ab2+a3)c-a3b+l, b 2 - a 2, - a S + 2 a 4 - 1 ) (4)
else if - a 2 # 0 then
( d + c + b + a, - c 2 - 2ac - a 2, - a2b + a 3, - a s + a 4)
else 1.
It is clear that solutions (2) and (4) are sufficiently triangular and give the numerical
solutions by successively giving values to the variables. But the wanted result is much
simpler: it is not difficult to show that the ideal generated by (1) is the intersection of
the three ideals
( a + c , b + d , e2d2-1)
(a + b + 2d, ( b + d) 2, c - d , d * - l ) (5)
(a - d, b + c+ 2d, ( c + d) 2, d 4-1).
120 D. Lazard

Even simpler, we may remark that the second polynomial of (2) is a square; adding
its square root b + d, we get as a new GrSbner base

( a + c, b + d, c 2 d 2 - 1 ) (6)
which generates the radical of the ideal defined by (1).
The members of (5) and (6) are triangular ideals in the sense that the ith variable may
only a p p e a r in the first i polynomials. We will show that each zero-dimensional system
(a system with a finite number o f solutions) m a y be solved as a finite union of such
triangular ideals and we will provide efficient algorithms for finding such decompositions.
The preceding system is not zero-dimensional. Thus, let us give another less easy
example, the same as before but with one more variable:

a+b+c+d+e

ab + bc + cd + de + ea

abc + bcd + cde + dea + eab (7)


abcd + bcde + cdea + d e a b + eabc

a b c d e - 1.

This system has 70 solutions. The Gr6bner base is not so easy to compute. In triangular
form, the solutions are

( a 5 - 1, b4 + ab3 + a262 + a a b + a 4, c - a4b 2, d - a3 b 3,

e + a3b s + a4b2+ b + a) (20 solutions)

( a 5 - 1, b - a, e - a, d 2 + 3 a d + a 2, e + d + 3a) (10 solutions)

(a s - 1, b - a, c 2 + 3 a c + a 2, d + c + 3a, e - a) (10 solutions)

(a 5 - 1, b 2 + 3 a b + a 2, c + b + 3 a , d-a, e-a) (10 solutions) (8)

(al~ 123a~+ 1, 55b + a 6 + 144a, 55c + a6+ 144a,

55d + a 6 + 144a, 55e - 3 a 6 - 377a) (10 solutions)

(al~ 123a5+ 1, 55b - 3a 6 - 377a, 55c + a6+ 144a

55d + a 6 + 144a, 55e + a6+ 144a) (10 solutions).

These solutions are rather simple. However, the two last groups of 10 solutions seem to
be more involved than the others. It is an artefact due to the choice of the ordering of
the variables. In fact, the five groups of 10 solutions are the five circular permutations
of solutions of the form

(a, a, a, at, - a ( r + 3 ) ) where a s = 1 and r 2 + 3 r + 1 = 0. (9)

The simplification o f solutions like the two last groups is a very difficult unsolved
problem which hardly depends on the Galois structure of the ideal.
Zero-dimensional Algebraic Systems 121

3. Triangular Ideals; Theoretical Results


We have seen in the last section that simple and useful solutions are triangular. We
will give a precise meaning to this. However, from now we only consider zero-dimensional
systems, i.e. systems with only a finite number of solutions. For non-zero-dimensional
systems, such triangular systems may also be defined, and all solutions may be defined
in terms of some kind o f triangular systems, but things are much more difficult (see
Lazard, 1990).
Here we consider systems in n variables X1,. 9 X, and order them such that
X~<X2<...<X..
DEFINITION 1. The main variable of a polynomial is the greatest variable (for the above
ordering) which appears in it. A set of n polynomials is triangular if the main variable
of the ith polynomial is X~ for i = 1. . . . , n and if this polynomial is monic as a polynomial
in X~. The degree o f a triangular set is the product of the degrees (in their main variables)
of its polynomials.
The following three propositions are corollaries of results in Gianni et al. (1988); they
may also be easily deduced from most text books in commutative algebra. For the reader's
convenience we give direct proofs, because we have not found any reference where they
are explicit.

PROPOSITION 1. I f K is a field, any maximal ideal in K [ X , , . . . , Xn] has a triangular


system of generators.
Let I be a maximal ideal and A be the field K [ X I . . . . . X , ] / L Let us denote by xt the
image of X~ in A and by Ai = K ( x l , . . . , xt) the subfield of A generated by ( X l , . . . , x~);
thus A~ = Ai_~(x~) is a simple algebraic extension (A, being finitely generated as a ring,
is an algebraic extension of K ) ; let Pt be the minimal monic polynomial of x~, with
coefficients in A;_~; we have Al = At-I[X~]/P~ and the elements o f A~ are polynomials in
X~ of degree less than the degree of P~. Thus an easy recursion shows that A =
K [ X 1 , . . . , X , ] / ( P ~ , . . . , P,) and that P~ is a polynomial in X1 . . . . . X~ which is monic
in X~.
PROPOSITION 2. Every system with a finite number of solutions (in an algebraic closure of
K ) is equivalent to the union of a finite number of triangular systems.
Let I be the ideal generated by the polynomials of the system. The hypothesis implies
that I is zero-dimensional and that its radical is an intersection o f maximal ideals. Thus
the zeros of the system are zeros of one of these maximal ideals, and the conclusion
follows from Proposition 1.
PROPOSITION 3. Let ( P1, . . . , P,) be a triangular set of polynomials. Let QI be an irreducible
factor of P1, A1 be the field K[X1]/ Q1; let Q2 be an irreducible factor of P2 in At[X2] and
A 2 be the field AI[XE]/Q2, and so on. The set ( Q 1 , . . . , Q,) generates a maximal ideal
containing ( P 1 , . . . , P,) and the set of common zeros of the P~ is the union of the sets of
common zeros of all ( Q 1 , . . . , Q,).
This is clear from the preceding proposition.
Thus, from a triangular set of polynomials, finding the maximal ideals containing it,
is as easy (or as difficult) as factorization in algebraic extensions.
122 D. Lazard

4. Computing Modulo Triangular Ideals; System D5


It is clear that to compute numerically the common zeros of a triangular set is easy:
this consists in solving manic univariate polynomials obtained successively by substituting
the variables by the roots of the preceding polynomials. Such a resolution is an example
of computation with triangular sets of polynomials. On the other hand, field extensions
which are not given by a primitive element (which is generally hard to compute) are
defined by triangular sets (Proposition 1), and computing in such field extensions means
computing modulo triangular sets. These triangular sets are not the more general ones,
but computing modulo a general triangular set is not very different from computing in
algebraic extensions, as we shall see now.
Let P 1 , . . . , Pn be a triangular set in K [ X 1 , . . . , Xn]. Note that P1, 99 9 Pk is a triangular
set in K[ X1 . . . . , Xk] for k = 1 , . . . , n. Let Ak := K[ X 1 , . . . ,Xk]/ ( P1,..., Pk). The poly-
nomial Pk+l may be viewed as a polynomial in Ak[Xk+l] and Ak+l is isomorphic with
Ak[Xk+l]/Pk+l. We have seen in Proposition 3 that A, is a field iff Pk+l is irreducible as
a polynomial in Ak[Xk+l] for k = 0 , . . . , n - 1.
C o m p u t i n g in Ak is very easy and is more or less implemented in most computer
algebra systems: the elements of Ak are represented as polynomials in X1,.. 9 Xn of
degree in Xk less than the degree of Pk (in Xk), for k = 1,..., n. The Pk being manic,
dividing by them presents no problem and the multiplication in An is a product of
polynomials followed by divisions by P,, P n - l , . . . , P~.
Inversion in An (when it is a field) proceeds as follows: an element Q of An is a
polynomial with Xk as the main variable; compute the extended G C D of Q and Pk in
Ak-l[Xk] (this needs inversions in Ak-1); the result is
D = QR + PkS.
If D = I , then R is the inverse of Q; if D = P k , then Pk divides Q and Q = 0 is not
invertible in Ak; there are no other possibilities if An is a field, because P~ is irreducible.
If An is not a field, and D ~ 1, D ~ Pg, then Pk is a product, and we have found factors
without a factorization algorithm. If we replace Pk by each of its factors (D and P J D ) ,
we get two triangular sets; modulo the first one, Q = 0 is not invertible; modulo the second
one, the inverse of Q is RD-1; this needs to invert D modulo Pk/D.
Thus we may compute in Ak as if it were a field, under the condition of eventually
splitting it. This has been remarked by Dominique Duval and implemented by her and
Claire Dicrescenzo in R E D U C E and SCRATCHPAD II (now called Axiom), under the
name D5 (Della Dora et al., 1985; Dicrescenzo & Duval, 1985 and 1988; Duval, 1987).
When solving a system of algebraic equations, we want to split it in triangular systems
(Proposition 2). This may be done by means of factorization in algebraic extensions
(inefficient) or by means of D5. Thus most of the algorithms which follow use D5 or
factorization in algebraic extensions, even if we try to avoid them when it is possible.

5. Combining and Splitting Triangular Ideals


DEFINITION 2. TWO sets of polynomials (and the ideals they generate) are equivalent if
they have the same zeros. Two families of sets of polynomials are equivalent if the union
of their common zeros are the same.

DEFINITION 3. A triangular set ( P ~ , . . . , P,) of polynomials in K [ X 1 , . . . , X, ] is reduced


if Pk is square-free modulo P 1 , . . - , Pk-i for k = 1. . . . , n; this means that there exist
Zero.dimensional Algebraic Systems 123

polynomials R and S such that R P k + S P ~ = 1 modulo P1 . . . . , Pk-1 where P~, is the


derivative of Pk with respect to Xk.

PROPOSITION 4. A n y triangular set of polynomials is equivalent with a family of reduced


triangular sets, and such a family may be easily computed by D5 or by factorization.

A triangular set which generates a maximal ideal being reduced is a corollary of


Proposition 3. If (P1 . . . . , P , ) is the given system, the equivalent family may b e obtained
by successively replacing P~ by its irreducible factors for k = 1 , . . . , n. With D5, it suffices
to compute, for k = 1 , . . . , n, the square-free decomposition of Pk modulo PI . . . . . Pk-1
and to replace Pk by the obtained square-free factors.
Note that computing the square-free decomposition of Pk may induce a splitting o f P~
for i < k, as is shown by the following example:
(P1 := X ~ - X l ; P2:= X 2 + X 1 ) . (10)
P~ is a square-free; resultant (P2, P~) = X1, which is 0 if X~ = 0 and 1 is X~ = 1. Thus the
equivalent reduced family is ((X1, X2), ( X ~ - 1, X g + 1)). There is no reduced triangular
set equivalent to (10). Note also that the family obtained by D5 is the same as the family
obtained by factorization over the rationals, but not over the Gaussians.

PROPOSITION 5, (i) I f (P1, . . " , P,) is a triangular system such that P k = P'k. P~ modulo
( P1 . . . . , Pk-1) (this means factorization, not derivatives), then (PI, . . . , P,) is equivalent to
( ( P , , . . . , P k - , , P'~, '
Pk+l,, 9 9 P ,') , ( P , , 9 9 9 , P~-,, P k ," P k +"l , 9 9 9 e~)),

where P~ and P'.', ( i > k) are obtained by reducing P, by P~ , . . . , Pk-~ and P~ or P'~ respectively.
(ii) I f ( P 1 , . . . , P,) and ( Q1 . . . . , Q,) are two triangular sets such that P~= Qtfor i < k,
that the degrees o f Pi and Qt are the same for i > k , and that GCD(Pk, Qk) =
1 r o o d ( P 1 , . . . , Pk-l), then ( ( P l , . . . , P,), ( Q 1 , . . . , Q~)) is equivalent to
( P 1 , . . . , Pk-1, PkQk, Rk+l, . . . , R , ) where the Rt are computed by the Chinese remainder
theorem.

Proof is easy. Here are examples of application.


Part (i) may apply to each triangular sets appearing in (8), observing that complete
factorization o f a 5 - 1 is (a - 1)(a4+ a 3 + a2+ a + 1) and of a l ~ 123a s + 1 is (a 2 + 3a + 1)
( a S - 3 a T + 8 a 6 - 2 1 a S + 5 5 a 4 - 2 1 a a + 8 a 2 - 3 a + l ) . Conversely, part (ii) may be used for
combining first and fourth, or fifth and sixth triangular sets in (8) to obtain
( a 5 - 1 , b6 + 4abS + 5a2b4 + 5a3b3 + 5a4b~ + 4a5b + a 6,
5c + 8abS + 30a2b 4 + 30a3b 3 + 25a4b 2+ 30b + 22a,
5d - 2ab 5 - lOa2b a - 15a3b 3 - lOa4b 2 - 10b - 8a,
5 e - 6ab 5 - 20a2b 4-15a3b 3 - 15 a4b 2 - 1 5 b - 9a)
(11)
(a 5 - 1 , b - a, c - a , d 2 + 3 a d + a s, e + d + 3 a )
(a 5 - 1 , b - a , c 2 + 3 a c + a 2 , d + c + 3 a , e - a )
(al~ 123a5+ 1, 5 5 6 2 - 2 a r b - 2 3 3 a b - 8 a 7 - 9 8 7 a 2,
55C'F a6-t - 144a, 55d + aS+ 144a, 55e +55b - 2 a 6 - 2 3 3 a )

which is the value given b y algorithm D51extriangular described blow.


124 D. Lazard

We could also combine fifth and sixth triangular sets in (8) and the result with the
fourth set o f (8). We get another equivalent family which consists of the first three
triangular sets of (g) and
(a 15+ 122a l~ - 122a 5 - 1 ,
275b2+ (16a 11+ 1958a 6 - 1 1 4 9 a ) b + 42a12 + 5126a 7 - 4893a ~,
1375 c + (1 l a i n + 1353a 5 + 11)b + 4 a H + 517aa+ 3604a, (12)
275d - 8a11- 979a ~+ 712a,
1375e + ( - 1 l a 1~- 1353a5 + 1364)b + 36a 11+ 4378a 6 - 5789a).

REMARK 1. It is important to note that the non-unieity of the family of reduced triangular
sets equivalent to a given system is not a drawback, for the reason that passing from one
family to another is rather easy. However, a unique minimal equivalent reduced family
does not always exist. For example,
((Xl, X2) , (Xl, X2"~-1), (X 1 + 1, x2))
may be combined by part (ii) of the last proposition in
( (x~, x~ + x2), (x, + 1, x2) )
or
((x~+ x~, x2), (x,, x~+ 1))
or

((xl, x2), (x~ + xl, x2 + x, + 1))


but there is n o reduced triangular set equivalent to these families.

6. Triangular Families from Grfbner Bases


In this section we give algorithms for computing triangular families from a GrSbner
base. These algorithms do not depend explicitly on the ordering; however, they are mainly
designed for degree orderings for which the base is more easily obtained; they work also
with lexicographical ordering, but, for them, we dispose of a structure theorem which
permit us to provide a better algorithm (section 8).

Procedure 1 Triangular(G, K, m, n)
Input:
K : a field;
m: index o f the first variable (n = 1 for the main call of Triangular);
n: index o f the last variable - initial number of variables
G: G r S b n e r base of an ideal in K [ X , , , . . . , X,];
Auxiliary fun ctions :
Factor(P, K ) : factorize the polynomial P over the field K ;
ElimPol(G, K, m, n): returns a polynomial in K [ X . ] the roots of which are the values
o f x. for the c o m m o n zeros of G (algorithm given below);
Zero-dimensional Algebraic Systems 125

Gr~bner(G, K, m, n): returns the Gr~bner bases of the ideal generated by G in


K[X. . . . . , X.];
Output: a triangular family equivalent to G;
Begin
if G is triangular then return [G];
P:= ElimPol(G, K, m, n);
family :-- [ ];
f o r Q in Factor(P, K) do
L:= K[x,,,]/Q;
H : = GrSbner(G, L, r e + l , n);
T:= Triangular(H, L, r e + l , n);
for x in T replace x by cons(Q, x);
family := append ( T, family)
return family
end.
PROOF OF THE ALGORITHM. It follows immediately from the definitions that the roots
(in an algebraic closure) o f the first elements of a triangular system are the values o f the
first variable in the solutions. The recursion stops when m = n in the worst case, but, in
general, there is only one solution with a given value of xl, . . . , Xk for some low value
of k; in this case, the algorithm stops for m = k + l , the base being triangular (all
polynomials in it are linear).
REMARK 2. Very similar algorithms have been suggested in Lazard (1981) and described
in Kobayashi et el. (1988). However, we do not know of any implementation. In fact,
this is not easy on most computer algebra systems: we need functions parametrized by
a field. Moreover, even if such a parametrization is available as in SCRATCHPAD, we
need also a good factorization algorithm on towers o f simple algebraic extensions.
REMARK 3. Many G r r b n e r bases over field extensions are computed during this algorithm.
This may appear to be prohibitive. In fact the polynomials in these bases are generally
of very low degree and it seems that in most cases, the total cost of these GrSbner bases
computations is dominated by computation o f the G r r b n e r base of the initial ideal. In
any case, we give in the following sections a method which avoids multiple GrSbner base
computations.
Before describing ElimPol, we give the D5 variant of Triangular.
Procedure 2 DStriangular(G, mad, m, n)
Input:
rood: a triangular family of m - 1 polynomials in xl . . . . , xm-1 which is empty for the
main call;
m: current index (m = 1 for the main call);
n: the number of variables;
G: the GrSbner bases of polynomials in Xm, 9 . . , Xn over the D5-field o f the polynomials
in x l , . . . , xm_l modulo mod;
Output: a triangular family equivalent to G;
Auxiliary functions:
D5elimpol(G, rood, m, n): returns a polynomial in x~, over the D5-field o f the poly-
nomials in x l , . 9 Xr~-i modulo rood;
126 D. Lazard

DSgriJbner(G, rood, m, n): returns the Grrbner bases of the ideal generated by G over
the D5-field of the polynomials in x l , . . . , xm-i modulo mod;
Begin
I f G is triangular then return append(mod, G);
P := DSelimpol(G, rood, m, n);
rood := endcons( P, rood);
G := DSgriibner( G, rood, m + 1, n);
DStriangular(G, mod, rn + 1, n);
end.
This algorithm is exactly the same as Triangular, except that the loop does not appear
explicitly but is implicitly created by D5.

REMARK 4. Both Triangular and D5triangular may return non-reduced triangular ideals.
This may be avoided by a post-computation of square-free decompositions or by continu-
ing recursive calls until m = n: D5 system considers only square-free moduli (here and
in the following, we call moduli the members of a triangular system when computations
are done modulo this system); if a modulus is not square-free, it is automatically split
by D5 by square-free decomposition; on the other hand, in Triangular, the loop on the
factors removes also the multiplicities.

REMARK 5. The algorithm DSgri~bner is exactly the standard Buchberger's one managed
by D5. Thus it may split the moduli. It would be possible to replace it by an algorithm
without splitting: it is easy to define GrSbner bases over a reduced artinian ring; the
computation would be essentially the same as the classical Buehberger's algorithm on
the ideal generated by append(G, mod) with the following ordering: lexicographical on
x l , . . . , Xm-t and considering the powers of x~,...,xm_~ only when the powers of
x , , , . . . , x, are the same for the monomials to be compared. However, split problems are
generally much easier than the initial problem and it is probably more efficient to use
DSgriJbner.
We now present two ways for implementing ElimPol. The first one is classical and
appears at least in Kobayashi et al. (1988).

Procedure 3 ElimPolMin(G, K, m, a)
Input: G: a Grrbner base of an ideal in K[xm . . . . . xn];
Output: the minimal univariate polynomial in K[xm] which is in the ideal generated by G;
Begin
monom := 1; nfm := NormalForm( G, monom);
Inf:= []; listmonom := [];
while nfm is not a linear combination over K of elements in Inf do
lnf := cons(nfm, Inf);
listrnonom :--- cons( monom, listmonorn );
monom := Xm * monom;
nfm := NorraalForra( O, monom )
{We have nfm = ~e~t,: ace with a, e K}
return monom-~..e~t,y ao mon with mort being the element of list-monom corresponding
to e in lnf
end.
Zero-dimensional Algebraic Systems 127

As NormaIForm is a linear map, it is clear that this algorithm returns the relation of
2
least degree (modulo G) between 1, xm, Xm,.... It is clear that the linear algebra part
needs O ( D 3) operations. We refer to Faug~re et al. (1989) for an implementation of
ElimPoIMin with O(D 3) field operations and for a complexity analysis; in fact, ElimPolMin
is the beginning of NewBase described there; in the generic case where all solutions of
the system are simple and have distinct xm-component, ElimPolMin and NewBase become
equivalent.
The second implementation of ElimPol is less efficient; however, it may be easier to
implement in some Computer Algebra systems. Moreover, it gives information on multi-
plicities; in most cases, this information permits us to avoid D5-splitting in DStriangular;
thus an implementation of it is possible without D5, which works well on most (not too
singular) problems.

Procedure 4 ElimPolChar(G, K, m, n)
Input: G: a Gr6bner base of an ideal in K [ x m , . . . , xn];
Output: a univariate polynomial in K[xm] of degree D;
Begin
For each monomial mon which is in normal form relative to G, let Normal-
Form(xm *mon, G) = Y, a . . . . . * m (sum over the monomials in normal form);
return the characteristic polynomial of the matrix (amo,.m)
end.

The matrix constructed in ElimPolChar is that of the product by xm in the algebra of


the polynomials modulo the ideal generated by G. The result of ElimPolMin is the minimal
polynomial of 1 for this endomorphism; thus it divides the result of ElimPolChar.
Moreover, we have the following.

PROPOSITION 6. The multiplicity of a root x of the result of ElimPolChar is the sum of the
multiplicities of the solutions of G (viewed as a system of equations) with x as x,~-component.

This was essentially proved in Lazard (1981), Here is a direct proof. We may suppose
w.l.o.g, that m = 1. The ring A = K[x~, . . . , x , ] / G is a product of local artinian rings with
maximal ideal (over an algebraic closure of K) of the form ( x l - a ~ , . . . , x , - a,), The
multiplicity of the solution is the multiplicity of the corresponding local ring, that is its
length or its dimension as a vector space. If x~- at is in the maximal ideal of a local
artinian ring, some power of it is zero; i.e. there exists a k such that (xa- al) k is zero in
this local ring. This means that the product of the local rings corresponding to the solutions
with first component x~ is exactly the union of the kernels of the endomorphisms "product
by a power of xl - ~1", that is the multiplicity of x~ as an eigenvalue of the endomorphism
"product by xl" in A.
This function ElimPolChar is very easy to implement but it needs 0 (D 4) field operations
instead of O ( D 3) for ElimPolMin. On the other hand, in most examples, the factors given
by the square-free decomposition of the result of ElimPoIChar suffice to avoid further
splittings by D5. For example, on system (7) they give all the decomposition needed to
find the solution (11).
128 D. Lazard

7. From Lexicographical Grfbner Base to Triangular Sets


For computing a triangular family from a lexicographical OrSbner base, the main tool
is the following theorem by Gianni (1987) and Kalkbrenner (1987).

THEOREM 1. Let G be a GriSbner base of a zero-dimensional ideal in K [ x l , . . . , x,], for


the lexicographical ordering such that xl < x2 <" 9 9< xn ; suppose that G is sorted by increasing
leading monomial. Let f be a ring homomorphism of K [ x l , ... , Xk] into a field which maps
to 0 the elements of G which depend only on x~, . . . , xk. Then the first element of G which
is not mapped to 0 is the first one which depends only on x l , . . . , Xk+1 with a leading term
(as a polynomial in Xk+l) not mapped to 0. Moreover, the image by f of this polynomial is
the GCD of the images by f of all the elements of G depending only on xl . . . . , Xk+l.

The easiest application of this theorem is for numerically solving systems, i.e. when
the target field is an algebraic closure of K. But this result works with any target field
and makes the computation of an equivalent triangular family very easy and possible
without any new computation of a GrSbner base. As before, we give two versions of the
corresponding algorithm; the first one use factorizations and works with algebraic
extensions as target fields; the second one, using D5, works without any factorization.

Procedure 5 Lextriangular
Input: G: a GrSbner base of a zero-dimensional ideal of polynomials in x l , . . . , x,, sorted
by increasing leading monomials, for the lexicographical ordering such that x~ < . . 9<
xn;
Output: T: a triangular family equivalent with G;
Subf onctions :
Reduce(p, rood): reduces p modulo mod;
Inverse(p, rood): returns the inverse of p modulo mod;
Leading(p, x): returns the leading coefficient of p as a univariate polynomial in x;
Factor (p, rood): returns the list of irreducible monic factors of p modulo rood
Begin
T:=[[]];
for i :--- 1 to n do
H :-- the sublist o f the elements of G which depends on x; but not on x~+,,..., x,;
U : = T; T : = [ ] ;
for rood in U do
repeat
p :---first(H);
H := rest(H);
q := Leading(p, xj);
q :--- Inverse(q, mod);
until q ~ 0;
for q in Factor(p, rood) do
T := cons(cons(q, rood), T)
return ( T)
end.

The D5 variant of Lextriangular differs only by suppressing the loop on U which is


managed by D5 and by replacing the loop on the factors by the reduction of q * p by rood.
Zero-dimensional Algebraic Systems 129

Procedure 6 D51extriangular
Input: G: a Gr6bner base o f a zero-dimensional ideal of polynomials in x l , . . . , x~, sorted
by increasing leading monomials, for the lexicographical ordering such that xl < " 9 9<
xn;
Output: T: a triangular family equivalent with G;
Subfonctions:
Reduce(p, rood): reduces p modulo rood;
Inverse (p, raod): returns the inverse o f p modulo rood or 0 i f p reduces to 0 modulo rood;
Leading(p, x): returns the leading coefficient of p as a univariate polynomial in x;
Begin
rood := [];
for i:= 1 to n do
H := the sublist o f the elements of G which depends on xi but not on xi+l,. 9 9 x,;
repeat
p :=first(H);
H := rest(H);
q := Leading(p, xt);
q := Inverse(q, rood);
until q ~ O;
p:= Reduce(p * q, rood);
rood := cons(p, rood)
return(rood)
end.

Both algorithms are directly based on Theorem 1: at each step of the loop on i, the
polynomials in x - 1 , . . . , xl modulo mod form a field (or a D5-field) and Gianni-
Kalkbrenner theorem applies.
In each step of the loop on the moduli these algorithms need only one inversion of
the leading coefficient, one product by the inverse and one factorization or splitting for
each element of G which is visited. Let D be the number of monomials which are
irreducible by the input Gr6bner base; the sum of the degrees of the triangular sets (see
Definition 1) in the triangular family which is returned is at most D (equality if all
solutions are simple). Thus the time needed by Lextriangular or D51extriangular is at
most the length of G times the time needed for one inversion and one faetorization or
product of a polynomial by a constant. The length of G is at most nD (see Faug~re et
al., 1989), where n is the n u m b e r of variables; thus the above algorithms are polynomial
in D and n provided that the needed arithmetic operations are polynomial in the degrees
o f the triangular set of moduli and of the polynomial to be inverted or factorized. This
has been done in Langemyr (1991).

8. Numeric Resolution
We have seen above that numeric solutions may be easily obtained from triangular
sets by solving successive univariate polynomials. In fact, this is not so easy because,
after the first step, the coefficients are not integers. This is a problem on some computer
algebra systems which only provide a function for computing the roots for integer
coefficients. More importantly, finding the roots of a polynomial is a very unstable problem
130 D. Lazard

(see Wilkinson, 1959 or Davenport et al., 1986). Thus it is necessary to solve only univadate
polynomials with integer coefficients. This is easy from a triangular system.
The following algorithm starts with a triangular system and returns a list o f univariate
polynomials fo . . . . . f~ such that the set o f the evaluations of ( f l , . . . , f , ) at the roots of
f0 is exactly the set o f the c o m m o n zeros o f the triangular set. This algorithm is probably
not new, b u t has to be restated in terms o f triangular sets.

Procedure 7 Generic
Input: T = ( T I , . . . , T~): a triangular reduced set in the variables x ~ , . . . , x,;
Output: f = ( f o , . . . ,f~): a list o f univariate polynomials as specified above;
Begin
fo:= subst(z, x,, T1);
f l : = z;
for i= 2 to n do
p := s u b x t ( [ f l , . . . ,f~-d, [ x ~ , . . . , X~-l], T~);
if degree(p, x~) = 1 then
fi :---P - x ~ {p is monic};
else
for A in 1, - 1 , 2, - 2 , . 9 repeat
f := subst(z + hxi, z, fo);
q :-- subst(z+kx~, z,p);
r := resultant(f, q, xt)
until the last non-constant (in xi) subresultant is of degree 1 and the coefficient
o f xt in it has a constant G C D with r;
s :----this subresultant;
fo := r;
f~ := subst(O, x , s)/coeff(x, s) mod r {this quotient is congruent to a polynomial
m o d u l o r};
for j = 1 to i - 1 do fj:= subst(z + Af, z, fj);
end.

PROOF OF THE ALGORITHM. This algorithm replaces xl by a linear combination of it and


the other variables and expresses the variables as a polynomial in this new variable. It
is clear that it works if the until test eventually succeeds and if the resultant is not 0. If
the resultant is 0, then f and r have a common zero in x~ for each value o f z; substituting
back we get that f0 and p have an infinity o f common zeros, which is not possible, because
fo does not depend o n x~ and p is monic in x~. Thus the resultant is never 0. If the last
non-constant subresultant has a degree greater than 1, or if its leading coefficient has a
non-trivial G C D with the resultant r, then for some root of r, the G C D o f f and q is of
degree at least 2. This may be the case for an infinity o f values of h only iffo and p have
a c o m m o n non-simple zero. This is in contradiction to the reduced hypothesis on T.

REMARK 6. In practice, it is much better to factor f0 at each step and to split the triangular
set being constructed: the lower the degree offo, the faster is the computation and smaller
are the coefficients which appear, For the same reason, if the leading coefficient o f the
subresultant o f degree 1 has a common factor with the resultant, this may be used for
splitting the problem (for example with D5). The same decomposition comes from the
factorization o f the resulting fo, but an earlier decomposition leads to lower values of )t.
Zero-dimensional Algebraic Systems 131

PROPOSITION 7. The number o f arithmetic operations o f algorithm Generic is polynomial in


the degree D o f the input triangular set.

C l e a r l y , at e a c h step, the d e g r e e o f f o is less t h a n D. Thus t h e result follows f r o m the


f a c t that r e s u l t a n t c o m p u t a t i o n s a n d f a c t o r i z a t i o n s a r e p o l y n o m i a l , w h e n we r e m a r k t h a t
t h e n u m b e r of i t e r a t i o n s o n A is b o u n d e d b y the n u m b e r o f lines p a s s i n g t h r o u g h two
points among/9.

REMARK 7. I f w e t a k e into a c c o u n t the g r o w t h of coefficients, it a p p e a r s that G e n e r i c is


e x p o n e n t i a l in n. It seems that it is u n a v o i d a b l e : we are f a c e d with the difficulty of
c o m p u t i n g a p r i m i t i v e e l e m e n t o f a field extension.

References
Davenport, J. H. (1987). Looking at a set of equations. Technical report 8%06, University of Bath.
Davenport, J. H., Siret, Y., Tournier, E. (1986). CalculForrnel, Syst~meset algorithmes de manipulation alggbriques.
Masson. English translation: Computer Algebra. Pads: Academic Press, 1988.
Della Dora, J., Dicreseenzo, C., Duval, D. (1985). About a new method for computing in algebraic number
fields. Proc. EUROCAL '85, Vos 2. Lecture Notes in Computer Science 204, 289-290.
Dierescenzo, C., Dural, D. (1985). Algebraic computations on algebraic numbers. In: Computersand Computing.
Chenin, P. et aL (ed.). Paris: Masson and Wiley, 54-61.
Dicrescenzo, C., Duval, D. (1988). Algebraic extensions and algebraic closure in SCRATCHPAD II. Symbolic
and Algebraic Computation, International Symposium ISSAC '88 (P. Gianni, ed.). Lecture Notes in
Computer Science 358, 440-455.
Duval, D. (1987). Diverses questions relatives au calcul formel avee des nombres alg6bfiques. Th~se d'Etat,
Grenoble.
Faug~re, J. C., Gianni, P., Lazard, D., Mora, T. (1988). Efficient computation of zero-dimensional Grgbner
bases by change of ordering. Technical Report LITP 89-52. J. Symbolic Computation (submitted).
Gianni, P. (1987). Properties of Gr~bner bases under specializations. European Conference on Computer
Algebra, Leipzig, GDR, 1987 (J. H. Davenport, ed.). Lecture Notes in Computer Science 378, 293-297.
Gianni, P., Mora T. (1987). Algebraic solution of systems of polynomial equations using Gr6bner bases. Applied
Algebra, Algebraic Algorithms and Error-Correcting Codes (AAECC 5), Menorca, Spain, 1987. Lecture
Notes in Computer Science 356, 247-257.
Gianni, P., Trager, B., Zacharias, G. (1988). Grgbner bases and primary decomposition of polynomial ideals.
Z Symbolic Computation 6, 149-167.
Kalkbrenner, M. (1987). Solving systems of algebraic equations by using Gri~bner bases. European Conference
on Computer Algebra, Leipzig, GDR, 1987 (J. H. Davenport, ed.). Lecture Notes in Computer Science 378,
282-292.
Kobayashi, H., Fujise, T., Furukawa, A. (1988). Solving systems of algebraic equations by general elimination
method. J. Symbolic Computation 5, 303-320.
Kobayashi, H., Moritsugu, S., Hogan, R. W. (1988). On solving systems of algebraic equations. Symbolic and
Algebraic Computation, International Symposium ISSAC '88 (P. Gianni, ed.). Lecture Notes in Computer
Science 358, 139-149.
Lakshman, Y. N. (1990). On the complexity of computing a Grgbner basis for the radical of a zero dimensional
ideal. Proc. STOCS '90.
Lakshman, Y. N. (1991). A single exponential bound on the complexity of computing (3rSbner bases of zero
dimensional ideals. In: Effective Methods in Algebraic Geometry, Mora, T., Traverso, C. (eds). Progress
in Math. (Birkhiiuser) 14, 227-234.
Lakshman, Y. N., Lazard, D. (1991). On the complexity of zero-dimensional algebraic systems. In: Effective
Methods in Algebraic Geometry, Mora, T., Traverso, C. (eds). Progress in Math. (Birkh~iuser) 14, 217-225.
Langemyr, L. (1991). Algorithms for a multiple algebraic extension. In: Effective Methods in Algebraic Geometry,
Mora, T., Traverso, C. (eds). Progress in Math. (Birkh[iuser) 14, 235-248.
Lazard, D. (1981). R6solution des syst~mes d'6quations alg6bdques. Theor. Comp. Sci. 15, 77-110.
Lazard, D. (1983). GrSbner bases, gaussian elimination and resolution of systems of algebraic equations. Proc.
EUROCAL '83. Lecture Notes in Computer Science 162, 146-157.
Lazard, D. (1990). A new method for solving algebraic systems of positive dimension. Technical Report LITP
89-77. Distr. Appl. Math. (to appear).
Wilkinson, J. H. (1959). The evaluation of the zeros of ill.conditioned polynomials. Num. Math. 1, 150-180.
Wu Wen-Tsiin (1987). A zero structure theorem for polynomial equation solving. Math.-Mechanization Research
Preprints 1, 2-12, Academica Siniea, Beijing.

You might also like