A Method for Computing All Solutions
to Systems of Polynomial Equations
ALEXANDER P. MORGAN
General Motors Research Laboratories
Small polynomial systems of equations arise in many apphcations areas: computer-aided design,
mechanical design, chemmal kinetics modeling, and nonlinear circuit analysis. Use of local iterative
methods, such as Newton's method, can be a hit-or-miss process. Purely algebraic schemes, such as
the method of resultants, can lead to severe numerical difficulties. Imbedding methods provide the
most reliable techniques for computing all solutmns to small polynomial systems. One such method
is described and computational experience with it is reported on.
Categories and Subject Descriptors: G.1.5 [Numerical Analysis] Roots of Nonlinear Equations-polynommls, methods for; systems of equations
General Terms. Algorithms, Performance
Additional Key Words and Phrases. Imbedding method, homotopy method, continuation method,
computer-aided engineering
1. INTRODUCTION
Several papers h a v e been published in the last few y e a r s on finding all solutions
to polynomial s y s t e m s using imbedding methods; see [10, 13-15, 17, 19]. ( I m b e d ding is also called continuation, h o m o t o p y continuation, or i n c r e m e n t a l loading.
I t has b e e n proposed for use in a v a r i e t y of contexts. See [1-3, 9, 16, 18, 20, 24, 25,
27, 33-35]. However, there has been little published on c o m p u t a t i o n a l experience
using these m e t h o d s to find all solutions to p o l y n o m i a l systems. T h i s p a p e r
reports on experience we h a v e h a d at General M o t o r s R e s e a r c h L a b o r a t o r i e s
using the a p p r o a c h described b y Garcia and ZangwiU [17]. In brief, we h a v e found
it to be a very reliable w a y of solving small p o l y n o m i a l systems. I t h a s b e e n
applied at General M o t o r s in c o m p u t e r - a i d e d design a n d c o m b u s t i o n modeling.
No comparison is given in this p a p e r with o t h e r related m e t h o d s (say, t h a t of
[10]). Also, we h a v e not " p u s h e d " the m e t h o d b y concocting large e x a m p l e s for
testing. T h e basic purpose of this r e p o r t is to n o t e our experience on small
systems with one particular implementation.
We use the n a m e S Y M P O L (SYstems of P O L y n o m i a l s ) to d e n o t e o u r implementation. S Y M P O L is m o s t useful for applications in which multiple solutions
Author's address: Mathematics Department, General Motors Research Laboratories, Warren, MI
48090-9055.
Permission to copy without fee all or part of this material is granted provided that the copies are not
made or distributed for direct commercial advantage, the ACM copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the Association
for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific
permission
© 1983 ACM 0098-3500/83/0300-0001 $00.75
ACMTransactionson MathematmalSoftware,Vol.9, No. 1, March 1983,Pages 1-17.
2
Alexander P. Morgan
are needed or where local methods tend to converge to an unwanted solution.
The limitation to "small" systems is based on the fact that the run time for
SYMPOL (and the methods of [10, 13, 14]) is directly related to the total degree
of the system, where "total degree" is the product of the degrees of the individual
equations. Roughly speaking, if a system of two second-degree equations in two
unknowns (total degree = 4) takes 1 second of CPU time, then ten second-degree
equations in ten unknowns (total degree ffi 21°) will take at least 256 seconds of
CPU time. This disadvantage is counterbalanced by the reliability of the method.
Note especially that SYMPOL is not dependent on the choice of "initial estimates" of solutions.
In Section 2, a general description of the method is given. Seotion 3 discusses
implementation considerations, and Section 4 documents the performance characteristics of SYMPOL in solving four test problems.
2. THE METHOD
SYMPOL is a numerical method designed to find all solutions to a system of N
polynomial equations with complex coefficients in N unknowns. In general, such
a system has only a finite number of solutions, and it is assumed from now on
that the systems under study have this property. Here is an outline of the theory
behind SYMPOL. For more details, see [17] or [29]
We want to solve a system of N polynomial equations in N unknowns:
FdWl ....
, WN) = 0
F2(wl. . . .
, W N ) ffi 0
FN(Wl ....
, W N ) ffi O,
written more compactly as
F ( w ) -- 0.
(1)
G(w) = 0,
(2)
We assume that we can solve
a "simplified" system to be described below. We form the homotopy
H ( w , t) = t F ( w ) + (1 - t)G(w),
where t E [0, 1], and we then generate a "flow" from the solutions of (2) to those
of (1). Numerically, we do this by solving, for each solution Woto (2), the implicit
initial value problem
dz
D H ( z ( s ) ) ~ss - 0
where
z = (w, t) E C N × [0, 1]
(3)
z(0) ffi (Wo, 0)
with D H the matrix of partial derivatives of H. The theory of the method [17]
implies that we can take (dt/ds) ~ O, and then the solution z(s) ffi (wl, 1) with
ACM Transactions on Mathematical Software, Vol. 9, No. 1, March 1983.
Computing All Solutions to Systems of Polynomial Equations
•
3
t = 1 yields wl, a solution to (1). Note that t is a real parameter, and D H can be
viewed as a 2N × (2N + 1) real matrix.
However, we have not yet said how G is to be chosen. The following theorem
from [17, Theorem 6.3, p. 168) is the fundamental result.
Let cl . . . . , CN be complex numbers and let G be the function whose k t h
component is the polynomial Gk = w d*+l - ck, where dk = degree of Fk.
THEOREM 1 (GARCIA AND ZANGWILL[17]).
If, for all Wo E C N, to E [0, 1],
(a) F(wo) ffi 0 implies det(DF(wo)) ~ O, a n d
(b) H(wo, to) ffi 0 implies DH(wo, to) has (real) r a n k 2N,
then all solutions to F(w) ffi 0 can be f o u n d by the process described above.
SKETCH OF PROOF. The hypotheses (a) and (b) imply t h a t H-l(0) is a onedimensional smooth submanifold of R 2N × [0, 1]. In other words, H-l(0) is a
disjoint finite collection of paths [21, theorem, p. 60]. These paths are monotone
in t. Therefore, no one path can connect two solutions of G(w) ffi 0 or of F ( w ) ffi
0. The choice of G making deg(Gfi > deg(Fj) f o r j ffi 1. . . . , N implies that no
component of H-l(0) can become unbounded as a subset of R 2/v × [0, 1 - E] for
any e > 0. Finally, every solution of F(w) -- 0 is connected to a path, although
some paths will diverge to infinity as t --* 1. []
We are led to ask when the hypothesis of Theorem 1 can be guaranteed to
hold. The following result is relevant.
THEOREM 2. The set o f all (cl . . . . . CN) E C N for which p a r t (b) o f the
hypothesis o f Theorem 1 does not h o l d h a s (Lebesgue) measure zero in C N.
This theorem is similar to [15, Lemma 2.4, p. 542]. Its proof is based on the
transversality theorem of differential topology [21, p. 68]. We may interpret this
result to imply that if we choose cl . . . . . CN randomly, then we can be reasonably
sure that the hypothesis of Theorem 1 will be satisfied. (We assume that part (a)
of the hypothesis holds.)
In fact, there is a related result of interest. Define Statement b' as follows:
STATEMENT b'.
has rank 2N.
H(w0, to) ffi 0 implies the first 2 N × 2 N block o f DH(wo, to)
Note that Statement b' implies part (b) of the hypothesis of Theorem 1. We
can prove the following theorem.
THEOREM 3. The set o f all ( C l , . . . , CN, t) E C N × R 1 for which S t a t e m e n t b'
does not h o l d has measure zero in C N × R 1.
This theorem is proved along the same lines as Theorem 2, using the transversality theorem.
Naturally there are questions and reservations about what these results actually
imply for the computer implementation of the method. All three theorems are
proved in exact arithmetic, and, in particular, nothing is proved about the
measure-zero sets in a computer arithmetic context. However, these theorems
seem to support our computational experience that the method works when
ACM Transactions on Mathematical Software, Vol. 9, No. 1, March 1983.
4
•
A l e x a n d e r P. M o r g a n
cl . . . . . cN are chosen "at random" and that the first 2N × 2N block of D H i s
nonsingular in practice.
It should be noted that the method leads to the generation of some spurious
homotopy paths. (These "bad" paths diverge to infinity.) This is not a serious
problem from the point of view of finding all solutions, since Theorem 1 guarantees that each solution will have a convergent path. However, computing nonconvergent paths does increase the total CPU time of the computer implementation.
More specifically, the theorem generates M = ( d l + 1)(d2 + 1) . . . ( d N + 1) paths,
but the maximum number of solutions is M o = d l . d2 . . . . . tiN. The number M0 is
"generic" in the sense that "almost all" systems will have M0 solutions (see
[15, 19]).
Along with the above comments, the following observation is also important.
OBSERVATION (GARCIA, PERSONAL COMMUNICATION). I f Gk i s d e f i n e d b y t h e
alternate formula
cases.
Gk (w) ffi w dk - ck, t h e n t h e a b o v e a l g o r i t h m
will work in many
When the homotopy paths in SYMPOL are generated as in the theorem, this
is called "algorithmic mode." When the paths are generated as in the observation,
this is "heuristic mode."
Practically useful conditions under which the observation holds have not been
determined. However, SYMPOL in heuristic mode uses much less CPU time
than in algorithmic mode because it generates only Mo paths rather than M.
Further, our experience testing small polynomial systems indicates that the
heuristic mode version usually finds all solutions. For applications in which speed
and reliability are both very important, the heuristic can be used as a preprocessor
to the algorithmic mode. This strategy was used in the special version of SYMPOL
developed for GMSOLID, the solid modeling system noted in Section I (see [31]).
We complete this section with an example to illustrate the theorems. Suppose
F ( x ) ffi - x 2 + 1,
a single polynomial in one variable. Consider three choices for G:
(1)
G ( x ) ffi x - c
(2)
G ( x ) ffi x 2 - c
(3)
G ( x ) ffi x 3 - c,
where c is a nonzero complex number. We show by elementary arguments (below)
that (1) and (2) do not work and that (3) does work. Figure 1 shows H-l(0) for
each case. Cases (1) and (2) lead to homotopy paths that contain singularities or
to paths that do not connect solutions to F ( x ) = 0 to solutions to G ( x ) = 0. On
the other hand, Theorems 1 and 2 imply for Case (3), when c is a "random"
complex number, that this choice of G is all right. Even though one continuation
path diverges to infinity as t ~ 1, the other two converge to the solutions of F ( x )
= 0. (In this example, the random choice of c is not necessary; any nonzero c will
do.) Note that G ( x ) -- x 2 - c is the "heuristic" choice of G, and therefore this is
an example of when the heuristic may fail.
ACM Transactions on M a t h e m a t i c a l Software, Vol 9, No 1, M a r c h 1983
Computing All Solutions to Systems of Polynomial Equations
5
•
!
1
1
C
C
-C.
-1
-1
t-O
t=l
t=O
(a)
1
t=~
, t=l
(b)
r1
c=1
r2
+1
J
r3
-1
-1
C=-1
t=0
tffi~1
t=l
(e)
(d)
Fig. 1. Graphs of H-'(0) for the example from Section 2: (a) Case (1); (b) Case (2) when c ~ 1; (c)
Case (2) when c = 1; (d) Case (3) where rl, r2, ra are the solutions to the initial G(w) ffi O.
C a s e 1: H ( x , t) = (1 - t ) ( x - c) + t ( - x 2 + 1).
We want to show that one branch of H-l(0) equals c when t = 0 and -1 when
t = 1, a n d t h e o t h e r b r a n c h e q u a l s + 1 w h e n t = 1 a n d d i v e r g e s t o i n f i n i t y a s t --->
0 (see F i g u r e 1).
ACM Transactions on Mathematmal Software, Vol. 9, No. 1, M a r c h 1983.
6
•
Alexander P. Morgan
Applying the quadratic formula, we h a v e H ( x , t) -- 0 w h e n e v e r either t = 0 a n d
X = C, o r
x=~.7
( 1 - t) +_ J ( 1 -
t) 2 - 4 c t ( 1 - t ) + 4 t
2 .
W h e n t = 1, this yields x = +_1 as desired. T a k i n g t h e limit as t --* 0, we see t h a t
for the + p a r t of the +, the n u m e r a t o r goes to 2 a n d t h e d e n o m i n a t o r to 0,
yielding divergence to + ~ . F o r the - p a r t of the _, b o t h n u m e r a t o r a n d
d e n o m i n a t o r go to 0. Application of L ' H o s p i t a l ' s rule shows t h a t the limit as
t--~ 0 i s c.
C a s e 2: H ( x , t) = ( 1 - t ) ( x 2 -- C) 4" t ( - - X 2 "F 1).
T h e r e are two subcases. I f c ~ 1, t h e n t h e r e are four b r a n c h e s to H - l ( 0 ) a n d no
solution to G(x) ffi 0 connects to a solution of F ( x ) ffi 0. All b r a n c h e s b e c o m e
u n b o u n d e d as t - * ½. I f e ffi 1, t h e n H - l ( 0 ) consists of t h e union of t h r e e s t r a i g h t
lines. T h e solutions to G ( x ) ffi 0 connect to t h e solutions of F ( x ) ffi 0, b u t t h e
p a t h s go singular w h e n t = ½ (see Figure 1).
T h e details h e r e are easy.
C a s e 3: H ( x , t) = (1 - t)(x 3 - c) + t ( - x 2 + 1).
I n this case t h e r e are t h r e e b r a n c h e s to H-~(0). One diverges to infinity as
t --. I a n d the o t h e r two converge to t h e solutions to F ( x ) ffi 0. I t is far easier h e r e
to confirm the h y p o t h e s e s of T h e o r e m 1 t h a n to w o r k out t h e details directly.
However, we will sketch t h r o u g h a n e l e m e n t a r y a r g u m e n t . First, however, n o t e
t h a t if c -= 1, t h e n one b r a n c h of H - l ( 0 ) is the line x = 1. W e m a y divide (x - 1)
out of H ( x , t) and t h e n the a r g u m e n t is similar to Case (1). I n general, we can
proceed as follows:
H ( x , t) ffi x3 + ( _ T ) x 2 + ( T - c)
1-t
where T f f i t / ( 1 - t). As a corollary to the cubic formula, if r:, r2, a n d r3 are the
roots of H for fixed t, t h e n
(1)
r~ + r2 + ra f T
(2)
rlr2 + 1"11"3+ r2r3 = 0
(3)
rlr2r~ ffi e - T.
Now, exploiting these relations, we p r o v e a series of l e m m a s .
LEMMA 1.
E x a c t l y o n e o f r~, r2, r3 is n e g a t i v e a s t --* 1.
LEMMA 2.
N o t a l l t h r e e o f rl , r2, r3 b e c o m e s u n b o u n d e d a s t --* 1.
LEMMA 3.
I f rj is b o u n d e d a s t --* I f o r a n y j , t h e n r 2 --, 1 a s t --. 1.
LEMMA 4.
O n l y o n e o f rl, r2, r3 c a n b e c o m e u n b o u n d e d a s t--* 1.
T h e result follows.
ACM Tra~sactmns on M a t h e m a t i c a l Software, Vol. 9, No 1, M a r c h 1983.
Computing All Solutions to Systems of Polynomial Equations
•
7
3. IMPLEMENTATION CONSIDERATIONS
In this section, issues related to the implementation of SYMPOL are discussed•
Specifically, the following issues are presented:
(1)
(2)
(3)
(4)
(5)
(6)
(7)
the problem environment,
the computing environment,
the initial system,
generating the differential equation,
integrating the differential equation,
Newton's method,
performance criteria.
3.1 The Problem Environment
Appropriate criteria for evaluating the performance of SYMPOL depend on the
problem-solving environment in which the method will be used. At one extreme
is "black box" environment, in which SYMPOL must perform with a high degree
of reliability without human intervention. (The version of SYMPOL that has
been incorporated into the GMSOLID system is an example; see [31])• At the
other extreme, SYMPOL may be run "iteratively" with the various parameters
and options being adjusted until a satisfactory solution is obtained. For black box
applications, we have used the algorithmic mode with a number of refinements
and safety features to minimize the probability of missing a solution. On the other
hand, in more interactive applications we have had very satisfactory experience
using the heuristic mode.
Another important consideration is whether all solutions are needed, as opposed, say, to all r e a l solutions or all solutions in a certain region. In some tests,
modifications of SYMPOL obtained such limited objectives fairly reliably in
much less CPU time than was required to implement the full algorithm. The
device used was to terminate the homotopy paths when it appeared they were
converging to unwanted solutions. However, there is little theoretical basis for
the use of such modifications. In particular, there is no variant of the algorithm
that would be guaranteed to yield only real solutions or only solutions in a limited
region of solution space. (The case n -- 1 is an exception; see [26, 32]).
3.2 The Computing Environment
SYMPOL is written in double-precision FORTRAN, compiled with the H compiler (opt = 3 ) and run on an IBM 370-3033 (TSO operating system)• Real
arithmetic is used, except as noted below.
3.3 The Initial System
The theorem of Garcia and Zangwill cited in Section 2 uses for its initial system
a "diagonal" polynomial system:
G(x) =
[x~,- cl 1
L x~" -
ch
A C M T r a n s a c t m n s on M a t h e m a t i c a l Software, Vol. 9, No. 1, M a r c h 1983.
8
•
Alexander P. Morgan
where C l . . . . , ck are complex numbers. The choice of the nj is specified by the
theorem and reducing each of these by 1 changes the algorithmic into the
heuristic mode. A guideline for choice of the cj is given by Theorems 2 and 3.
Although it is far from clear exactly what "avoiding a set of Lebesgue measure
zero" means in implementation, it is easy to see that if the cj are sufficiently illchosen, then the homotopy paths may either "get stuck" or go to infinity for
values of t between 0 and 1 (see the example at the end of Section 2). SYMPOL
uses
c~ ffi (j + 0.00143289) + (0.983727)i,
where
i ffi ~ / ~ .
We considered using a random number generator to choose the cj in SYMPOL,
but these choices seem to work satisfactorily.
3.4 Generating the Differential Equation
The differential equation that defines the homotopy paths is in the implicit form
given by eq. (3). In SYMPOL, we assume the first 2N × 2N block of DH is
invertible. Theorem 3 provides a theoretical justification for this. Thus
~s ~ k
is a solution to (3) where DH ffi [Jw, Jt] (Jw denotes the first 2N × 2N block, Jt
the remaining column), Jw(dw/ds) + Jt ffi 0, and k is a positive constant.. The k
is chosen to make ] dz/ds ] - 1. The equation Jw (dw/ds) + Jt ffi 0 is solved using
LINPACK [12].
3.5 Integrating the Differential Equation
Issues involved in integrating the differential equation to obtain paths include
(1)
(2)
(3)
(4)
what method of integration to use,
how closely to track the paths,
when to stop if a path is converging,
when to stop if a path is diverging.
The usual concerns are speed and stability. ("Accuracy" per se is less important
in SYMPOL Newton's method is used to obtain accurate solution approximations
after the path has brought the solution estimate within range.)
SYMPOL uses an "off the shelf" integrator, the GEAR code provided by
Argonne National Laboratories (see [22]). The Adams option was used. Successful
results have been obtained with the error bound EPS set as large as 10-a and
down to 10-14. The usual starting value for tests is 10-6. The run time is vastly
affected by choices of this parameter.
Possibly, improvements in performance could be obtained by using integrators
that make specific use of the fact that we know the integral of the homotopy path
explicitly (see, for example, [16] and [27]). However, our experience with the
GEAR implementation of the Adams method has been that it is very reliable.
Currently, SYMPOL has the following stopping rule for convergent paths. The
subroutine that supplies the derivative values to GEAR is programmed to return
zero if t > 1. The integration continues until t ~ 1 is detected, or until one of the
A C M Transact]ons on M a t h e m a t m a l Software, Vol 9, No 1, M a r c h 1983
Computing All Solutions to Systems of Polynomial Equations
•
9
two nonconvergence conditions described below holds. Throughout the integration, the value of x on the path for which I F(x) I is smallest is saved. When the
integration terminates, this "best" (x, F(x)) is printed out. However, Newton is
called only if the T _ 1 convergence condition is satisfied. Generally, the best x
for convergent paths is near the last one generated. A refinement of the homotopy
stopping rule would result from the development of a fast way of computing
reasonable basins of attraction for Newton's method.
To detect divergent paths, two input parameters are used:
(1) AMAX
(2) XMAX
the maximum arc length allowed for paths,
the maximum distance that the endpoint of a path is allowed to
diverge from its startpoint.
There are no theoretical results to help guide the choice of these parameters.
3.6 Newton's Method
The Newton's method program, which is called when convergent homotopy paths
are generated, is written in complex double-precision arithmetic and uses LINPACK to solve the iterative equation
DF(x,)(x,+l - Xn) + F(X,) = O.
It is coded to terminate if I F(x,) I < 10-14 or if the number of iterations reaches
25. Generally it converges within a few iterations. However, if D F ( x . ) is singular
at solution x,, convergence is slower and the final accuracy is degraded.
3.7 Performance Cr,teria
The following performance criteria were used to evaluate SYMPOL in the tests
reported in the next section.
Summary Statistics
Mode: Heuristic (H) or algorithmic (A).
Number of real solutions found.
Number of complex solutions found.
Number of real solutions not found.
Number of complex solutions not found.
Number of convergent paths.
Number of divergent paths.
Max{ I F ( x . ) I:x, solution estimate}.
CPU: total,
total for convergent paths,
total for divergent paths,
total for Newton's method.
EPS for integration accuracy.
For convergent paths {average values):
PDIST: distance from start to finish.
PARC: arc length of path.
PSTEP, PFE: number of steps and number of functions evaluations to integrate
path, respectively.
PABSF: IF(x1) I where xl is the point on the path for which IF(x) I is smallest.
ACM Transactions on Mathematical Software, Vol. 9, No. 1, March 1983.
10
•
Alexander P. Morgan
PCPU: CPU time to compute path.
NITER: number of Newton iterations (startpoint for Newton = x~).
NCPU: CPU for Newton.
NABSF: ] F ( x , ) I where x, ffi final Newton estimate.
For divergent paths (average values):
PDIST
PARC
PSTEP, PFE
PABSF
PCPU
4. TEST PROBLEMS
Presented in this section are detailed reports on the running of four test problems.
See Morgan [29] for other such examples. The problems were chosen from the
literature as being "multiple solution" problems of some general interest. The
appropriate references are cited with each problem. The basic conclusion is that
SYMPOL can routinely solve some systems that have been cited as giving local
methods difficulty. The cost in CPU time will be acceptable in some problem
environments and unacceptable in others. Further, the heuristic is much faster
than the algorithmic mode and nearly as reliable. It failed to fmd all solutions
only in Problem 2.
For each problem, the following parameters are fixed:
AMAX -- 100
EPS = 10-6
XMAX = 20,000.
Each problem was run in heuristic and algorithmic mode and timed at three
separate times of day. (The given times are averages.) The performance criteria
from Section 3 are given for all problems. To condense the presentation, I F(w) I
values are listed by the exponent of the power of 10 that bounds (i.e., I F(w) I --0.6789 × 10-15 is reported as ABSF - -15).
PROBLEM
1.
Cubic--Parabola:
4x 8 - 3x - y ffi 0
x2-y=
0.
Remarks. This problem is discussed by Brown and Gearhart [6, Example 1,
p. 338]. They note that there are (exactly) three solutions: (1, 1), (0, 0), and
(-0.75, 0.5625). They state that (1, 1) is "magnetic for Newton's method," by
which is meant that Newton's method tends to converge to (1, 1) even for start
points near one of the other two solutions. See also [8, Example 1, p. 822]. See
Table I.
PROBLEM 2.
A eounterexample to a method of Branin:
4(x + y) -- 0
4(x + y ) + ( x - y ) ( ( x -
2) 2 + y 2 _ 1) = 0.
ACM Transactions on Mathematical Software, Vol. 9, No. 1, March 1983.
z
I
i
z
Z
]
L~b
~o
I
.~
]
o
E~
~J
o
o
c~
z
L~
Z
i
Z
Z
Z
L~
q~
~d
.~
Z
L~
c~
a~
Z
P~
z
F~
i
Z
Z
Z
~S
@
Z
t~
c~
~J
oO
E~a~
Z
Z
P~
%)
¢
~q
I
I
Z
L),-~
Z
Z
Z
o
oD
>
~q
O~
I
i
<
..>
in
0
~
z
in
L>
Z
Computing All Solutions to Systems of Polynomial Equations
•
15
Remarks. This problem was devised by Brent [5] to show failure of an
extended Newton's method developed by Branin. See also [4, p. 4; 8, p. 823; and
23, p. 782]. It is easy to solve by hand, and there are one real and two complex
solutions. See Table II.
PROBLEM 3.
Powell's singular function:
x + lOy=O
~(z
- w) = 0
(y - 2z) 2 = 0
,/]-0(x -
w ) ~ = 0.
Remarks. This system has a unique zero at (0, 0, 0, 0), and the system
Jacobian is singular there. (This is in fact a "quadruple root.") The problem is
cited by Morfi and Cosnard [28, p. 84]. Although SYMPOL found the correct root
(four times), the solution accuracy was degraded by the singularity of the problem,
and it converged no closer to zero than 10-s. In nonsingular cases, the solution
accuracy is generally in the vicinity of 10-12 or better. See Table III.
PROBLEM 4. Brown's almost linear system:
n
Fk(X)=Xk+ ~ x j - (n + l) --- 0,
l~k~n-1
J--1
F.(x)=~fixj)-lffiO.=~
Remarks. Each solution of this system is of the form (y, y . . . . . yl-,), where
y satisfies
n . y " - (n + 1)y "-1 + 1 ffi 0.
If n is even, there are two real roots. If n is odd, there are three real roots. This
is More and Cosnard's Problem 3 [28, p. 82]. They note that it is ill-conditioned
and difficult to solve for several standard methods. The system is solved here for
n = 5. Unlike in [28], all solutions--rather than all real solutions--are sought.
See Table IV.
REFERENCES
(Note. References [7, 11, 30] are not cited in the text.]
1. ALEXANDER,J.C. The topological theory of an embedding method. In Continuation Methods,
H.G. Wacker (Ed.), Academic Press, New York, 1978, pp. 37-68.
2. ALEXANDER,J.C., AND YORKE, J.A. The homotopy continuation method: Numerically implementable topological procedures Trans. Am. Math. Soc. 242 (Aug. 1978), 271-284.
3. ALLGOWER,E., AND GEORG, K. Simplicial and continuation methods for approximating fixed
points and solutions to systems of equations. S I A M Rev. 22 (Jan. 1980), 28-85.
4. BRANIN, F.H., JR. Widely convergent methods for finding multiple solutions of simultaneous
non-linear equations. I B M J. Res. Dev. 16 (Sept. 1972), 506-522.
5. BRENT, R.P. On the Davidenko-Branin method for finding multiple solutions of simultaneous
nonlinear equations. I B M J. Res. Dev. 16 (July 1972), 434-436.
6. BROWN,K.M.,ANDGEARHART, W.B. Deflation techniques for the calculation offurther solutions
of a nonlinear system. Nurner. Math. 16 (1971), 334-342.
ACM Transactions on Mathematical Software, Vol. 9, No. 1, March 1983
16
•
A l e x a n d e r P. M o r g a n
7. CHAO, K.S., LIU, D.K., AND PAN, C.T. A systematic search method for obtaining multiple
solutions of simultaneous nonlinear equations. IEEE Trans. Circuits Syst. CAS-22 (Sept. 1975),
748-753.
8. CHIEN,M.J. Searching for multiple solutions of nonlinear systems. IEEE Trans., Circuits Syst.
CAS-26 (Oct. 1979), 817-827.
9. CHOW, S.N., MALLET-PARET,J., AND YORKE, J.A. Finding zeros of maps: Homotopy methods
that are constructive with probability one. Math. Comput. 32 (July 1978), 887-899.
10. CHOW, S.N., MALLET-PARET,J., AND YORKE, J.A. A homotopy method for locating all zeros of
a system of polynomials. In Functional Differential Equations and Approximation of F~xed
Points, H.O. Peitgen and H.O. Walther (Eds.), Springer-Verl~g Lecture Notes in Mathematics
¢~730. Springer-Verlag, New York, 1979, pp. 228-237.
11. CROWDER, H., DEMBO, R., AND MULVEY, J. Reporting computational experiments m mathematical programming. Math. Program. 15 (1978), 316-329.
12. DONGARRA, J J., MOLER, C.B., BUNCH, J.R., AND STEWART, G.W. LINPACK User's Guide.
Society for Industrial and Applied Mathematics, Philadelphia, 1979.
13. DREXLER, F.J. Eine Methode zur Berechung samtlicher Losunger yon Polynomgleichungessystemen. Numer. Math. 29 (1977), 45-58.
14. DREXLER, F.J. A homotopy method for the calculation of zeros of zero-dimensional polynomial
ideals. In Continuation Methods, H.G. Wacker (Ed.), Academic Press, New York, 1978, pp. 69-93.
15. GARCIA C.B., AND LI, T.Y. On the number of solutions to polynomial systems of equations.
SIAM J. Numer. Anal. 17 (Aug. 1980), 540-546.
16. GARCIA C.B., AND LI, T.Y On a path following method for systems of equations. Bull. Inst.
Math Academw Sinwa (Ta~pei) 9 (1981), 249-259.
17 GARCIA C.B., AND ZANGWILL, W.I. Finding all solutions to polynomial systems and other
systems of equations. Math. Program. 16 (1979), 159-176.
18. GARCIA C.B., AND ZANGWILL,W.I. An approach to homotopy and degree theory. Math. Oper.
Res. 4 (Nov. 1979), 390-405.
19 GARCIA C.B., AND ZANGWILL,W.I. Determming all solutions to certain systems of nonlinear
equations. Math. Oper. Res. 4 (Feb 1979), 1-14.
20 GARCIA C.B., AND ZANGWILL, W.I. Pathways to Solutions, Fixed Points, and Equilibria.
Prentice-Hall, Englewood Cliffs, N.J., 1981.
21. GUILLEMIN,V., AND POLLACK,A. Differential Topology. Prentice-Hall, Englewood Cliffs, N.J.,
1974.
22. HINDMARSH, A.C. "GEAR" ordinary differential equation system solver. Rep. UCID-30001,
ReD. 3, Lawrence Livermore Lab., Livermore, Calif., Dec. 1974.
23. INCERTI, S., PARISI, V., AND ZIRILLI, F. A new method for solving nonlinear simultaneous
equations. SIAM J. Numer. Anal. 16 (Oct. 1979), 779-789
24. KUEICEK, M. Dependence of solution of nonlinear systems on a parameter. ACM Trans. Math.
Softw. 2, 1 (Mar. 1976), 98-107.
25 KUBICEK, M., HOLODNIAK,M., AND MAREK, I. Numerical solution of nonlinear equations by
one-parameter imbedding methods. Numer. Func. Anal. Optimtz. 3 (1981), 223-264.
26. LI, T.Y. On locatmg all the zeros of an analytic function within a bounded domain. SIAM J.
Numer Anal, to be pubhshed.
27 LI, T.Y., AND YORKE, J A. A simple relmble numerical algorithm for following homotopy paths.
In Analys~s and Computation of F~xed Points, S.M. Robinson (Ed.), Academic Press, New York,
1980, pp. 73-91.
28. MOR~, J.J., ANDCOSNARD,M.Y. Numerical solution of nonlinear equatmns. ACM Trans. Math.
Softw. 5, 1 (Mar. 1979), 64-85
29. MOROAN,A.P. A method for computing all solutions to systems of polynomial equations. Res.
Pub. GMR-3651, Mathematics Dep., G.M. Research Labs, Warren, Mich., July 1981.
30. MORGAN,A.P. An algorithm for solving the line-tube classification problem. Res. Pub. GMR3858, Mathematics Dep., G.M. Research Labs., Warren, Mich., Oct 1981
31 MORGAN,A P., AND SARRAGA,R.F. A method for computing three surface intersection points
in GMSOLID. Res. Pub. GMR-3964, Mathematics Dep, G.M. Research Labs., Warren, Mich.,
Feb. 1982
32. SAIGAL, R. On computing all real roots of a polynomial with real coefficients. Jan. 1982,
unpubhshed.
ACM Transactmns on Mathematical Software, Vol. 9, No. 1, March 1983
Computing All Solutions to Systems of Polynomial Equations
•
17
33 WATSON,L T. A globally convergent algorithm for computing fixed points of C s maps. Appl.
Math. Comput. 5 (1979), 297-311.
34. WATSON,L.T. Solving finite difference approximations to nonlinear two-point boundary value
problems by a homotopy method. SIAM J. Sct. Stat. Comput I (1980), 467-480.
35. WATSON, L.T., AND FENNER, D. Chow-Yorke algorithm for fixed points or zeros of C 2 maps.
ACM Trans. Math. Soflw. 6, 2 (June 1980), 252-259.
Received May 1982, accepted September 1982
ACM Transactions on Mathematical Software, Vol. 9, No. 1, March 1983
© Copyright 2026 Paperzz