Resultant type algorithms: A resultant is a function of
the coefficients of a given system of polynomials and when it is zero
it provides an algebraic criterion for determining when this
polynomial system has a solution. Resultants can be
classified as classical, like the Sylvester, Bezout, Macaulay and
resultants, and non-classical like the sparse resultants. A good
introduction to resultants and applications can be found in
[89,409,413,310,381].
Algorithms based on resultant computation have been presented in
[48,258,187,414,49].
They work well on systems
with a small number of solutions
. However, on systems with large
, these algorithms suffer from efficiency problems. The main
reason for that is that finding roots of high degree univariate
polynomials can be a very slow procedure, as discussed above, due to
the use of exact arithmetic.
Gröbner bases type algorithms: The theory of Gröbner bases
was developed by Buchberger [46]. Gröbner bases are very special and useful bases
(generator sets) for a special class of subsets of polynomial rings in
variables, called polynomial ideals. They are named after
Gröbner who was Buchberger's thesis advisor. Gröbner bases can be
thought of as a generalization of Euclid's algorithm for computing the
greatest common divisor of two polynomials and of the Gauss
triangularization algorithm for linear systems.
The usefulness of Gröbner basis for solving nonlinear polynomial systems comes from the fact that, whenever the system has a finite number of solutions, Gröbner basis provides an equivalent system of triangular form. Algorithms using Gröbner bases use the above fact, and appear in [47,218,228,115,445]. Using Gröbner bases, polynomial systems are converted to polynomial triangular systems, which can be solved by backward substitution, much in the manner of the Gauss triangularization algorithm for linear systems.
If the system has a finite number of solutions in the affine plane, as well
as in the projective plane, then a Gröbner basis can be computed in
time, where
is the highest degree among the polynomials
and
is the number of variables. In case, however, that the system
is not zero-dimensional at infinity, the time becomes
. These bounds do not take into account the coefficient
growth. Gröbner basis algorithms work well on systems with few
roots. This is one reason they have been considered seriously as a
practical equation-solving tool. But when their complexity is measured
as a function of the number of solutions, their performance is
poor. As reported in [259], these algorithms frequently
exhaust memory and computer resources even for low number of equations
and variables
(e.g.
) and moderate degrees
.
To overcome this difficulty, algorithms that combine resultant and
linear algebra techniques are more promising concerning efficiency
[15,288,260,259]. These algorithms are
generally hybrid and are based on algebraic and numerical analysis
methods. In particular, this approach based on resultants transforms
the problem into a sequence of eigenvalue problems. This method has
found extensive application in various types of intersection problems
[212].