A Generalized Euclidean Algorithm for Computing Triangular

A Generalized Euclidean Algorithm for Computing
Triangular Representations of Algebraic Varieties
MICHAEL KALKBRENER†
Research Institute for Symbolic Computation, Univ. Linz, Austria
We present an algorithm that computes an unmixed-dimensional decomposition of an
arbitrary algebraic variety V . Each Vi in the decomposition V = V1 ∪ . . . ∪ Vm is given
by a finite set of polynomials which represents the generic points of the irreducible
components of Vi . The basic operation in our algorithm is the computation of greatest
common divisors of univariate polynomials over extension fields. No factorization is
needed.
Some of the main problems in polynomial ideal theory can be solved by means of our
algorithm: we show how the dimension of an ideal can be computed, systems of algebraic
equations can be solved, and radical membership can be decided.
Our algorithm has been implemented in the computer algebra system MAPLE. Timings on well-known examples from computer algebra literature are given.
1. Introduction
Algebraic varieties are usually represented as sets of common zeros of finitely many
polynomials. In addition to this common method we use a different representation in this
paper, which is a generalization of a concept in Ritt (1950). Since every irreducible variety
is uniquely determined by one of its generic points (see van der Waerden (1967), p.160
and p.161) we represent varieties by representing the generic points of their irreducible
components. These generic points are given by certain finite sets of polynomials, so-called
regular chains.
In this paper we present an algorithm that computes an unmixed-dimensional decomposition of an arbitrary variety V given as the set of common zeros of finitely many
multivariate polynomials over a field. Every unmixed-dimensional variety Vi in the decomposition V = V1 ∪ . . . ∪ Vm is given by a regular chain which represents the generic
points of the irreducible components of Vi .
We have introduced the concept of regular chains in our Ph.D. thesis (Kalkbrener,
1991). It has been independently defined in Yang & Zhang (1991). Regular chains are a
† A large part of this work has been done during our stay at FUJITSU’s International Institute for
Advanced Study of Social Information Science in Numazu, Japan. This work has been supported by
the Austrian Fonds zur Förderung der wissenschaftlichen Forschung, project no. P6763, the Austrian
Ministry of Science, project ESPRIT BRA 3125 “MEDLAR”, and the U.S. Army Research Office through
the ACSyAM branch of the Mathematical Sciences Institute of Cornell University, Contract DAAL0391-C-0027.
2
M. Kalkbrener
generalization of Ritt’s irreducible ascending sets (see Ritt, 1950). The main difference between these two concepts is that no irreducibility condition is imposed on regular chains.
Therefore, regular chains represent unmixed-dimensional varieties instead of irreducible
varieties, and no factorization is required to compute them.
In Wu (1986) a modified version of Ritt’s decomposition algorithm is presented. Recently Gao and Chou proved that the coarse form decomposition algorithm in Wu (1986),
which does not use polynomial factorization either, computes unmixed-dimensional decompositions of varieties (Gao & Chou, 1991).
Regular chains are also similar to triangular sets, a concept introduced by D. Lazard.
In Lazard (1992) triangular sets are used for solving zero-dimensional systems of algebraic equations. Without giving a correctness proof, D. Lazard generalized this algorithm
to systems of arbitrary dimension in Lazard (1991). Furthermore, the definition of triangular sets given in Lazard (1992) is strengthened in Lazard (1991) in order to guarantee
that different triangular sets represent different varieties. Regular chains do not have
this “canonical representation” property. Compared to the definition of triangular sets
given in Lazard (1991), the definition of regular chains is simpler and more general. Our
whole algorithm has a rather simple structure and is easy to implement. Recently, an
implementation has been done in MAPLE V.
The basic operation in our algorithm is the computation of greatest common divisors
of univariate polynomials over extension fields given by regular chains. Our strategy
for computing in these extension fields is similar to the one for computing in algebraic
extension fields suggested in Della Dora et al. (1985) and implemented in Scratchpad
under the name D5 (see Dicrescenzo & Duval, 1988).
In Section 2 we introduce the concept of regular chains and state more formally the
problem we are concerned with. In Section 3 we show that if a variety is represented by
regular chains then it is easy to determine its dimension, to compute the generic points
of its irreducible components, and to decide radical membership. In Section 4 algorithms
are developed for computing in extension fields given by regular chains. In particular, we
present an algorithm for computing the greatest common divisor of univariate polynomials over extension fields given by regular chains. In Section 5 we give an algorithmic
solution based on this gcd algorithm for the problem stated in Section 2. In Section 6
timings on well-known examples from computer algebra literature are presented. The
termination and correctness of every algorithm presented in this paper are proved in
Section 7 or Section 8.
2. Definitions
2.1. basic definitions
Throughout the paper let K be a field and K̄ an algebraically closed field which has
infinite transcendence degree over K (a so-called universal domain).
Let F be a subset of K[x1 , . . . , xn ]. If F is a finite set then we denote the number of
elements in F by |F |. Vn (F ) denotes the variety of F in K̄ n , i.e. the set
{a ∈ K̄ n | f (a) = 0 for every f ∈ F }.
A variety in K̄ n is any subset of K̄ n which is the variety of some subset of K[x1 , . . . , xn ].
An element a of a variety V in K̄ n is a generic point of V (over K) if for every f ∈
Computing Triangular Representations of Algebraic Varieties
3
K[x1 , . . . , xn ]:
f (a) = 0
implies
f (b) = 0 for every b ∈ V.
If a = (a1 , . . . , an ) and b = (b1 , . . . , bn ) are two generic points of V then there exists a Kisomorphism h of the extension field K(a1 , . . . , an ) onto the extension field K(b1 , . . . , bn )
such that h(ai ) = bi for every i ∈ {1, . . . , n} (see van der Waerden (1967), p.160). It
is well-known (see, for instance, van der Waerden (1967), p.159 and p.161) that every
element of K̄ n is a generic point of an irreducible variety and that a variety is irreducible
if and only if it has a generic point. The dimension of V is denoted by dim(V ). Let
f=
d
X
qi (x1 , . . . , xn−1 )xin
i=0
be a polynomial in K[x1 , . . . , xn ] with qd 6= 0. The polynomial qd is called the leading
coefficient of f with respect to xn , abbreviated lcn (f ). The degree of f in xn is denoted by
degn (f ). Furthermore, we define degn (0) := −1. For non-zero f1 , f2 ∈ K[x1 , . . . , xn ] the
pseudoremainder and pseudoquotient with respect to xn are denoted by premn (f1 , f2 )
and pquon (f1 , f2 ). The monic gcd of the polynomials in F is denoted by gcd(F ) for every
finite subset F of K[x1 , . . . , xn ] with F 6= {0}. Furthermore, we define gcd({0}) := 0.
If there is no danger of confusion we sometimes drop the subscript.
2.2. regular chains
Varieties are usually represented as sets of common zeros of finitely many polynomials.
In addition to this common method we use a different representation in this paper, which
is a generalization of a concept in Ritt (1950). Since every irreducible variety in K̄ n is
uniquely determined by one of its generic points we represent varieties by representing the
generic points of their irreducible components. These generic points are given by certain
subsets of K[x1 , . . . , xn ], so-called regular chains in K[x1 , . . . , xn ]. The set of generic
points in K̄ n given by a regular chain R is called the set of regular zeros of R. Every
set of regular zeros of a regular chain R contains all generic points of a finite number of
irreducible varieties V1 , . . . , Vr . The variety V1 ∪ . . . ∪ Vr is said to be represented by R.
We now give a formal inductive definition of regular chains and regular zeros of regular
chains:
Let n be 0. The empty set is the only regular chain in K and the set K̄ 0 which contains
the empty list only is called the set of regular zeros of ∅, abbreviated RZ0 (∅).
Let n be a natural number. A subset R of the polynomial ring K[x1 , . . . , xn ] is a regular
chain in K[x1 , . . . , xn ] if
(1) R ∩ K[x1 , . . . , xn−1 ] is a regular chain in K[x1 , . . . , xn−1 ],
(2) R − K[x1 , . . . , xn−1 ] has at most one element, and
(3) if there exists an f in R − K[x1 , . . . , xn−1 ] then lcn (f )(a1 , . . . , an−1 ) 6= 0 for every
element (a1 , . . . , an−1 ) of the set of regular zeros of R ∩ K[x1 , . . . , xn−1 ].
Let R be a regular chain in K[x1 , . . . , xn ] and RZ the set of regular zeros of R ∩
K[x1 , . . . , xn−1 ]. If R ⊆ K[x1 , . . . , xn−1 ] then the set
{(a1 , . . . , an ) | (a1 , . . . , an−1 ) ∈ RZ, an ∈ K̄ is transcendental over K(a1 , . . . , an−1 )}
4
M. Kalkbrener
is called the set of regular zeros of R. If there exists an f ∈ R − K[x1 , . . . , xn−1 ] then
{(a1 , . . . , an ) | (a1 , . . . , an−1 ) ∈ RZ, an ∈ K̄, and f (a1 , . . . , an ) = 0}
is called the set of regular zeros of R. The set of regular zeros of R is denoted by RZn (R).
It is clear from the definition that RZn (R) is not empty for every regular chain R in
K[x1 , . . . , xn ].
Example 2.1. Let Q denote the rational numbers and let
R1
R2
R3
R4
:=
:=
:=
:=
{x22 − x21 ,
{x22 − x21 ,
{x22 − x21 ,
{x22 − x21 ,
x3 , x3 + 1},
(x2 − x1 )x3 },
x3 − x1 },
x2 (x3 − x1 )}.
R1 is not a regular chain in Q[x1 , x2 , x3 ] because two of the elements are in Q[x1 , x2 , x3 ]−
Q[x1 , x2 ]. Obviously, {x22 − x21 } is a regular chain in Q[x1 , x2 ] and RZ2 ({x22 − x21 }) is the
set
{(a, a) | a ∈ Q̄ transcendental over Q} ∪ {(a, −a) | a ∈ Q̄ transcendental over Q}.
Since lc3 ((x2 − x1 )x3 )(a, a) = 0 for (a, a) in RZ2 ({x22 − x21 }), R2 is not a regular chain.
R3 and R4 are regular chains and RZ3 (R3 ) and RZ3 (R4 ) are the set
{(a, a, a) | a ∈ Q̄ transcendental over Q} ∪ {(a, −a, a) | a ∈ Q̄ transcendental over Q}.
Note that (0, 0, a) is a common zero of the polynomials in R4 , but it is not in RZ3 (R4 ). 2
Let n be a natural number. If R is a regular chain in K[x1 , . . . , xn ] then the set
{V | V is an irreducible variety in K̄ n with a generic point in RZn (R)}
is called the set of irreducible varieties associated with R, abbreviated AIVn (R). Note
that AIVn (∅) = {K̄ n }. Therefore, we define AIV0 (∅) := {K̄ 0 }. For every non-negative
integer n and every regular chain R in K[x1 , . . . , xn ] the variety
[
V
V ∈AIVn (R)
is said to be represented by R and is denoted by Repn (R). Note that every generic point
of a variety V ∈ AIVn (R) is in RZn (R).
Example 2.2. Let R3 and R4 be defined as in Example 2.1. Obviously, AIV3 (R3 ) and
AIV3 (R4 ) contain the two irreducible varieties V ({x2 +x1 , x3 −x1 }) and V ({x2 −x1 , x3 −
x1 }). Hence, R3 and R4 represent the variety V ({x22 − x21 , x3 − x1 }). 2
Regular chains can be considered as a generalization of Ritt’s irreducible ascending sets
(Ritt, 1950; Wu, 1984). Every irreducible ascending set in K[x1 , . . . , xn ] represents exactly
one irreducible variety in K̄ n . Since we have dropped the condition of irreducibility,
a finite number of irreducible varieties is given by a regular chain. This is also true
for triangular sets. Instead of the Condition 3 in our definition of regular chains, five
other conditions are imposed on triangular sets in Lazard (1991) in order to make every
polynomial in a triangular set monic, primitive and squarefree in a rather technical sense.
Computing Triangular Representations of Algebraic Varieties
5
2.3. the problem
In this paper we are concerned with the development of an algorithm that solves the
following problem:
Given: F = {f1 , . . . , fk }, a finite, non-empty subset of K[x1 , . . . , xn ].
Find: M = {R1 , . . . , Rl }, a (possibly empty) set of regular chains in K[x1 , . . . , xn ] such
that
l
[
Vn (F ) =
Repn (Ri ).
i=1
Some of the main problems in polynomial ideal theory can be easily solved if we are
able to represent arbitrary varieties by means of regular chains. In the following section
we show how the dimension of an ideal can be computed, systems of algebraic equations
can be solved, and radical membership can be decided. Several other algorithms for
solving these problems have been developed and implemented during the last years.
Many of them are based on Gröbner bases (Buchberger, 1965; 1985) or characteristic set
computations (Ritt, 1950). See, for instance, Kredel & Weispfenning (1988), Wu (1986),
Gao & Chou (1991) for computing dimensions of ideals, Buchberger (1985), Wu (1986)
for solving systems of algebraic equations and Kapur (1986), Ritt (1950) for deciding
radical membership.
3. Properties of Regular Chains
In this section let F = {f1 , . . . , fk } be a finite subset of K[x1 , . . . , xn ] and M =
{R1 , . . . , Rl } a (possibly empty) set of regular chains in K[x1 , . . . , xn ] such that
Vn (F ) =
l
[
Repn (Ri ).
i=1
Note that
l
[
Repn (Ri ) = ∅
iff
M = ∅.
(3.1)
i=1
3.1. computing the dimension of an ideal
Theorem 3.1. Let R be a regular chain in K[x1 , . . . , xn ]. Then Repn (R) is unmixeddimensional and
dim(Repn (R)) = n − |R|.
Proof. By definition,
Repn (R) =
[
V.
V ∈AIVn (R)
Let V ∈ AIVn (R) and (a1 , . . . , an ) ∈ RZn (R) a generic point of V . By definition
6
M. Kalkbrener
of RZn (R), the transcendence degree of K(a1 , . . . , an ) is n − |R|. Hence, Repn (R) is
unmixed-dimensional and
dim(Repn (R)) = n − |R|. 2
We obtain from (3.1) and the previous theorem that
dim(V (F )) = −1
iff
M = ∅,
(3.2)
dim(V (F )) = n − min(|R1 |, . . . , |Rl |)
iff
M 6= ∅.
(3.3)
Since the ideal I generated by F has the same dimension as V (F ) we can use (3.2) and
(3.3) for determining the dimension of I as well.
3.2. solving systems of algebraic equations
First of all, we can decide whether the system
f1 = 0, . . . , fk = 0
(3.4)
has no, finitely many, or infinitely many solutions: it is an easy consequence of (3.2) and
(3.3) that
system (3.4) has no solutions
iff
M = ∅,
(3.4) has finitely many solutions
iff
M 6= ∅ and |Ri | = n for every i ∈ {1, . . . , l},
(3.4) has infinitely many solutions
iff there exists an R ∈ M with |R| < n.
By definition,
Vn (F ) =
l
[
Repn (Ri )
i=1
and for every i ∈ {1, . . . , l} RZn (Ri ) is the subset of Repn (Ri ) that contains those
elements that are generic points of one of the irreducible varieties associated with Ri .
We know from (van der Waerden (1967), p.162) that if Repn (Ri ) has only finitely many
elements then
Repn (Ri ) = RZn (Ri ).
Each of the sets RZn (R1 ), . . . , RZn (Rl ) can be computed by “successive substitution”.
Example 3.1. We consider the following system of algebraic equations due to Arnborg
and Davenport:
f1 := x1 + x2 + x3 + x4 ,
f2 := x1 x2 + x2 x3 + x3 x4 + x4 x1 ,
f3 := x1 x2 x3 + x2 x3 x4 + x3 x4 x1 + x4 x1 x2 , f4 := x1 x2 x3 x4 − 1.
Using the algorithm solve in Section 5 we can represent every variety by a finite number
of regular chains. In this example the variety V4 ({f1 , f2 , f3 , f4 }) can be represented by a
single regular chain:
V4 ({f1 , f2 , f3 , f4 }) = Rep4 (R),
where R := { x21 x22 − 1, x3 + x1 , x4 + x2 }.
Since R contains 3 elements, the variety is unmixed one-dimensional. The polynomial
Computing Triangular Representations of Algebraic Varieties
7
x21 x22 − 1 can be factored into x1 x2 − 1 and x1 x2 + 1. Therefore, RZ2 ({x21 x22 − 1}) is the
set
{(a, 1/a) | a ∈ Q̄ transcendental over Q} ∪ {(a, −1/a) | a ∈ Q̄ transcendental over Q}.
In this example we easily obtain by successive substitution that
RZ4 (R)
= {(a, 1/a, −a, −1/a) | a ∈ Q̄ transcendental over Q} ∪
{(a, −1/a, −a, 1/a) | a ∈ Q̄ transcendental over Q}.
2
3.3. deciding radical membership
In the following section we develop an algorithm called separaten that satisfies the
following specification:
Input: R, a regular chain in K[x1 , . . . , xn ],
g, a polynomial in K[x1 , . . . , xn ].
Output: O, a set of regular chains in K[x1 , . . . , xn ] such that
[
{a ∈ RZn (R) | g(a) 6= 0} =
RZn (R0 ).
R0 ∈O
By means of separaten we can easily decide radical membership. Let J be the radical
of the ideal generated by F and g a polynomial in K[x1 , . . . , xn ]. Obviously,
g is an element of J
iff
g vanishes on V (F )
iff
for every i ∈ {1, . . . , l} separaten (Ri , g) = ∅.
4. Computing Modulo Regular Chains
Before we can present an algorithmic solution of the problem in Subsection 2.3, we
have to develop algorithms for computing in extension fields given by regular chains.
Our strategy for computing in these extension fields is similar to the one for computing in algebraic extension fields suggested in Della Dora et al. (1985) and implemented
in Scratchpad under the name D5 (see Dicrescenzo & Duval, 1988). By means of the
following example we illustrate the basic idea behind this method.
Example 4.1. Let us assume that we want to decide for every zero a of the polynomial
x6 − 10x4 + 31x2 − 30 whether a2 − 3 = 0.
One possible strategy is to decompose x6 − 10x4 + 31x2 − 30 into its irreducible factors
2
x − 2, x2 − 3, x2 − 5 and to decide this question for each of the extension fields
Q[x]/x2 −2 , Q[x]/x2 −3 , Q[x]/x2 −5 separately.
Obviously, factorization can be replaced by gcd computations in this example: since
gcd(x6 − 10x4 + 31x2 − 30, x2 − 3) = x2 − 3,
x − 10x4 + 31x2 − 30 = (x2 − 3)(x4 − 7x2 + 10),
and x4 − 7x2 + 10 and x2 − 3 are relatively prime
6
8
M. Kalkbrener
we know that
a2 − 3 = 0 iff a is a zero of x2 − 3,
a2 − 3 6= 0 iff a is a zero of x4 − 7x2 + 10. 2
For using this “splitting on demand”-strategy we need for every natural number n two
algorithms called commonn and separaten that satisfy the following specifications:
commonn (in: R, g; out: O)
Input: R, a regular chain in K[x1 , . . . , xn ],
g, a polynomial in K[x1 , . . . , xn ].
Output: O, a set of regular chains in K[x1 , . . . , xn ] such that
[
{a ∈ RZn (R) | g(a) = 0} =
RZn (R0 ).
R0 ∈O
separaten (in: R, g; out: O)
Input: R, a regular chain in K[x1 , . . . , xn ],
g, a polynomial in K[x1 , . . . , xn ].
Output: O, a set of regular chains in K[x1 , . . . , xn ] such that
[
{a ∈ RZn (R) | g(a) 6= 0} =
RZn (R0 ).
R0 ∈O
Example 4.2. Let R be the regular chain {x22 + x21 , x23 − x1 x3 − x3 + x1 } in Q[x1 , x2 , x3 ].
For which (a1 , a2 , a3 ) in RZ3 (R) is a21 a−2
2 + a3 equal to 0?
This problem can be easily solved by means of common and separate. First we check
whether a−1
2 exists for every (a1 , a2 , a3 ) in RZ3 (R): by computing common3 (R, x2 ) we
obtain as output the empty set. Therefore, a2 6= 0 and a−1
2 exists for every (a1 , a2 , a3 ) ∈
RZ3 (R). By computing common3 (R, x21 + x3 x22 ) respectively separate3 (R, x21 + x3 x22 )
we obtain as output set {x22 + x21 , x21 + x3 x22 } respectively {x22 + x21 , x22 x3 − x22 x1 − x22 − x21 }.
Therefore,
0
a21 a−2
2 + a3 = 0 iff (a1 , a2 , a3 ) is an element of RZ3 (R ),
2 −2
a1 a2 + a3 6= 0 iff (a1 , a2 , a3 ) is an element of RZ3 (R00 ),
where R0 := {x22 + x21 , x21 + x3 x22 } and R00 := {x22 + x21 , x22 x3 − x22 x1 − x22 − x21 }. 2
In Example 4.1 we have found two factors of the polynomial x6 − 10x4 + 31x2 − 30 by
a gcd computation. A general gcd algorithm also is the core of common and separate
and plays a crucial role in the algorithm in the next section which solves the problem
stated in Subsection 2.3.
We define for every natural number n an algorithm named ggcdn (= generalized
greatest common divisor) that satisfies the following specification.
Computing Triangular Representations of Algebraic Varieties
9
ggcdn (in: R, F ; out: O)
Input: R, a regular chain in K[x1 , . . . , xn−1 ],
F , a finite, non-empty subset of K[x1 , . . . , xn ].
Output: O, where O = {(R1 , g1 ), . . . , (Rl , gl )} and R1 , . . . , Rl are regular chains in
K[x1 , . . . , xn−1 ] and g1 , . . . , gl are polynomials in K[x1 , . . . , xn ] with
(1) RZn−1 (R) = RZn−1 (R1 ) ∪ . . . ∪ RZn−1 (Rl ),
(2) for every i ∈ {1, . . . , l} and every a = (a1 , . . . , an−1 ) ∈ RZ(Ri ):
(a) if gi 6= 0 then lc(gi )(a) 6= 0,
(b) gi (a, xn ) is the gcd of the polynomials in {f (a, xn ) | f ∈ F } (up to a
multiplicative constant),
(3) for every i ∈ {1, . . . , l}:
gi vanishes on Repn (Ri ) ∩ Vn (F ).
We will do the construction of these algorithms by induction.
Induction basis: Construction of ggcd1 .
Obviously, the simple algorithm
O := {(∅, gcd(F ))}
satisfies the above specification.
Induction step: Construction of ggcdn+1 .
By means of ggcdn we construct the algorithms commonn and separaten first.
commonn (in: R, g; out: O)
Input: R, a regular chain in K[x1 , . . . , xn ],
g, a polynomial in K[x1 , . . . , xn ].
Output: O, a set of regular chains in K[x1 , . . . , xn ] such that
[
{a ∈ RZn (R) | g(a) = 0} =
RZn (R0 ).
R0 ∈O
{(S1 , g1 ), . . . , (Sr , gr )} := ggcdn (R ∩ K[x1 , . . . , xn−1 ], R − K[x1 , . . . , xn−1 ] ∪ {g})
if R − K[x1 , . . . , xn−1 ] = ∅
then
O := {Sj | j ∈ {1, . . . , r} and gj = 0}
else
O := {Sj ∪ {gj } | j ∈ {1, . . . , r} and gj ∈
/ K[x1 , . . . , xn−1 ]}
10
M. Kalkbrener
separaten (in: R, g; out: O)
Input: R, a regular chain in K[x1 , . . . , xn ],
g, a polynomial in K[x1 , . . . , xn ].
Output: O, a set of regular chains in K[x1 , . . . , xn ] such that
[
{a ∈ RZn (R) | g(a) 6= 0} =
RZn (R0 ).
R0 ∈O
{(S1 , g1 ), . . . , (Sr , gr )} := ggcdn (R ∩ K[x1 , . . . , xn−1 ], R − K[x1 , . . . , xn−1 ] ∪ {g})
if R − K[x1 , . . . , xn−1 ] = ∅
then
O := {Sj | j ∈ {1, . . . , r} and gj 6= 0}
else
f := the only element in R − K[x1 , . . . , xn−1 ]
J := {j ∈ {1, . . . , r} | gj ∈
/ K[x1 , . . . , xn−1 ] and degn (gj ) < degn (f )}
O := {S
∪
{f
}
|
j
∈
{1,
.
. . , r} and gj ∈ K[x1 , . . . , xn−1 ]} ∪
Sj
separate
(S
j ∪ {pquo(f, gj )}, g)
n
j∈J
Now we are in the position to define ggcdn+1 :
if |F − {0}| ≥ 2 or there exists a non-zero g ∈ F and an a ∈ RZn (R) such that
lcn+1 (g)(a) = 0
then
f := a non-zero element in F with minimal degree in xn+1
F 0 := F − {f }
M 0 := commonn (R, lcn+1 (f ))
M 00 := separaten (R, lcn+1 (f ))
deg
(f )
f 0 := f − lc(f ) · xn+1n+1
F 00 :=S{premn+1 (g, f ) | g ∈ F 0 }
S
O := S 0 ∈M 0 ggcdn+1 (S 0 , F 0 ∪ {f 0 }) ∪ S 00 ∈M 00 ggcdn+1 (S 00 , F 00 ∪ {f })
else
if there exists a non-zero f ∈ F
then
O := {(R, f )}
else
O := {(R, 0)}
The termination and correctness of the algorithms presented in this section is proved
in Section 7.
Example 4.3. Let us compute the gcd of x22 + x1 and x1 x2 + x21 modulo x41 − x31 , i.e. let
us compute
ggcd2 ({x41 − x31 }, {x22 + x1 , x1 x2 + x21 }).
Computing Triangular Representations of Algebraic Varieties
11
First we want to divide x22 + x1 by x1 x2 + x21 . Since the leading coefficient of x1 x2 + x21
is x1 and
common1 ({x41 − x31 }, x1 ) = {{x1 }} and separate1 ({x41 − x31 }, x1 ) = {{x1 − 1}}
we split the computation into two independent parts: We compute
ggcd2 ({x1 }, {x22 + x1 , x21 }),
where x21 has been obtained by computing (x1 x2 + x21 ) − lc2 (x1 x2 + x21 ) · x2 , and we
compute
ggcd2 ({x1 − 1}, {x1 x2 + x21 , x41 + x31 }),
where x41 + x31 is the pseudoremainder of x22 + x1 and x1 x2 + x21 .
Computation of ggcd2 ({x1 }, {x22 + x1 , x21 }):
From
lc2 (x21 ) = x21 , common1 ({x1 }, x21 ) = {{x1 }}, and separate1 ({x1 }, x21 ) = ∅
we obtain
ggcd2 ({x1 }, {x22 + x1 , x21 }) = ggcd2 ({x1 }, {x22 + x1 , 0}).
Since the leading coefficient of x22 + x1 does not vanish if x1 is replaced by 0, which is
the only element in RZ1 ({x1 }),
ggcd2 ({x1 }, {x22 + x1 , 0}) = {({x1 }, x22 + x1 )}.
Computation of ggcd2 ({x1 − 1}, {x1 x2 + x21 , x41 + x31 }):
From
lc2 (x41 + x31 ) = x41 + x31 , common1 ({x1 − 1}, x41 + x31 ) = ∅,
separate1 ({x1 − 1}, x41 + x31 ) = {{x1 − 1}}
and the fact that the pseudoremainder of x1 x2 + x21 and x41 + x31 with respect to x2 is 0
we obtain
ggcd2 ({x1 − 1}, {x1 x2 + x21 , x41 + x31 }) = ggcd2 ({x1 − 1}, {x41 + x31 , 0}).
Since lc2 (x41 + x31 ) does not vanish if x1 is replaced by 1, which is the only element in
RZ1 ({x1 − 1}),
ggcd2 ({x1 − 1}, {x41 + x31 , 0}) = {({x1 − 1}, x41 + x31 )}.
Altogether,
ggcd2 ({x41 − x31 }, {x22 + x1 , x1 x2 + x21 }) = {({x1 }, x22 + x1 ), ({x1 − 1}, x41 + x31 )}. 2
5. Computing Regular Chains
The objective of this section is to show how the algorithm ggcd can be used for solving
the problem stated in Subsection 2.3.
Let n be a non-negative integer. We define a partial ordering on the elements of K̄ n .
12
M. Kalkbrener
Let a := (a1 , . . . , an ) and b := (b1 , . . . , bn ) be elements of K̄ n . Then a is smaller than b,
written a ≺ b, if there exists an i ∈ {1, . . . , n} such that for every j ∈ {1, . . . , i − 1}
K(a1 , . . . , aj ) and K(b1 , . . . , bj ) have the same transcendence degree (over K)
and K(a1 , . . . , ai ) has a smaller transcendence degree than K(b1 , . . . , bi ).
(Strictly speaking, not ≺ but the relation is a partial ordering, where a b if a ≺ b or
a = b.) If neither a ≺ b nor b ≺ a then a and b are similar, denoted by a ∼ b.
Obviously, the following lemma holds.
Lemma 5.1. Let R be a regular chain in K[x1 , . . . , xn ] and a, b ∈ RZn (R). Then
a ∼ b.
Because of this result we can define the following two relations on regular chains. Let
R and S be two regular chains in K[x1 , . . . , xn ], a ∈ RZn (R), and b ∈ RZn (S). Then
R≺S
iff
a≺b
R∼S
iff
a ∼ b.
and
Another obvious result is stated in Lemma 5.2.
Lemma 5.2. There do not exist infinitely many regular chains R1 , R2 , . . . in K[x1 , . . . , xn ]
such that
R1 R2 . . .
We will construct for every natural number n an algorithm named solven that satisfies
the following specification.
solven (in: R, F ; out: O)
Input: R, a regular chain in K[x1 , . . . , xn−1 ],
F , a non-empty, finite subset of K[x1 , . . . , xn ].
Output: O, a set of regular chains in K[x1 , . . . , xn ] such that
(1) for every R0 ∈ O, every a ∈ RZn−1 (R0 ∩ K[x1 , . . . , xn−1 ]) and every b ∈
RZn−1 (R):
a ∈ RZn−1 (R) or a ≺ b,
(2)
[
Repn (R) ∩ Vn (F ) ⊆
Repn (R0 ) ⊆ Vn (F ).
R0 ∈O
Again we will do the construction of these algorithms by induction.
Induction basis: Construction of solve1 .
Obviously, the simple algorithm
Computing Triangular Representations of Algebraic Varieties
13
if gcd(F ) = 1
then
O := ∅
else
O := {{gcd(F )} − {0}}
satisfies the above specification.
Induction step: Construction of solven , where n > 1.
{(S1 , g1 ), . . . , (Sl , gl )} := ggcdn (R, F )
J := {iS∈ {1, . . . , l} | gi 6= 0}
M := j∈J solven−1 (Sj ∩ K[x1 , . . . , xn−2 ], Sj − K[x1 , . . . , xn−2 ] ∪ {lcn (gj )})
O := {Si | i ∈ {1, . . . , l}, i ∈
/ J} ∪
{S
∪
{g
}
|
j
∈
J,
g
∈
/ K[x1 , . . . , xn−1 ]} ∪
j
j
j
S
S∈M solven (S, F )
The termination and correctness of this algorithm is proved in Section 8.
The following theorem states the solution of the problem we are concerned with.
Theorem 5.1. Let F be a non-empty, finite subset of K[x1 , . . . , xn ] and {R1 , . . . , Rl } :=
solven (∅, F ). Then
Vn (F ) =
l
[
Repn (Ri ).
i=1
Proof. Since Repn (∅) = K̄ n , we obtain from the specification of solven that
Vn (F ) = K̄ n ∩ Vn (F ) ⊆
l
[
Repn (Ri ) ⊆ Vn (F ). 2
i=1
Example 5.1. As an easy application of solve we compute a representation by regular
chains of the variety V2 ({x22 + x1 , x1 x2 + x21 }).
Computation of solve2 (∅, {x22 + x1 , x1 x2 + x21 }):
{(S1 , g1 )} := ggcd2 (∅, {x22 + x1 , x1 x2 + x21 }) = {(∅, x41 + x31 )},
J := {1},
M := solve1 (∅, {x41 + x31 }) = {{x41 + x31 }},
O := solve2 ({x41 + x31 }, {x22 + x1 , x1 x2 + x21 }).
Computation of solve2 ({x41 + x31 }, {x22 + x1 , x1 x2 + x21 }):
{(S1 , g1 ), (S2 , g2 )} := ggcd2 ({x41 + x31 }, {x22 + x1 , x1 x2 + x21 }) =
{({x1 }, x22 + x1 ), ({x1 + 1}, x1 x2 + x21 )},
14
M. Kalkbrener
J := {1, 2},
M := solve1 (∅, {x1 , 1}) ∪ solve1 (∅, {x1 + 1, x1 }) = ∅,
O := {{x1 , x22 + x1 }, {x1 + 1, x1 x2 + x21 }}.
Hence,
V2 ({x22 + x1 , x1 x2 + x21 }) = Rep2 ({x1 , x22 + x1 }) ∪ Rep2 ({x1 + 1, x1 x2 + x21 }). 2
6. Examples and Computing Times
We have implemented solve in MAPLE V and have applied this algorithm to the
following systems of algebraic equations that can be found in Böge et al. (1986) or
Czapor & Geddes (1986).
(1) Trinks’ system: 6 equations, 6 variables (see Böge et al., 1986) with
(a) ordering w > p > z > t > s > b (see Problem 1(a) in Czapor (1989) or Problem
1 in Czapor & Geddes (1986)),
(b) ordering w > b > p > z > s > t (see Problem 1(b) in Czapor (1989)),
(c) ordering b > t > s > w > p > z (see Problem 1(c) in Czapor (1989)).
(2) Katsura’s system: 5 equations, 5 variables (see Böge et al., 1986) with
(a) ordering u4 > u2 > u0 > u3 > u1 (see Problem 2(a) in Czapor (1989)),
(b) ordering u4 > u0 > u3 > u2 > u1 (see Problem 2(b) in Czapor (1989) or
Problem 4(b) in Czapor & Geddes (1986)).
(3) Rose’s system: 3 equations, 3 variables (see Böge et al., 1986) with ordering u4 >
u3 > a46 (see Problem 3 in Czapor (1989)).
(4) Problem 2 in Czapor & Geddes (1986): 3 equations, 3 variables with ordering x >
y > z.
(5) Fee’s system: 4 equations, 5 variables (see Czapor & Geddes, 1986) with
(a) substitution b = 2 and ordering q > c > p > d (see Problem 5(a) in Czapor &
Geddes (1986)),
(b) ordering q > c > p > d and parameter b (see Problem 5(b) in Czapor & Geddes
(1986)),
(c) ordering c > d > q > b > p (see Problem 4 in Czapor (1989)).
(6) Problem 7 in Czapor & Geddes (1986): 2 equations, 2 variables, 9 parameters with
ordering x > y.
(7) Problem 9 in Czapor & Geddes (1986): 3 equations, 3 variables, 9 parameters with
(a) substitution d = e = f = 0 and ordering x > y > z (see Problem 9(a) in
Czapor & Geddes (1986)),
(b) substitution a = b = c = g = h = k = 1 and ordering x > y > z (see Problem
9(b) in Czapor & Geddes (1986)),
(c) 9 free parameters and ordering x > y > z.
Computing Triangular Representations of Algebraic Varieties
15
All computations have been done on a Sun Sparcstation 2. The computing times are
given in seconds. We have compared solve with the Gröbner bases implementation gbasis in MAPLE V. The times in parentheses are the computing times of gbasis with
respect to the lexicographical ordering.
Computing times of solve
solve :
gbasis :
1(a)
26
(7)
1(b)
615
(178)
1(c)
10843
(1070)
solve :
gbasis :
5(a)
3077
(?)
5(b)
> 20000
(> 20000)
5(c)
> 20000
(> 20000)
2(a)
2(b)
194 > 20000
(90) (1597)
3
301
(16550)
4
10
(10)
6
12
(20)
7(b)
12
(7335)
7(c)
96
(> 20000)
7(a)
7
(30)
? error message from gbasis: degree of one of the intermediate polynomials too large.
Compared with the Gröbner bases implementation in MAPLE the current implementation of solve performs rather well in examples with at most three variables. In the
case of more variables it seems to be extremely sensitive to the ordering of variables.
In some of the examples very large intermediate polynomials have been computed. This
seems to be the main reason for the bad performance in some of the examples with more
than three variables. We intend to investigate the practical applicability of solve more
carefully. In particular, a comparison with the algorithms of Ritt, Wu and Lazard seems
to be interesting.
No complexity analysis of solve and its subalgorithms has been made. We think that
such an analysis and a comparison with the complexity results in Giusti & Heintz (1990)
is a challenging problem for future research.
7. Proofs of Termination and Correctness of the Algorithms in Section 4
Let n be a natural number and let us assume that ggcdn terminates and satisfies its
specification. Under this assumption we have to prove termination and correctness of
commonn , separaten , and ggcdn+1 .
Proof of termination and correctness of commonn :
Let R and g satisfy the input specification. Termination readily follows from the termination of ggcdn . By the specification of ggcdn and the definition of the output set
O, every element of O is a regular chain in K[x1 , . . . , xn ]. Let a = (a1 , . . . , an ) be an
element of K̄ n .
Case: R − K[x1 , . . . , xn−1 ] = ∅.
16
M. Kalkbrener
a∈
S
R0 ∈O
RZn (R0 )
iff
there exists a j ∈ {1, . . . , r} with gj = 0 and a ∈ RZn (Sj )
iff
there exists a j ∈ {1, . . . , r} with gj (a1 , . . . , an−1 , xn ) = 0,
(a1 , . . . , an−1 ) ∈ RZn−1 (Sj ), and an is transcendental over K(a1 , . . . , an−1 )
iff
there exists a j ∈ {1, . . . , r} with (a1 , . . . , an−1 ) ∈ RZn−1 (Sj ),
an is transcendental over K(a1 , . . . , an−1 ), and g(a1 , . . . , an−1 , xn ) = 0
iff
(a1 , . . . , an−1 ) ∈ RZn−1 (R ∩ K[x1 , . . . , xn−1 ]),
an is transcendental over K(a1 , . . . , an−1 ), and g(a) = 0
iff
a ∈ RZn (R) and g(a) = 0.
Case: R − K[x1 , . . . , xn−1 ] 6= ∅.
Let us denote the element of R − K[x1 , . . . , xn−1 ] by f .
S
a ∈ R0 ∈O RZn (R0 )
iff
there exists a j ∈ {1, . . . , r} with gj ∈
/ K[x1 , . . . , xn−1 ] and a ∈ RZn (Sj ∪ {gj })
iff
there exists a j ∈ {1, . . . , r} with gj ∈
/ K[x1 , . . . , xn−1 ],
(a1 , . . . , an−1 ) ∈ RZn−1 (Sj ), and gj (a) = 0
iff
(a1 , . . . , an−1 ) ∈ RZn−1 (R ∩ K[x1 , . . . , xn−1 ]) and f (a) = g(a) = 0
iff
a ∈ RZn (R) and g(a) = 0. 2
Proof of termination and correctness of separaten :
Let R and g satisfy the input specification and let a = (a1 , . . . , an ) be an element of
K̄ n .
Case: R − K[x1 , . . . , xn−1 ] = ∅.
In this case termination readily follows from the termination of ggcdn . By the specification of ggcdn and the definition of the output set O, every element of O is a regular
chain in K[x1 , . . . , xn ].
S
a ∈ R0 ∈O RZn (R0 )
iff
there exists a j ∈ {1, . . . , r} with gj 6= 0 and a ∈ RZn (Sj )
iff
there exists a j ∈ {1, . . . , r} with gj 6= 0, (a1 , . . . , an−1 ) ∈ RZn−1 (Sj ),
and an is transcendental over K(a1 , . . . , an−1 )
iff
Computing Triangular Representations of Algebraic Varieties
17
there exists a j ∈ {1, . . . , r} with gj (a1 , . . . , an−1 , xn ) 6= 0,
(a1 , . . . , an−1 ) ∈ RZn−1 (Sj ), and an is transcendental over K(a1 , . . . , an−1 )
iff
there exists a j ∈ {1, . . . , r} with (a1 , . . . , an−1 ) ∈ RZn−1 (Sj ),
an is transcendental over K(a1 , . . . , an−1 ), and g(a1 , . . . , an−1 , xn ) 6= 0
iff
(a1 , . . . , an−1 ) ∈ RZn−1 (R ∩ K[x1 , . . . , xn−1 ]),
an is transcendental over K(a1 , . . . , an−1 ), and g(a) 6= 0
iff
a ∈ RZn (R) and g(a) 6= 0.
Case: R − K[x1 , . . . , xn−1 ] 6= ∅.
We will prove termination and correctness by induction on the degree of the only
element f in R − K[x1 , . . . , xn−1 ].
Induction basis: degn (f ) = 1.
As there does not exist a j ∈ {1, . . . , r} with 0 < degn (gj ) < degn (f ) = 1 we know that
J = ∅. Thus, separaten terminates. Obviously, every element of O is a regular chain in
K[x1 , . . . , xn ]. Since degn (f ) = 1,
S
a ∈ R0 ∈O RZn (R0 )
iff
there exists a j ∈ {1, . . . , r} with gj ∈ K[x1 , . . . , xn−1 ] and a ∈ RZn (Sj ∪ {f })
iff
there exists a j ∈ {1, . . . , r} with gj ∈ K[x1 , . . . , xn−1 ],
(a1 , . . . , an−1 ) ∈ RZn−1 (Sj ), f (a) = 0, and f (a1 , . . . , an−1 , xn ) 6= 0
iff
there exists a j ∈ {1, . . . , r} with gj (a1 , . . . , an−1 , xn ) ∈ K̄ − {0},
(a1 , . . . , an−1 ) ∈ RZn−1 (Sj ), f (a) = 0, and f (a1 , . . . , an−1 , xn ) 6= 0
iff
there exists a j ∈ {1, . . . , r} with gj (a) 6= 0, (a1 , . . . , an−1 ) ∈ RZn−1 (Sj ),
f (a) = 0, and f (a1 , . . . , an−1 , xn ) 6= 0
iff
(a1 , . . . , an−1 ) ∈ RZn−1 (R ∩ K[x1 , . . . , xn−1 ]),
f (a) = 0, f (a1 , . . . , an−1 , xn ) 6= 0, and g(a) 6= 0
iff
a ∈ RZn (R) and g(a) 6= 0.
Induction step: degn (f ) > 1.
Obviously, separaten terminates with input R and g if it terminates for every j ∈
J with input Sj ∪ {pquo(f, gj )} and g. Let j ∈ J and qj be the pseudoquotient of
f and gj . First we will show that Sj ∪ {qj } is a regular chain in K[x1 , . . . , xn ]. By
specification of ggcdn , Sj is a regular chain in K[x1 , . . . , xn−1 ]. As degn (gj ) < degn (f )
and degn (gj ) + degn (qj ) = degn (f ),
qj ∈
/ K[x1 , . . . , xn−1 ].
(7.1)
By definition of pseudodivision,
lcn (qj ) = lcn (gj )d · lcn (f ),
where d := degn (f ) − degn (gj ). Therefore, for every b ∈ RZn−1 (Sj ) we obtain from
18
M. Kalkbrener
lc(gj )(b) 6= 0 and lc(f )(b) 6= 0 that lc(qj )(b) 6= 0. Thus, Sj ∪ {qj } is a regular chain in
K[x1 , . . . , xn ]. It follows from the definition of J that gj ∈
/ K[x1 , . . . , xn−1 ] and therefore
degn (qj ) < degn (f ). Hence, the termination of separaten with input Sj ∪ {qj } and g
follows from the induction hypothesis. This completes the proof of termination.
We can deduce from the induction hypothesis that every element of the output set O
is a regular chain in K[x1 , . . . , xn ]. It remains to show that
[
{a ∈ RZn (R) | g(a) 6= 0} =
RZn (R0 ).
R0 ∈O
⊇: Let a ∈ R0 ∈O RZn (R0 ). Then there exists
a j ∈ {1, . . . , r} with gj ∈ K[x1 , . . . , xn−1 ] and a ∈ RZn (Sj ∪ {f }) or
a j ∈ J and an Rj ∈ Oj such that a ∈ RZn (Rj ),
where Oj denotes the output set of separaten with input Sj ∪ {pquo(f, gj )} and g. If
there exists a j ∈ {1, . . . , r} with gj ∈ K[x1 , . . . , xn−1 ] and a ∈ RZn (Sj ∪ {f }) then
a ∈ RZn (R) and g(a) 6= 0 can be shown by the same arguments as used in the induction
basis. So let us assume that there exists a j ∈ J and an Rj ∈ Oj such that a ∈ RZn (Rj ).
By induction hypothesis,
S
a ∈ RZn (Sj ∪ {pquo(f, gj )}) and g(a) 6= 0.
Since gj (a1 , . . . , an−1 , xn ) divides f (a1 , . . . , an−1 , xn ), pquo(f, gj )(a1 , . . . , an−1 , xn ) divides f (a1 , . . . , an−1 , xn ) and therefore f (a1 , . . . , an ) = 0. Thus, a ∈ RZn (R).
⊆: Let a ∈ RZn (R) and g(a) 6= 0. Then, by the specification of ggcdn , there exists
a j ∈ {1, . . . , r} such that (a1 , . . . , an−1 ) ∈ RZn−1 (Sj ). If gj ∈ K[x1 , . . . , xn−1 ] then
Sj ∪ {f } ∈ O and therefore
[
a∈
RZn (R0 ).
R0 ∈O
So let us assume that gj ∈
/ K[x1 , . . . , xn−1 ]. Since g(a) 6= 0, f (a) = 0, and the polynomial
gj (a1 , . . . , an−1 , xn ) is the gcd of f (a1 , . . . , an−1 , xn ) and g(a1 , . . . , an−1 , xn ),
gj (a) 6= 0 and degn (gj (a1 , . . . , an−1 , xn )) < degn (f (a1 , . . . , an−1 , xn )).
From lc(gj )(a1 , . . . , an−1 ) 6= 0 we obtain degn (gj ) < degn (f ). Hence, j ∈ J. Since
gj (a1 , . . . , an−1 , xn ) divides f (a1 , . . . , an−1 , xn ),
premn (f, gj )(a1 , . . . , an−1 , xn ) = 0.
Together with gj (a) 6= 0 and f (a) = 0 it follows that pquo(f, gj )(a) = 0. Thus, a ∈
RZn (Sj ∪ {pquo(f, gj )}). From g(a) 6= 0 and the induction hypothesis we obtain
[
RZn (R0 ). 2
a∈
R0 ∈O
Proof of termination and correctness of ggcdn+1 :
Let G be a finite, non-empty subset of K[x1 , . . . , xn+1 ]. Then
X
sumdeg(G) :=
(degn+1 (g) + 1).
g∈G
Let R and F be sets which satisfy the input specification. We will prove termination and
correctness by induction on sumdeg(F ).
Computing Triangular Representations of Algebraic Varieties
19
Induction basis: sumdeg(F ) = 0.
Then F = {0} and termination and correctness are obvious.
Induction step: sumdeg(F ) > 0.
Case: there exists exactly one non-zero g ∈ F and lc(g)(a) 6= 0 for every a ∈ RZn (R).
Again termination and correctness are obvious.
Case: |F − {0}| ≥ 2 or there exists a non-zero g ∈ F and an a ∈ RZn (R) such that
lc(g)(a) = 0.
It follows from the termination of commonn and separaten that ggcdn+1 terminates
with the input sets R and F if it terminates for every S 0 ∈ M 0 with the input sets S 0
and F 0 ∪ {f 0 } and for every S 00 ∈ M 00 with the input sets S 00 and F 00 ∪ {f }. Let S 0 ∈ M 0 .
By definition of f 0 ,
sumdeg(F 0 ∪ {f 0 }) =
sumdeg(F ) + deg(f 0 ) + 1 < sumdeg(F 0 ) + deg(f ) + 1 =
sumdeg(F ).
0
By induction hypothesis, ggcdn+1 terminates with input S 0 , F 0 ∪ {f 0 }.
Let S 00 ∈ M 00 . By specification of separaten , lc(f )(a) 6= 0 for every a ∈ RZn (S 00 ).
Therefore, if F 00 ⊆ {0} then the termination of ggcdn+1 with input S 00 , F 00 ∪ {f }
is obvious. On the other hand, there exists a g ∈ F 0 with deg(g) ≥ deg(f ). Hence,
sumdeg(F 00 ) < sumdeg(F 0 ) and therefore
sumdeg(F 00 ∪ {f }) < sumdeg(F 0 ∪ {f }) = sumdeg(F ).
By induction hypothesis, ggcdn+1 terminates with input S 00 , F 00 ∪ {f }. This completes
the proof of termination.
We obtain from the induction hypothesis and the first case of the induction step that
for every element (R0 , g 0 ) of O the set R0 is a regular chain in K[x1 , . . . , xn ], g 0 is a
polynomial in K[x1 , . . . , xn+1 ], and condition 2(a) holds.
By the specifications of commonn and separaten ,
[
[
RZn (R) =
RZn (S 0 ) ∪
RZn (S 00 ).
S 0 ∈M 0
S 00 ∈M 00
Therefore,
RZn (R) =
[
RZn (R0 )
(R0 ,g 0 )∈O
follows from the induction hypothesis and the first case of the induction step. Thus, it
remains to prove conditions 2(b) and 3.
For the rest of the proof let (R0 , g 0 ) be an element of the output set O and let a ∈
RZn (R0 ).
Case: there exists an S 0 ∈ M 0 with (R0 , g 0 ) ∈ ggcdn+1 (S 0 , F 0 ∪ {f 0 }).
By induction hypothesis, RZn (R0 ) ⊆ RZn (S 0 ). From this and from lc(f )(b) = 0 for
every b ∈ RZn (S 0 ) we obtain lc(f )(a) = 0 and therefore f 0 (a, xn+1 ) = f (a, xn+1 ). Thus,
condition 2(b) follows from the induction hypothesis. Since lc(f )(a) = 0, lc(f ) vanishes on
Repn+1 (R0 ). Therefore, f 0 vanishes on Repn+1 (R0 )∩Vn+1 ({f }). By induction hypothesis,
g 0 vanishes on Repn+1 (R0 )∩Vn+1 (F 0 ∪{f 0 }). Hence, g 0 vanishes on Repn+1 (R0 )∩Vn+1 (F ).
20
M. Kalkbrener
Case: there exists an S 00 ∈ M 00 with (R0 , g 0 ) ∈ ggcdn+1 (S 00 , F 00 ∪ {f }).
By induction hypothesis and the first case of the induction step, RZn (R0 ) ⊆ RZn (S 00 ).
From this and from lc(f )(b) 6= 0 for every b ∈ RZn (S 00 ) we obtain lc(f )(a) 6= 0. Therefore, the polynomials in the set {h(a, xn+1 ) | h ∈ F } and the polynomials in the set
{h(a, xn+1 ) | h ∈ F 00 ∪ {f }} have the same gcd. Thus, by induction hypothesis and the
first case of the induction step, condition 2(b) is satisfied.
From the fact that every polynomial in F 00 vanishes on Vn+1 (F ), the induction hypothesis, and the first case of the induction step we can deduce condition 3. 2
8. Proof of Termination and Correctness of the Algorithm in Section 5
Let n be a natural number greater than 1. We have to prove termination and correctness
of solven under the assumption that solven−1 terminates and satisfies its specification.
Proof of termination of solven :
Let R and F satisfy the input specification. We will show that for every S ∈ M
S ≺ R.
(8.1)
Let S be an arbitrary element in M . Then there exists a j ∈ J such that
S ∈ solven−1 (Sj ∩ K[x1 , . . . , xn−2 ], Sj − K[x1 , . . . , xn−2 ] ∪ {lc(gj )}).
Let (a1 , . . . , an−1 ) ∈ RZ(S) and (b1 , . . . , bn−1 ) ∈ RZ(Sj ). By specification of ggcdn ,
(b1 , . . . , bn−1 ) ∈ RZ(R)
(8.2)
and by specification of solven−1 ,
lc(gj )(a1 , . . . , an−1 ) = 0
(8.3)
and
(a1 , . . . , an−2 ) ∈ RZ(Sj ∩ K[x1 , . . . , xn−2 ]) or (a1 , . . . , an−2 ) ≺ (b1 , . . . , bn−2 ).
If (a1 , . . . , an−2 ) ≺ (b1 , . . . , bn−2 ) then, by definition of ≺, (a1 , . . . , an−1 ) ≺ (b1 , . . . , bn−1 )
and therefore, together with (8.2), S ≺ R. Thus, let us assume that
(a1 , . . . , an−2 ) ∈ RZ(Sj ∩ K[x1 , . . . , xn−2 ]).
Case: There exists a polynomial f in Sj − K[x1 , . . . , xn−2 ].
By specification of solven−1 , f (a1 , . . . , an−1 ) = 0. Hence, (a1 , . . . , an−1 ) ∈ RZ(Sj )
and therefore, by specification of ggcdn , lc(gj )(a1 , . . . , an−1 ) 6= 0. This is a contradiction
to (8.3).
Case: Sj − K[x1 , . . . , xn−2 ] = ∅.
Since (a1 , . . . , an−2 ) ∈ RZn−2 (Sj ∩ K[x1 , . . . , xn−2 ]),
(a1 , . . . , an−2 , a0n−1 ) ∈ RZn−1 (Sj ),
where a0n−1 is transcendental over K(a1 , . . . , an−2 ). Thus, lc(gj )(a1 , . . . , an−2 , a0n−1 ) 6=
0 and therefore lc(gj )(a1 , . . . , an−2 , xn−1 ) 6= 0. From this and (8.3) we obtain that
an−1 is algebraic over K(a1 , . . . , an−2 ). On the other hand, bn−1 is transcendental over
K(b1 , . . . , bn−2 ). We know from (a1 , . . . , an−2 ) ∈ RZn−2 (Sj ∩K[x1 , . . . , xn−2 ]) and Lemma
Computing Triangular Representations of Algebraic Varieties
21
5.1 that (a1 , . . . , an−2 ) ∼ (b1 , . . . , bn−2 ). Thus, we can deduce that (a1 , . . . , an−1 ) ≺
(b1 , . . . , bn−1 ). By (8.2), S ≺ R. This completes the proof of (8.1).
If solven does not terminate then an infinite sequence of regular chains R, S, . . . is
generated such that R S . . . This is a contradiction to Lemma 5.2 and therefore
solven terminates. 2
In Lemma 8.1 a rather obvious property of regular chains is stated, which we need for
proving the correctness of solven .
Lemma 8.1. Let R be a regular chain in K[x1 , . . . , xn ]. Then (a1 , . . . , an ) ∈ Rep(R)
implies (a1 , . . . , an−1 ) ∈ Rep(R ∩ K[x1 , . . . , xn−1 ]).
Proof. Let (a1 , . . . , an ) ∈ Rep(R). Then there exists a (b1 , . . . , bn ) ∈ RZ(R) such
that (a1 , . . . , an ) ∈ V , where V is the irreducible variety in K̄ n with (b1 , . . . , bn ) as
generic point. By definition of regular chains, (b1 , . . . , bn−1 ) is an element of RZ(R ∩
K[x1 , . . . , xn−1 ]). Since f (b1 , . . . , bn−1 ) = 0 implies f (a1 , . . . , an−1 ) = 0 for every f ∈
K[x1 , . . . , xn−1 ], (a1 , . . . , an−1 ) is in the irreducible variety in K̄ n−1 with generic point
(b1 , . . . , bn−1 ). Therefore,
(a1 , . . . , an−1 ) ∈ Rep(R ∩ K[x1 , . . . , xn−1 ]). 2
The next lemma is of crucial importance for the correctness of the algorithm.
Lemma 8.2. Let V be an irreducible variety in K̄ n−1 with (b1 , . . . , bn−1 ) as generic point,
(a1 , . . . , an ) ∈ K̄ n such that (a1 , . . . , an−1 ) ∈ V , and h a polynomial in K[x1 , . . . , xn ] with
lc(h)(b1 , . . . , bn−1 ) 6= 0, lc(h)(a1 , . . . , an−1 ) 6= 0, h(a1 , . . . , an ) = 0.
Then there exists a bn ∈ K̄ with
h(b1 , . . . , bn ) = 0 and (a1 , . . . , an ) ∈ V 0 ,
where V 0 is the irreducible variety in K̄ n with (b1 , . . . , bn ) as a generic point.
Proof. As lc(h)(a1 , . . . , an−1 ) 6= 0 and h(a1 , . . . , an ) = 0, h ∈
/ K[x1 , . . . , xn−1 ]. As
lc(h)(b1 , . . . , bn−1 ) 6= 0 it follows that there exist finitely many distinct zeros c1 , . . . , ck
of the univariate polynomial h(b1 , . . . , bn−1 , xn ).
Let f be a polynomial in K[x1 , . . . , xn ] with f (b1 , . . . , bn−1 , ci ) = 0 for every i ∈
{1, . . . , k}. Obviously, there exists a natural number l such that h(b1 , . . . , bn−1 , xn ) divides
l
the polynomial f (b1 , . . . , bn−1 , xn ) .
Let r be the pseudoremainder and q the pseudoquotient of f l and h with respect to
xn . Obviously, r(b1 , . . . , bn−1 , xn ) = 0. As (a1 , . . . , an−1 ) ∈ V , r(a1 , . . . , an−1 , xn ) = 0.
From lc(h)(a1 , . . . , an−1 ) 6= 0, h(a1 , . . . , an ) = 0 and lc(h)d · f l = h · q + r, where d :=
max(degn (f l ) − degn (h) + 1, 0), it follows that f l (a1 , . . . , an ) = 0. Hence, f (a1 , . . . , an ) =
0. Thus,
k
[
(a1 , . . . , an ) ∈
Vi ,
i=1
n
where Vi is the irreducible variety in K̄ with (b1 , . . . , bn−1 , ci ) as a generic point. Hence,
22
M. Kalkbrener
there exists a bn ∈ {c1 , . . . , ck } such that (a1 , . . . , an ) ∈ V 0 , where V 0 is the irreducible
variety in K̄ n with (b1 , . . . , bn ) as a generic point. 2
Proof of correctness of solven :
We will prove correctness by induction on the partial ordering ≺ on regular chains.
Let R and F satisfy the input specification. Obviously, the regular chain R is minimal
with respect to ≺ if and only if R represents a zero-dimensional variety.
Induction basis: The dimension of Repn−1 (R) is 0.
From (8.1) in the proof of termination we obtain that M = ∅. It follows from the
specification of ggcdn and the definition of the output set O that every element of O is
a regular chain in K[x1 , . . . , xn ].
Let R0 ∈ O and a ∈ RZn−1 (R0 ∩K[x1 , . . . , xn−1 ]). As M = ∅ we know that there exists
an i ∈ {1, . . . , l} such that
R0 ∩ K[x1 , . . . , xn−1 ] = Si .
(8.4)
It readily follows from the specification of ggcdn that a ∈ RZn−1 (R).
It remains to show condition 2. Let (a1 , . . . , an ) ∈ Repn (R) ∩ Vn (F ). By Lemma 8.1,
(a1 , . . . , an−1 ) is an element of Repn−1 (R). Since Repn−1 (R) is a zero-dimensional variety
it follows from (van der Waerden (1967), p.162) that (a1 , . . . , an−1 ) is a generic point of
one of the irreducible components of Repn−1 (R). Therefore, (a1 , . . . , an−1 ) is an element
of RZ(R). Hence, by the specification of ggcdn , there exists an i ∈ {1, . . . , l} with
(a1 , . . . , an−1 ) ∈ RZ(Si ). Thus, (a1 , . . . , an ) ∈ Repn (Si ). Together with (a1 , . . . , an ) ∈
V (F ) we obtain gi (a1 , . . . , an ) = 0. If gi = 0 then Si ∈ O. Otherwise, by the specification
of ggcdn , lc(gi )(a1 , . . . , an−1 ) 6= 0 and therefore gi ∈
/ K[x1 , . . . , xn−1 ], Si ∪ {gi } ∈ O and
(a1 , . . . , an ) ∈ Rep(Si ∪ {gi }). Altogether,
[
(a1 , . . . , an ) ∈
Rep(R0 ).
(8.5)
R0 ∈O
0
0
Now let R ∈ O and (a1 , . . . , an ) ∈ Repn (R ). It follows from (8.4) that we can choose an
i ∈ {1, . . . , l} with R0 ∩ K[x1 , . . . , xn−1 ] = Si . By Lemma 8.1, (a1 , . . . , an−1 ) ∈ Rep(Si ).
From
RZn−1 (R) = RZn−1 (S1 ) ∪ . . . ∪ RZn−1 (Sl ) and dim(Repn−1 (R)) = 0
we obtain dim(Repn−1 (Si )) = 0. Therefore, it follows from (van der Waerden (1967),
p.162) that (a1 , . . . , an−1 ) ∈ RZ(Si ). If i ∈
/ J then gi = 0. Otherwise, (a1 , . . . , an ) ∈
Rep(Si ∪{gi }). Thus, we obtain in both cases gi (a1 , . . . , an ) = 0. Since gi (a1 , . . . , an−1 , xn )
is the gcd of the polynomials in {f (a1 , . . . , an−1 , xn ) | f ∈ F },
(a1 , . . . , an ) ∈ V (F ).
Induction step: R is not a minimal regular chain with respect to ≺.
It follows from the specification of ggcdn , the induction hypothesis, and the definition
of the output set O that every element of O is a regular chain in K[x1 , . . . , xn ].
Let R0 ∈ O and a ∈ RZn−1 (R0 ∩ K[x1 , . . . , xn−1 ]). If there exists an i ∈ {1, . . . , l} such
that R0 ∩ K[x1 , . . . , xn−1 ] = Si then it readily follows from the specification of ggcdn
that a ∈ RZn−1 (R). Otherwise, there exists an S ∈ M such that R0 is in the output set
of solven with input S and F . Since we have shown in the proof of termination that
Computing Triangular Representations of Algebraic Varieties
23
S ≺ R (see (8.1)), we obtain from the induction hypothesis that a ∈ RZ(S) or a ≺ b for
every b ∈ RZ(S). Therefore, a ≺ c for every c ∈ RZ(R).
It remains to show condition 2. It follows from the specification of ggcdn that
RZn (R) = RZn (S1 ) ∪ . . . ∪ RZn (Sl )
and therefore
Repn (R) = Repn (S1 ) ∪ . . . ∪ Repn (Sl ).
Let (a1 , . . . , an ) ∈ Repn (R) ∩ Vn (F ). Then there exists an i ∈ {1, . . . , l} such that
(a1 , . . . , an ) ∈ Rep(Si ). By specification of ggcdn ,
gi (a1 , . . . , an ) = 0.
(8.6)
Case: gi = 0.
Then
Si ∈ O and (a1 , . . . , an ) ∈
[
Repn (R0 ).
R0 ∈O
Case: gi 6= 0 and lc(gi )(a1 , . . . , an−1 ) 6= 0.
Since (a1 , . . . , an ) ∈ Repn (Si ), we obtain from Lemma 8.1 that (a1 , . . . , an−1 ) is an
element of Repn−1 (Si ). Thus, there exists an irreducible variety V with a (b1 , . . . , bn−1 ) ∈
RZn−1 (Si ) as generic point such that
(a1 , . . . , an−1 ) ∈ V.
(8.7)
Because of the fact that neither (a1 , . . . , an−1 ) nor (b1 , . . . , bn−1 ) is a zero of lcn (gi ) and
because of (8.6) and (8.7) we obtain from Lemma 8.2 that there exists a zero bn of
gi (b1 , . . . , bn−1 , xn ) such that (a1 , . . . , an ) ∈ V 0 , where V 0 is the irreducible variety with
(b1 , . . . , bn ) as generic point. As (b1 , . . . , bn−1 ) ∈ RZ(Si ),
(b1 , . . . , bn ) ∈ RZ(Si ∪ {gi }).
From the fact that gi ∈
/ K[x1 , . . . , xn−1 ] it follows that Si ∪ {gi } ∈ O and therefore
[
(a1 , . . . , an ) ∈
Repn (R0 ).
R0 ∈O
Case: gi 6= 0 and lc(gi )(a1 , . . . , an−1 ) = 0.
Since (a1 , . . . , an−1 ) is an element of Repn−1 (Si ∩ K[x1 , . . . , xn−2 ]) and an element of
V (Si −K[x1 , . . . , xn−2 ]∪{lcn (gi )}), it follows from the specification of solven−1 that there
exists an S ∈ M with (a1 , . . . , an−1 ) ∈ Repn−1 (S) and therefore (a1 , . . . , an ) ∈ Repn (S).
As S ≺ R (see (8.1) in the proof of termination) we obtain from the induction hypothesis
that
[
(a1 , . . . , an ) ∈
Repn (R̄),
R̄∈Ō
where Ō is the output set of solven with input S and F . By definition of O,
[
(a1 , . . . , an ) ∈
Repn (R0 ).
R0 ∈O
24
M. Kalkbrener
Thus, in every case we have shown that
[
Repn (R) ∩ V (F ) ⊆
Repn (R0 ).
(8.8)
R0 ∈O
Now let R0 ∈ O, (a1 , . . . , an ) ∈ Rep(R0 ), and (b1 , . . . , bn ) ∈ RZ(R0 ) such that (a1 , . . . , an )
∈ V , where V is the irreducible variety in K̄ n with (b1 , . . . , bn ) as generic point. If there
exists an S ∈ M such that R0 is an element of the output set of solven with input S and
F then it follows from the induction hypothesis that
(a1 , . . . , an ) ∈ V (F ).
(8.9)
0
Otherwise, there exists an i ∈ {1, . . . , l} such that R ∩ K[x1 , . . . , xn−1 ] = Si . Hence,
(b1 , . . . , bn−1 ) ∈ RZ(Si ) and gi (b1 , . . . , bn ) = 0. Since gi (b1 , . . . , bn−1 , xn ) is the gcd of
the polynomials in {f (b1 , . . . , bn−1 , xn ) | f ∈ F },
(b1 , . . . , bn ) ∈ V (F ).
Hence, (a1 , . . . , an ) ∈ V (F ). Together with (8.8) and (8.9),
[
Repn (R) ∩ Vn (F ) ⊆
Repn (R0 ) ⊆ Vn (F ). 2
R0 ∈O
Acknowledgements
I am indebted to the members of FUJITSU’s International Institute for Advanced
Study of Social Information Science for organizing a wonderful stay at Numazu, to Shen
Wei, who helped me implementing this algorithm, and to Dominique Duval and Daniel
Lazard for their helpful comments on an earlier version of this paper.
References
Böge, W., Gebauer, R., Kredel, H. (1986). Some examples for solving systems of algebraic equations by
calculating Gröbner Bases. J. Symbolic Computation 2, 83–98.
Buchberger, B. (1965). An algorithm for finding a basis for the residue class ring of a zero-dimensional
polynomial ideal (German). PhD thesis, Dept. of Mathematics, Univ. Innsbruck, Austria.
Buchberger, B. (1985). Gröbner bases: An algorithmic method in polynomial ideal theory. Chapter 6
in Bose, N.K. (ed.): Multidimensional Systems Theory, D. Reidel Publishing Company, DordrechtBoston-Lancaster.
Czapor, S.R. (1989). Solving algebraic equations: Combining Buchberger’s algorithm with multivariate
factorization. J. Symbolic Computation 7, 49–53.
Czapor, S.R., Geddes, K.O. (1986). On implementing Buchberger’s algorithm for Gröbner bases. In Proc.
SYMSAC’86, pp. 233–238, Waterloo, Canada.
Della Dora, J., Dicrescenzo, C., Duval, D. (1985). About a new method for computing in algebraic
number fields. In Proc. EUROCAL’85, pp. 289–290, Linz, Austria.
Dicrescenzo, C., Duval, D. (1988). Algebraic extensions and algebraic closure in Scratchpad II. In Proc.
ISSAC’88, pp. 440–446, Rome, Italy.
Gao, X.S., Chou, S.C. (1991). On the dimension of an arbitrary ascending chain. Chinese Bull. of Sci.,
to appear.
Giusti, M., Heintz, J. (1990). Algorithmes – disons rapides – pour la décomposition d’une variété
algébrique en composantes irréductibles et équidimentionnelles. In Proc. MEGA’90, pp. 169–194.
Kalkbrener, M. (1991). Three contributions to elimination theory. PhD thesis, Research Institute for
Symbolic Computation, Univ. Linz, Austria.
Kapur, D. (1986). Geometry theorem proving using Hilbert’s Nullstellensatz. In Proc. SYMSAC’86, pp.
202–208, Waterloo, Canada.
Kredel, H., Weispfenning, V. (1988). Computing dimension and independent sets for polynomial ideals.
J. Symbolic Computation 6, 231–248.
Computing Triangular Representations of Algebraic Varieties
25
Lazard, D. (1991). A new method for solving algebraic systems of positive dimension. Discrete Applied
Math. 33, 147–160.
Lazard, D. (1992). Solving zero-dimensional algebraic systems. J. Symbolic Computation 13, 117–132.
Ritt, J.F. (1950). Differential Algebra. AMS Colloquium Publications, New York.
van der Waerden, B.L. (1967). Algebra II (German). Springer, Berlin Heidelberg New York, 5. edition.
Wu, W. (1984). Basic principles of mechanical theorem proving in elementary geometries. J. Sys. Sci.
and Math. Scis 4, 207–235.
Wu, W. (1986). On zeros of algebraic equations – an application of Ritt principle. Kexue Tongbao 31,
1–5.
Yang, L., Zhang, J. (1991). Searching dependency between algebraic equations: an algorithm applied to
automated reasoning. Technical Report IC/91/6, International Atomic Energy Agency, Miramare,
Trieste, Italy.