MATHEMATICS Software For Algebraic Geometry
MATHEMATICS Software For Algebraic Geometry
in Mathematics
and its Applications
Volume 148
Series Editors
Douglas N. Arnold Arnd Scheel
Institute for Mathematics and
its Applications (IMA)
The Institute for Mathematics and its Applications was established by a
grant from the National Science Foundation to the University of Minnesota
in 1982. The primary mission of the IMA is to foster research of a truly inter-
disciplinary nature, establishing links between mathematics of the highest
caliber and important scientific and technological problems from other dis-
ciplines and industries. To this end, the IMA organizes a wide variety of pro-
grams, ranging from short intense workshops in areas of exceptional interest
and opportunity to extensive thematic programs lasting a year. IMA Volumes
are used to communicate results of these programs that we believe are of
particular value to the broader scientific community.
The full list of IMA books can be found at the Web site of the Institute
for Mathematics and its Applications:
http://www.ima.umn.edu/springer/volumes.html
Presentation materials from the IMA talks are available at
http://www.ima.umn.edu/talks/
Douglas N. Arnold, Director of the IMA
* * * * * * * * * *
Jan Verschelde
Department of Mathematics
University of Illinois
Chicago, IL 60607-7045
USA
Series Editors
Douglas N. Arnold
Arnd Scheel
Institute for Mathematics and its
Applications
University of Minnesota
Minneapolis, MN 55455
USA
Mathematics Subject Classification (2000): 11R09, 11Y99, 12D05, 13P10, 14P05, 14Q05, 14Q10
52A39, 52B20, 52B55, 65D18, 65F15, 65F20, 65F22, 65H10, 65H20, 65-04, 91-08
9 8 7 6 5 4 3 2 1
springer.com
FOREWORD
Series Editors
Douglas N. Arnold, Director of the IMA
Arnd Scheel, Deputy Director of the IMA
PREFACE
are also happy that several new research projects were stimulated by this
problem session. Some results are going to appear elsewhere.
Instead of the "second chances" (usual for IMA workshops), the partic-
ipants were given the opportunity to test the software systems on Wednes-
day and Thursday evening. The evening session started with a one hour
plenary session, where each software system on demo in the evening was
briefly explained. Following this plenary session, the participants moved
to the 4th iioor of Lind Hall, to experience the software systems on the
computers in the open poster area, or in parallel, in the classroom 409.
The IMA systems group worked hard in the weeks leading up to the
workshop to install the software systems. Their effort benefited not only the
workshop participants, but all all subsequent participants to the thematic
year, as they found their workstations equipped with the latest software
tools in algebraic geometry.
The papers in this volume describe the software packages Bertini, PH-
Clab, Gfan, DEMiCs, SYNAPS, Trim, Gambit, ApaTools, and the appli-
cation of Risa/Asir to a conjecture on multiple zeta values. We thank the
participants to the workshop, the authors and the anonymous referees. We
are grateful to the editorial staff of the IMA, Patricia V. Brick and Dzung
N. Nguyen, for their dedication and care.
Michael E. Stillman
Department of Mathematics
Cornell University
http://www.math.cornell.edu/People/Faculty/stillman.html
Nobuki Takayama
Department of Mathematics
Kobe University
http://www.math.sci.kobe-u.ac.jp/ taka/
Jan Verschelde
Department of Mathematics, Statistics ajid Computer Science
University of Illinois at Chicago
http://www2.math.uic.edu/ jan/
CONTENTS
Foreword v
Preface vii
Abstract. Though numerical methods to find all the isolated solutions of nonllnestr
systems of multivariate polynomials go back 30 years, it is only over the last decade that
numerical methods have been devised for the computation and manipulation of algebraic
sets coming from polynomJEil systems over the complex numbers. Collectively, these
algorithms and the underlying theory have come to be known as numerical algebraic
geometry. Several software packages are capable of carrying out some of the operations
of numerical algebraic geometry, although no one package provides all such capabilities.
This paper contains an enumeration of the operations that an ideal software package
in this field would allow. The current and upcoming capabilities of Bertini, the most
recently released package in this field, are also described.
topies involve far more computation time but may result in far fewer paths
(the number of which is the mixed volume). It is not clear a priori which
type of start system is best-suited for an arbitrary polynomial system, so
it is important to have multiple types of start systems available.
Once all (or most) of the aforementioned operations have been imple-
mented, it is possible to compute the zero-dimensional solutions of a given
polynomial system. Two other useful tools belong at this level. First, defla-
tion [11] is a means of constructing a new polynomial system / from / such
that / has a nonsingular solution in place of a particular singular solution
of / . This makes it possible to compute singular solutions more accurately
without relying on higher precision. The major drawback of implementing
deflation is that decisions must be made about the rank of the Jacobian
matrix at the solution point before the solution point is known accurately.
The use of endgames can improve the accuracy of the solution estimate
before deflation, helping to ensure that the correct deflation sequence is
performed but adding the cost of endgame computations. Exploration of
the numerical stabihty and efiiciency of deflation and endgames is a topic
of ongoing research. The big advantage of deflation comes when dealing
with positive dimensional components of multiplicity greater than one.
The other useful tool at this level is a post-processor to manipulate
and display the solutions computed by the solver as well as any statistics
gathered during tracking. As the functionality of such a tool is application-
specific, no more details will be discussed here.
Summary of level 1 operations:
• Differential equation solving, e.g., Euler's method
• Newton's method
• Basic path tracking with adaptive steplength control
• Adaptive precision path tracking
• Squaring of systems
• Start system and homotopy generation
• Start system solving
• Pull zero-dimensional solving
• Endgames
• Deflation
• Post-processing of zero-dimensional data.
All matrix operations described in Section 2.1 have already been im-
plemented in Bertini with the exception of the QR algorithm (i.e., the QR
decomposition of a matrix), which will be implemented by the next release.
Gaussian elimination with scaled partial pivoting is used for linear solving.
The SVD algorithm is based on the description provided in [26].
Bertini uses the basic random number generator found in the C stan-
dard library. Each random number is scaled to be of the appropriate mod-
ulus and stored as an exact rational number with the denominator a power
of ten. Thus, to increase precision, all new digits are set to zero, although
this is not ideal. It would be better to increase precision using randomly
chosen digits such that subsequent truncations and extensions result in the
same additional digits. This will be changed in a future version of Bertini.
The user provides poljTiomials (either the entire homotopy or just the
target system) to Bertini in a file which is parsed using lex and yacc. The
polynomials are stored in straight-line format for easy automatic differenti-
ation and homogenization as well as efficient evaluation. Any optimization,
such as using Horner's method, is the responsibility of the user. Homoge-
nization is carried out as the polynomials are being parsed, and differenti-
ation is carried out after the entire system has been parsed, currently via
forward automatic differentiation as described in [8].
Bertini allows the user to include constants and subfunctions when
defining the target system and also the path variable and parameters when
defining a homotopy. There are various restrictions placed on the homoge-
neous structures allowed depending upon the scenario, but multiple vari-
able groups are generally supported. All coefficients, constants, and other
numbers are stored as exact rational numbers, as described for random
numbers above, and are assumed to be exact. As a result, function and Ja-
cobian evaluation are available at any level of precision. Analytic functions
of constants and parameters are not yet supported.
3.2. Level 1. All level 1 operations of Section 2.2 have been imple-
mented in Bertini with the exception of deflation. Euler's method is used as
the predictor, and Newton's method as the corrector. The fractional power
series endgame [19] is available in basic precision, fixed higher precision,
and adaptive precision.
All polynomial systems are automatically squared to the appropriate
number of polynomials and variables, although the details of the squaring
mechanism are excluded from the present paper for brevity. If the user
specifies only the target system and variable groupings, Bertini multiho-
mogenizes the system according to the groupings and attaches a compatible
m-homogeneous start system via a linear homotopy. Each polynomial in
the start system consists of a product of random linear functions matching
the homogeneous structure of the corresponding target polynomial. If the
user specifies only one variable group, the result is a total degree start sys-
tem. Bertini also has a post-processor which collects the endpoint data for
12 DANIEL J. BATES ET AL.
the run and creates a number of files, some of which are human-readable
and some of which are better suited for machine reading. The files provide
lists of singular endpoints, nonsingular endpoints, real endpoints, and so
on. Important path characteristics, such as an estimate of the error in the
endpoint, are also supplied in these files. Bertini also indicates whether any
paths failed (and why they did) and whether any path crossing occurred
prior to the endgame.
3.3. Level 2. All of the operations of level 2 described in Section 2.3
have been implemented in double precision in Bertini, with the exceptions
of endpoint sharpening and deflation. Users have the option of computing
the numerical irreducible decomposition of the polynomial system input
file, sampling a component of a system for which witness data has pre-
viously been computed, or performing component membership on such a
system. The algorithms are then carried out as described in Section 2.3
and [24].
In the case of computing the numerical irreducible decomposition,
Bertini stores all data in memory until the end of the run. At the end
of the run, a postprocessor sorts the data and creates a number of files, as
in the case of a zero-dimensional run. The structure of the algebraic set is
also provided in a table on the screen, namely the number of irreducible
components of each degree in each dimension. Additional details may be
found in the Bertini documentation available in [2].
3.4. Level 3. None of the level 3 operations described in Section 2.4
are available in the beta version of Bertini. Much of the further develop-
ment of Bertini will involve level 3 operations.
4. T h e future for B e r t i n i . It is of course impossible to predict what
will happen with either Bertini or numerical algebraic geometry in the
distant future. However, there is a short-term development plan for Bertini.
The following sections describe the development plan for Bertini 1.0 and
further anticipated developments beyond Bertini 1.0.
4 . 1 . B e r t i n i 1.0. There are several key developments currently in the
process of being implemented in order to move Bertini from the beta version
to version 1.0. The four main improvements are the inclusion of the cascade
algorithm in fixed multiple precision as well as adaptive precision, deflation
in both the zero- and positive-dimensional cases, endpoint sharpening (as
described in Section 2.2), and the QR decomposition. Other improvements
are minor, such as several small changes to the output files and an improved
post-processor. The goal is to have most of the operations of levels 0 , 1 , and
2 available in Bertini 1.0 in fixed user-specified multiprecision and adaptive
precision.
4.2. Beyond B e r t i n i 1.0. While there will certainly be a number of
changes to the core functions of Bertini after version 1.0 is released (such as
improving the way that random numbers are handled), many of the major
SOFTWARE F O R NUMERICAL ALGEBRAIC GEOMETRY 13
REFERENCES
[14] T.Y. Ll AND Z. ZENG, A rank-revealing method with updating, downdating, and
applications, SIAM J. Matrix Anal. AppL, 26(4):918-946, 2005.
[15] Y. Lu, D . J . BATES, A.J. SOMMESE, AND C . W . WAMPLER, Finding all real points
of a complex curve, to appear Contemporary Mathematics.
[16] A.P. MORGAN, Solving polynomial systems using continuation for engineering and
scientific problems, Prentice-HaJl, Englewood Cliffs, N.J., 1987.
[17] A . P . MORGAN, A.J. SOMMESE, AND C.W. WAMPLER, Computing singular solutions
to nonlinear analytic systems, Numer. Math., 58(7):669-684, 1991.
[18] , Computing singular solutions to polynomial systems, Adv. Appl. Math.,
13(3):305-327, 1992.
[19] , A power series method for computing singular solutions to nonlinear ana-
lytic systems, Numer. Math., 63(3):391-409, 1992.
[20] A.J. SOMMESE AND J. VERSCHELDE, Nun,erical homotopies to compute generic
points on positive dimensional algebraic sets, J. Complexity, 16(3):572-602,
2000.
[21] A.J. SOMMESE, J. VERSCHELDE, AND C.W. WAMPLER, Using monodromy to de-
compose solution seta of polynomial systems into irreducible components, in
proceedings of Applications of algebraic geometry to coding theory, physics
and computation (Eilat, 2001), NATO Sci. Ser. II Math. Phys. Chem., 3 6 ,
2001.
[22] , Symmetric functions applied to decomposing solution sets of polynomial
systems, SIAM J. Num. Anal., 40{6):2026-2046, 2002.
[23] , Homotopies for intersecting solution components of polynomial systems,
SIAM J. Num. AnaJ., 42(4):1552-1571, 2004.
[24] A.J. SOMMESE AND C.W. WAMPLER, Numerical solution of systems of polynomials
arising in engineering and science, World Scientific, Singapore, 2005.
[25] , Exceptional sets and fiber products, to appear Foundations of Computa-
tional Mathematics.
[26] G.W. STEWART, Matrix algorithms. Vol. I. Basic decompositions, SIAM, Philadel-
phia, 1998.
[27] H.-J. Su, J. M C C A R T H Y , M . SOSONKINA, AND L . T . WATSON, Algorithm 857: POL-
SYS-GLP - A parallel general linear product homotopy code for solving poly-
nomial systems of equations, ACM Trans. Math. Software, 32(4):561-579,
2006. Software available at www.vrac.iastate.edu/~haijunsu.
[28] J. VERSCHELDE, Algorithm 795: PHCpack: a general-purpose solver for poly-
nomial systems by homotopy continuation, ACM Trans. Math. Software,
25(2):251-276, 1999. Software available at www.math.uic.edu/~jan.
[29] J. VERSCHELDE AND Y . ZHUANG, Parallel implementation of the polyhedral homo-
topy method, in proceedings of I C P P W '06 (International Conference Work-
shojjs on Parallel Processing), IEEE Computer Society, Washington, DC, 4 8 1 -
488, 2006.
[30] C.W. WAMPLER, HomLab: Homotopy Continuation Lab, available at www.nd.edu/
'^^cwamplel.
P H C L A B : A M A T L A B / O C T A V E INTERFACE TO PHCPACK*
YUN GUANt AND JAN VERSCHELDE*
*This material is based upon work supported by the National Science Foundation
under Grant No. 0105739 and Grant No. 0134611.
t Department of Mathematics, Statistics, and Computer Science, University of
Illinois at Chicago, 851 South Morgan ( M / C 249), Chicago, IL 60607-7045, USA
(guanamath.ui c.edu).
* Department of Mathematics, Statistics, and Computer Science, Univer-
sity of Illinois at Chicago, 851 South Morgan (M/C 249), Chicago, IL
60607-7045, USA (jan9math.uic.edu or j a n . v e r s c h e l d e a n a - n e t . o m l . g o v ; h t t p : / /
www .math. u i c . e d u / ~ j an).
15
16 YUN GUAN AND JAN VERSCHELDE
matrix format for a polynomial system into a sjmibolic input format to phc.
The blackbox solver of PHCpack is called by the command solve_systein.
Besides the solution vectors, the solver returns extra diagnostical informa-
tion about the quahty of each solution.
Path tracking typically starts from a generic system (without any sin-
gular solutions) to a more specific system. We use the system we first
solved by the blackbox solver as start system to solve a system with spe-
cific coefficients, using the function track. Because of our specific choice
of the coefficients, we generated a polynomial system with a double solu-
tion, i.e.: of multiphcity two. Via the function refine_sols and deflation,
we respectively refine a solution and deflate its multiplicity into a regular
problem.
The last function we introduce in this section is mixed_volume, to
compute the mixed volume for a polynomial system and (optionally) create
and solve a random coefficient start system. The mixed volume equals the
number of roots without zero components of a polynomial system with suf-
ficiently generic coefficients. The function mixed.volume calls the trans-
lated form of the code Mixed Vol [3].
4.1. I / O formats and the blackbox solver. The input to the
solver is a system of multivariate equations with complex floating-point
coefficients. For example, consider the system g{x) = 0:
This system is encoded as a matrix, with in its rows the terms of each
polynomial. A zero row in the matrix marks the end of a polynomial
in the system. A nonzero row in the matrix represents a term as the
coefficient followed by the exponents for each variable. For example 4.7x2
is represented by the row 4 . 7 0 2. If n is the number of variables and m
the total number of terms, then the matrix encoding the system has m + n
rows and n + 1 columns.
To solve the system g{x.) = 0 using PHClab, we may execute the
following sequence of instructions:
7, t a b l e a u input for a system :
t = [1.3 2 0; 4 . 7 0 2; - 3 . 1 + 2.3*i 0 0; 0 0 0;
2.1 0 2; -1.9 1 0 ; 0 0 0];
make_system(t) % shows symbolic format of the system
s = solve_system(t); % call the blackbox solver
ns = size(s,2) % check the number of solutions
s3 = s(3) % look at the 3rd solution
Then we see the following output on screen:
ans =
' + 1.3*xl**2 + 4.7*x2**2 + (-3.1+2.3*1)'
18 YUN GUAN AND JAN VERSCHELDE
time: 1
multiplicity: 1
err: 4.0340e-16
rco: 0.1243
res: 2.7760e-16
xl: -3.9180 + 0.38761
x2: 0.0930 + 1.88511
We see the coordinates of the solution are in the last fields (displayed
by default in short format, we may see more in format long) and extra
diagnostics in the first five fields, briefly explained below.
t i m e is the end value of the continuation parameter. If this value is not
equal to one, then it means that the path tracker did not manage to
reach the end of the path. This may happens with paths diverging
to infinity or with highly singular solutions.
multiplicity is the multiplicity of the solution. A solution is regular when
the multiplicity is one. When the approximation for a solution
is not yet accurate enough, then the multiplicity might still be
reported as one, although the value for rco might be close to the
threshold.
e r r is the magnitude of the last update Newton's method made to the
solution. At singular solutions, the polynomial functions exhibit a
typical "flat" behavior. Although the residual may then be already
very small, the value for this e r r can be still large.
rco is an estimate for the inverse of a condition number of the Jacobian ma-
trix evaluated at the approximate solution. A solution is deemed
singular when this number drops below the threshold value of 10~^.
Multiple solutions are singular. The condition number C of the Ja-
cobian matrix measures the forward error, i.e.: if the coefficients
are given with D digits precision, then the error on the approxi-
mate solution can be as large as C x 1 0 " ^ .
res is the residual, or the magnitude of the polynomial system evaluated
at the approximate solution. This residual measures the backward
error: how much one should change the coefiicients of the given
system to have the computed approximation as the exact solution.
The values of the coordinates of the solutions are by default displayed in
MATLAB's (or Octave's) format short. By format long e we can see
the full length in scientific format. For the solution above, the values of
e r r , rco, and r e s indicate an excellent quality of the computed solution.
PHCLAB: A MATLAB/OCTAVE INTERFACE TO PHCPACK 19
number is about 10^, below the threshold of 10^, so phc does not recognize
the solution as a double root. We will next see how to get closer to the
actual solution.
4.3. Refining and reconditioning singular solutions. To refine
the solution we save in s2, we execute 10 addition Newton steps, applying
refinejsols to the second solution s2:
r2 = r e f i n e _ s o l s ( d o u b l e , s 2 , 1 . 0 e - 1 6 , 1 . 0 e - 0 8 , 1 . 0 e - 1 6 , 1 0 )
We allow 10 iterations (last parameter of refine_sols) of Newton's method,
requiring that either the magnitude of the correction vector (err) or the
residual (res) is less or equal than 10~^®, as specified respectively by the
third and fifth parameter of reflne_sols.
Below, on the output we see the estimate for the inverse condition
number has decreased, along with the value for x2:
r2 =
time: 1
multiplicity: 1
err: 3.3000000000000006-09
rco: 3.8850000000000006-09
res: 6.4279999999999996-17
xl: 2.OOOOOOOOOOOOOOOe+00 4.309100000000000e-41i
x2: -2.9990621833465416-0! - 3.017695139191104e-10i
Now that the estimate for the inverse condition number has dropped
from 10~^ to 10"^, below the threshold of 10~^, we expect this solution to
be singular. To deflate the multiplicity [9] and recondition the solution, we
execute
def.sols = deflation(double,sols);
def_sols{4,l}
and then we see on screen
ans =
time: 1
multiplicity: 2
e r r : 2.1860000000000006-07
r c o : 1.2420000000000006-01
r e s : 1.0030000000000006-13
x l : 2.0000000000000106+00 + 1.929286255918420e-14i
x2: -1.7426214785217806-14 + 8.266179457715231e-15i
lm_l_l: 3.0779398018996406-01 + 6.678691166401400e-01i
lm_l_2: -6.7375245460803006-01 - 2.946929268111410e-01i
Notice the value rco which has increased dramatically firom 3.885e-09 to
1.242e-01, as a clear indication that the solution returned by deflation is
well conditioned. Yet the multiplicity is two as a solution of the original
system. The deflation procedure has constructed an augmented system for
which the double solution of the original system is a regulax root. The
PHCLAB: A MATLAB/OCTAVE INTERFACE TO PHCPACK 21
values for lm_l_l and lm_l_2 are the values of the multipliers Ai,i and Ai^2
used in the first deflation of the system. The number of multipliers used
equals the one plus the numerical rank of the given approximate solution
evaluated at the Jacobian matrix of the original system. The augmented
system is returned in def _sols{3,1}.
4.4. Mixed volumes a n d r a n d o m coefficient s y s t e m s . In order
to solve the system (4.2) we used the output of the blackbox solver on a
more general system. The blackbox solver uses polyhedral homotopies [5] to
solve a system with the same sparse structure but with random coefficients.
Such random coefficient system has exactly as many isolated solutions as its
mixed volume [10]. The function mixed_volume in PHClab gives access
to the code MixedVol [3] as it is available as translated form in PHCpack.
If we continue our session with in double the tableau input for the
system (4.2), then we can compute its mixed volume and solve a random
coefficients start system via the following sequence of commands:
[ v , g , s ] = mixed_volume(double,l); % compute mixed volume
v 7. check t h e mixed volume
US = s i z e ( s , 2 ) 7. check number of s o l u t i o n s
g '/. ramdom c o e f f i c i e n t system
The output to these command is
V = 4
ns = 4
[1,1] =
+( 9.51900029533701E-01 + 3.06408769087537E-01*i)*xl~2
+( 9.94012861166580E-01 + 1.09263131180786E-01*i)
[2.1] =
+( 6.10442645118414E-01 - 7.92060462982993E-01*i)*x2-2
+(-5.76175858933274E-01 - 8.17325748757804E-01*i)
format. On the first line we have two numbers: the number of equations
and variables. Thereafter follow the polynomials, each one is terminated
by a semicolon. For example, the system ^(x) = 0 is represented as
2 2
1.3*xl**2 + 4.7*x2**2 + (-3.1+2.3*1);
2.1*x2**2 - 1 . 9 * x l ;
Note that 1 (and I) may not be used to denote variables, as they both
represent the imaginary unit v ' ^ . Because e and E are used to denote
floating-point numbers, e and E may not by used as the start of names of
variables.
If /tmp/Demo contains the polynomial systems in the files with names
kulO, cycllcS, /tmp/Demo/fbrf lve4, /tmp/Demo/game4two, (taken from
the demonstration database^ at [21]), then the script with contents
f = {'/tmp/Demo/kulO'
'/tmp/Demo/cyclicS'
'/tmp/Demo/fbrfive4'
'/tmp/Demo/game4two'};
for k= l : s i z e ( f , 1 )
p = read_system(f{k});
t o = clock;
s = solve_system(p);
et = e t i m e ( c l o c k ( ) , t O ) ;
n = size(s,2);
f p r i n t f ('Found %d s o l u t i o n s for %s i n °/,f s e c . \ n ' ,
n,f{k},et);
end;
will produce the foBowing statistics:
Found 2 s o l u t i o n s for /tmp/Demo/kulO i n 1.819892 s e c .
Foimd 70 s o l u t i o n s for /tmp/Demo/cyclic5 i n 11.094403 s e c .
Found 36 s o l u t i o n s for /tmp/Demo/fbrfive4 i n 18.750158 s e c .
Found 9 s o l u t i o n s for /tmp/DeBo/game4two i n 1.630962 s e c .
5.2., Parallel scripting with M P I T B . MPITB for Octave [2] ex-
tends Octave environment by using DLD functions. It allows Octave users
in a computer cluster to build message-passing based parallel applications,
by the means of installing the required packages and adding MPI calls to
Octave scripts. To use MPITB for Octave, djmamically linked LAM/MPI
libraries are required. All nodes in the cluster need to be able to access the
custom-compiled Octave that supports DLD functions.
Our choice of MPITB for Octave was motivated primarily by its func-
tionality and availability through open source. In our testing environment,
the latest MPITB for Octave was compiled against LAM/MPI 7.1.2 and
^available at http://www.math.uic.edu/~jaB/demo.html.
PHCLAB: A MATLAB/OCTAVE INTERFACE TO PHCPACK 23
n08 12
n09 15
»iO 15
nil 17
nl2 15
sum 183 (SIZE 183)
elapsed time = 371.603 s
6. A numerical irreducible decomposition. There is not (yet) a
blackbox solver in PHCpack to compute a numerical irreducible decompo-
sition. In the subsections below we describe the functions which call the
tools of phc. We start by defining how we represent positive dimensional
solution set.
6.1. W i t n e s s s e t s . To obtain a numerical representation of a posi-
tive dimensional solution set, we add as many random hyperplanes as the
expected top dimension. Extra slack variables are introduced to turn the
augmented system into a square system (i.e.: having as many equations as
unknowns) for which we may then apply the blackbox solver.
We illustrate our methods on a special Stewart-Gough platform, which
are "architecturally singular" like the so-called Griffis-Duffy platform [4],
analyzed in [6]; also see [17]. Once a witness set has been computed, the
numerical irreducible decomposition in PHCpack apphes monodromy [15]
and linear traces [16].
A witness set consists of a polynomial system and a set of solutions
which satisfy this system. The polynomial system contains the original
polynomial system augmented with hyperplanes whose coefficients are ran-
domly chosen complex numbers. The number of hyperplanes added to the
original system equals the dimension of the solution set. The number of
solutions in the witness set equals the degree of the solution set.
There are two methods to compute witness sets. The (chronologically)
first method is to work top down, starting at the top dimensional solution
component and using a cascade [14] of homotopies to compute (super)
witness sets as numerical representations of solution sets of all dimensions.
The second method works top down, processing equation by equation [19].
6.2. Top down c o m p u t a t i o n using a cascade. The input to em-
bed is a system of 8 equations^ and the number 1, which is the expected
top dimension. We solve the embedded system with solve_system and
then run cascade to look for isolated solutions.
S = read_system('gdplatB'); '/. read the system from f i l e
E = embed(S,l); '/. embed with 1 e x t r a hyperplane
s o l s = solve_system(E); 7. c a l l t h e blackbox s o l v e r
s i z e ( s o l s , 2) 7, see candidate witness #points
40
sw =
[]
[1x40 s t r u c t ]
R=
[]
{9x1 c e l l }
The function cascade returns two arrays. The first array contains the
solutions, while the second one contains the embedded systems. A witness
set for a fc-dimensional solution is defined by the {k + l)-th entries of the
arrays returned by cascade.
The top down approach has the disadvantage that it requires the user
to enter an expected top dimension. While in many practical applications
one can guess this top dimension from the context in which the apphcation
arises, the default value - taking it as high as the number of variables minus
one - is often too expensive.
6.3. Bottom up computation: Equation-by-equation. The new
equation-by-equation solver [19] relieves the user from submitting a top
dimension and seems more flexible. A disadvantage of the solver is that its
performance depends on the order of equations. For the equation describing
our Griflas-Dufiy platform, we move the simplest equations first.
p = read_system('gdplatBa')
[sw,R] = eqnbyeqn(p)
' g0*h0+gl*hl+g2*h2+g3*h3'
' g0"2+gl*2+g2-2+g3-2-h0-2-hl-2-h2-2-h3-2'
[1x102 char]
[1x308 char]
[1x333 Char]
[1x333 char]
[1x308 char]
26 YUN GUAN AND JAN VERSCHELDE
[1x308 char]
sw =
[]
[1x40 struct]
R=
[]
{9x1 c e l l }
6.4. Factoring into irreducible components. We continue with
the output (sw,R), computed either with cascade or eqnbyeqn.
dc = decompose(R{2},sw{2,l})
ans =
40
irreducible factor 1:
ans =
zzl
irreducible factor 2:
ans =
time: 1
multiplicity: 1
PHCLAB: A MATLAB/OCTAVE INTERFACE TO PHCPACK 27
err: 5.103000000000000e-15
rco: 1
res: 3.598000000000000e-15
hO: -3.091000000000000e-01 - 2.563000000000000e-01i
hi: -4.439300000000000e-01 + 5.353800000000000e-01i
h2: 2.5630000000000006-01 - 3.091000000000000e-01i
h3: -5.353800000000000e-01 - 4.439300000000000e-01i
g3: 4.766100000000000e-01 + 8.732700000000000e-01i
gl: 1.164500000000000e+00 - 2.351500000000000e-01i
g2: -3.3606000000000006-01 + 4.145700000000000e-01i
gO: -3.6430000000000006-03 + 8.404300000000000e-01i
zzl: 8.1717000000000006-16 + 5.026400000000000e-16i
dc =
[1x28 s t r u c t ]
[1x1 s t r u c t ]
APPENDIX
return are those points of the third input that do not he on the
component represented by the witness set.
read_system reads a poljoiomial system from file. There is only one input
parameter: a file name. The format of the pol5Tiomial system
on file must follow the input format of PHCpack. The function
returns an array of strings, each string in the array is a multivariate
polynomial in symbolic format.
refine_sols applies Newton's method to refine a solution. There axe six in-
put parameters: a polynomial system, an approximate solution, a
tolerance for the magnitude of the correction vector e r r , a thresh-
old for to decide whether a solution is singular (relative to rco), a
tolerance for the residual r e s , and finally a natural number with
the maximal number of Newton iterations that are allowed. On
return is an array of refined approximate solutions.
set_phcpath defines the directory where the executable version of phc
is. For example, if the program phc is in the directory /tmp,
then set_phcpath('/tmp/phc') must be executed at the start of a
PHClab session. On Windows, ' /tmp/phc' could be replaced by
' C: /Downloads/phc' if phc. exe is in the directory Downloads on
the C drive.
solvejsystem calls the blackbox solver of phc. On input is a polyno-
mial system in matrix format, see the input description for the
command make_systein. An alternative input format is the cell
array returned by read_system. The output is an array of struc-
tuies. Every element in the array contains one solution at the end
of a solution path. In addition to the values for the coordinates of
the solution, an estimate for the condition number of the solution
which leads to a measure for the forward error, while the residual
measures the backward error.
t r a c k applies numerical continuation methods for a homotopy between
start and target system, for a specified set of start solutions. The
three arguments for track are respectively the target system, the
start system and the solutions of the start system. The target and
start system must be given in matrix format. If the start solutions
are singular, then the path tracker will fail to start. The output of
t r a c k is an array of the same length as the array of start solutions,
containing the values at the end of the solution paths.
B . Exercises.
1. Use the blackbox solver to solve (the phc input format is on the
right):
The exact solutions are (1,0), (0,1), (—1 + i^,—l — i^) and
, X _ / x2 + 1.232J/2 + l.uili = 0 ,„ _,
9[^, y)-<^y3_ o.872y2 - 0.6231 + 1.032i = 0 ^^'"^^
x2 + y - 3 = 0
a;-I-0.125y2 - 1.5 = 0 ^ '
X11X22 - a;2ia;i2 = 0
a;i2a;23 - a;22Xi3 = 0 (B.4)
a;i3a;24 — a;23a;i4 = 0.
REFERENCES
[1] R.C. ALPERIN AND R.J. LANG. One and Two-Fold Origami Axioms 2006 4OSME
Proceedings, Pasadena, CA, A.K.Peters, 2007.
[2] J. FERNANDEZ, M . ANGUITA, E . R O S , AND J . L . BERNIER. S C E Toolboxes for the
development of high-level parallel applications. Proceedings of ICCS 2006,
Volume 3992 of Lecture Notes in Computer Science, pages 518-525, Springer-
Verlag, 2006
[3] T. GAO, T . Y . L I , AND M . W U . Algorithm 846: MixedVol: a software package for
mixed-volume computation. ACM Trans. Math. Softw., 31(4):555-560, 2005.
[4] M. GRIFFIS AND J. DUFFY. Method and apparatus for controlling geometrically
simple parallel mechanisms with distinctive connections. US Patent 5,179,525,
1993.
[5] B. HUBER AND B . STURMFELS. A polyhedral method for solving sparse polynomial
systems. Math. Comp., 64(212):1541-1555, 1995.
[6] M.L. HusTY AND A . KARGER. Self-motions of Griffis-Duiiy type parallel manipu-
lators. PTOC. 2000 IEEE Int. Conf. Robotics and Automation, CDROM, San
FVancisco, CA, April 24-28, 2000.
[7] A. LEYKIN AND J. VERSCHELDe. PHCmaple: A Maple interface to the numerical
homotopy algorithms in PHCpack. In Quoc-Nam Tran, editor. Proceedings
of the Tenth International Conference on Applications of Computer Algebra
(ACA '2004), pages 139-147, 2004.
[8] A. LEYKIN AND J. VERSCHELDE. Interfacing with the numerical homotopy algo-
rithms in PHCpack. In Nobuki Takayama and Andres Iglesias, editors. Pro-
ceedings of ICMS 2006. Volume 4 1 5 1 of Lecture Notes in Computer Science,
pages 354-360, Springer-Verlag, 2006.
[9] A. LEYKIN, J. VERSCHELDE, AND A. ZHAO. Newton's method with deflation for
isolated singularities of polynomial systems. Theoretical Computer Science
359(1-3):111-122, 2006.
[10] T.Y. L I . Numerical solution of polynomial systems by homotopy continuation
methods. In F. Cucker, editor. Handbook of Numerical Analysis. Volume XI.
Special Volume: Foundations of Computational Mathematics, pages 209-304.
North-Holland, 2003.
[11] M. MAEKAWA, M . N O R O , K . OHARA, Y . OKUTANI, N . TAKAYAMA, AND Y . TAMURA.
OpenXM - an open system to integrate mathematiccJ softwares. Available at
http://www.OpenXM.org/.
32 YUN GUAN AND JAN VERSCHELDE
{b~2-b+a,
a*b+b-a,
a~2-b+a}
i
{b-a-o.~2,
a.'3+2*a~2)}
of all marked reduced Grobner bases for the ideal generated by the input
polynomials.
By a marked Grobner basis we mean a basis where each polynomial has
a distinguished, marked term. In Gfan the marked term of a polynomial is
the first term listed. Furthermore, the marked term should be the initial
term of the polynomial with respect to the term order.
COMPUTING GROBNER FANS AND TROPICAL VARIETIES IN GFAN 35
Here we use the notation x*" = x]"^ • • • xj^" for ty € N". The term order -<^
is called the refinement of ui with respect to -<. Furthermore, recall that
Buchberger's algorithm for computing a reduced Grobner basis takes as
input an ideal and a term order. If the term order is of the above form -<i^,
then diSerent u may lead to different reduced Grobner bases. The Grobner
fan of / encodes which vectors give the same marked reduced Grobner
basis. For each marked reduced Grobner basis Q we consider the region of
vectors in E " Q that will produce G with Buchberger's algorithm. To avoid
ambiguities we take the closure of this region and call it the Grobner cone
of G- The collection of all Grobner cones is called the (restricted) Grobner
fan of / . We shall give a more precise definition in the case of homogeneous
ideals later.
It is well-known (see [11]) that we have bijections between
• the marked reduced Grobner bases of I,
• the full-dimensional cones in the Grobner fan of 7, and
• the monomial initial ideals of I (with respect to term orders).
Here the bijection between the marked Grobner bases and the initial ideals
follows from uniqueness of reduced Grobner bases while the bijection be-
tween the two first sets follows from the definition of the Grobner fan and
an argument that the Grobner cones for term orders are full-dimensional;
see [19, Proposition 1.13]. The bijections are illustrated in Figure 1.
In Example 1 we computed the Grobner fan of I, although, it was
given to us in a rather inconvenient way as a collection of marked Grobner
bases. In the next example we show how to compute defining equations for
the, Grobner cones. Notice that in this paper we describe the behavior of
Gfan version 0.2.2. Future versions will be slightly different.
EXAMPLE 2. Consider the first marked reduced Grobner basis in
Example 1:
G = {^-2b'^,a-b + b'^}.
We may ask ourselves for which term orders -<^ this is a Grobner basis.
An important observation is that Buchberger's S-pair criterion only depends
36 ANDERS N. JENSEN
FIGURE 1. The Grobner fan in R?.^ of the ideal in Example 1. For each Grobner
cone its monomial initial ideal has been listed.
on the marked terms - not on the term order. Hence, any w G K?.o that
picks out the marked terms as initial monomials will define a term order
for which Q is a Grobner basis. To pick out the marked terms, ui must
satisfy:
FIGURE 2. The Grobner fan of the ideal {xf + 3;| + a;| - 1, i f + a;| + 0:3 — 1, xf +
ccl + 1 3 — 1) intersected with the standard 2-simplex in R^. See [19, Example 3.9].
FIGURE 3. In Example 4 Gfan only produces one Grobner cone in each orbit with
respect to the action of A3. For this reason cones are missing in the picture.
input mil be a list of generators for the ideal plus a list of permutations
generating A3. In general we will need several generators to describe a
subgroup of Sn, but in the case of A3 one generator suffices.
{a"2b-c,b"2c-a,c"2a-b}
{(1.2,0)}
The output is the Xfig-file shown in Figure 3.
Gfan outputs only one Grobner cone in each orbit. When a new
Grobner basis is computed it is checked if it is in the orbit of a previously
computed basis. In this way Gfan avoids computing the entire Grobner
fan. Checking if two Grobner bases are in the same orbit is time consuming
put cheap compared to doing the sjonmetric Grobner basis computations
needed for a complete Grobner fan traversal. The symmetry techniques
used in Gfan are similar to those used in TOPCOM [16] for computing the
regular triangulations of a point configuration up to symmetry.
Before we move on to discuss tropical varieties, we will need the formal
definition of the Grobner fan of a homogeneous ideal as it was defined by
Mora and Robbiano [15]. Recall that for w e E", irK;{I) is the initial ideal
38 ANDERS N. JENSEN
generated by the w-initial forms of elements in I and that this initial ideal
does not have to be a monomial ideal.
DEFINITION 2.1. Let I C Q[a;i,... ,x„] he a homogeneous ideal. We
define the equivalence relation ~ on K" as follows:
where u,v S K". The equivalence classes are relatively open polyhedral
cones in R". Their usual topological closures are called the Grobner cones
of I. The set of all Grobner cones form the Grobner fan of I.
A Grobner fan is indeed a polyhedral fan with nice intersection prop-
erties of its cones. See [19] or [6] for a proof. In particular it contains cones
of different dimensions and not just the full-dimensional cones we discussed
earlier. For a homogeneous ideal, Gfan lets you compute the f-vector of the
fan with the line.
gfan I gfan_fvector
The intersection of all cones in the Grobner fan of an ideal / is again a
Grobner cone. We call this Grobner cone the homogeneity space of / . It
may be computed with the command gf anJhomogeneityspace which takes
a reduced Grobner basis of the ideal / as input. The homogeneity space of
I consists of all vectors which induce gradings on Q [ x i , . . . , x„] for which I
is homogeneous. The homogeneity space is a subspace and a face of every
cone in the Grobner fan.
A note on the different definitions of Grobner fans related to Gfan
and the connection between them is in place. For a homogeneous ideal
the restricted Grobner fan which we started out by defining is gotten by
taking the common refinement of the Grobner fan defined above and the fan
consisting of the faces of the non-negative orthant. In [6] a third uniform
Grobner fan definition is given which for homogeneous ideals coincides with
the Grobner fan definition above and for non-homogeneous ideal has the
property that any cone is the closure of an equivalence class in the sense
above. Again taking the common refinement of this fan with the non-
negative orthant we get the restricted Grobner fan. While the last uniform
definition has the nicest properties, firom a practical point of view it is less
important which definition we use since for all three the maximal cones are
in bijection.
As a last feature for computing Grobner fans we should mention the
program gfan_interactive. This program lets the user waUc around in
the full-dimensional cones of the Grobner fan. At each cone the user gets to
choose a facet to walk through. This is useful when studying the Grobner
fan locally or when searching for an initial ideal with a special property.
3. Computing tropical varieties. The tropical variety of an ideal
7 C Q [ x i , . . . , Xn] is a certain subset of R", namely, it consists of all a; € R"
such that ixhj{I) does not contain a monomial. Besides considering the
COMPUTING GROBNER FANS AND TROPICAL VARIETIES IN GFAN 39
cones have dimension 3. For example the first ray (—1,0,0,0) is the cone
{ s ( - l , 0 , 0 , 0 ) + i ( l , 1,1,1) where {s,t) G R>o x K}. / / the hypersurface
consists of cones of other dimensions, then these will also be listed.
The command gf a i i _ t r o p i c a l i n t e r s e c t i o n is actually more general
than illustrated above. It takes a list of polynomials, each defining a tropi-
cal hypersurface and computes the intersection of these hypersurfaces. The
result is a polyhedral fan which is the common refinement of all the input
tropical hypersurfaces. This intersection is not a tropical variety in general.
Take for example the two tropical hypersurfaces defined by the polynomials
a + b + ab^ and 6 + 1 . Their intersection is the non-negative a-axis which
is not a tropical variety since it does not satisfy the tropical zero-tension
condition at 0.
An alternative way of defining the tropical variety T(7) of an ideal
/ is as the intersection of all tropical hypersurfaces of polynomials in I.
A finite set of polynomials generating an ideal I is called a tropical basis
for / if the intersection of the hypersurfaces the polynomials define equals
T{I). Gfan contains the program gf a n _ t r o p i c a l b a s i s which will compute
a tropical basis for an ideal defining a tropical curve. Here an ideal is said
to define a tropical curve if it has dimension one larger than the dimension
of its homogeneity space. We should point out that it is important that
the ideal defines a curve. The reason for this can be found in the proof of
[3, Algorithm 5]. Basically, what is needed is that it suffices to check if a
single relative interior vector of a cone is in a tropical variety to know that
the cone is contained in the tropical variety. This is not true in general.
EXAMPLE 6. Consider the ideal I C Q[a,b,c,dl generated by {ab +
aa + CC + dd, ba + ca + db}. The homogeneity space of I has dimension 1
and the Krull dimension of Qla,b,c,d\/I is 2. Hence the ideal defines a
tropical curve and we may use gfan-tropicalbasis to compute a tropical
basis of I. This gives the following output:
i
a*b+d"2+c"2+a"2,
a*b+b*d+a*c,
a*2*b-l/2*c*d~2-l/2*c"3+b*c*d+l/2*b*c"2-l/2*b~2*d-l/2*a*c*d+a*c"2}
With gfan-tropicalintersection one can verify that the intersection
of the tropical hypersurfaces defined by the output polynomials is actually
smaller than the intersection of the hypersurfaces defined by the input poly-
nomials.
A theorem by Bieri and Groves [2] says that the tropical variety of
a d-dimensional prime ideal is pure of dimension d, which means that
all maximal cones have dimension d. Furthermore, Speyer's theorem [3,
Theorem 14] says that this pure ci-dimensional complex is connected in
codimension one. Being connected in codimension 1 means that any two
d-dimensional cones in the complex can be connected by a sequence of d-
dimensional cones with any two consecutive cones intersecting in a (d — 1)-
dimensional ridge.
COMPUTING GROBNER FANS AND TROPICAL VARIETIES IN GFAN 41
These theorems form the basis for Gfan's methods for computing trop-
ical varieties of prime ideals. The following example shows how to combine
the programs gf a n _ t r o p i c a l s t a r t i n g c o n e and gf a n _ t r o p i c a l t r a v e r s e
to compute the tropical variety of a homogeneous prime ideal.
EXAMPLE 7. Let a,b,...,j he the 10 2x2 minors of the 2x5 matrix
Xii Xi2 Xiz Xii Xiz
a;21 X22 X23 X2A 3^25
homogeneity space of I has dimension 5 and all cones in the tropical variety
contains this subspace. Besides the homogeneity space the tropical variety
consists of 10 6-dimensional cones and 15 7-dimensional cones. Modulo
the homogeneity space the tropical variety is 2-dimensional. Projectively
we may draw its combinatorics as the Petersen graph; see Figure 4- The
homogeneity space is the center of the projection.
If the ideal is equi-dimensional, but not prime it may be that
the tropical variety is not connected in codimension 1. In that case
gf a n - t r o p i c a l t r a v e r s e computes a connected component. Just as it is
the case for Grobner fans Gfan is able to enumerate the cones of a tropical
variety up to symmetry.
For gf a n . t r o p i c a l t r a v e r s e to compute the tropical variety of an
ideal the ideal must be homogeneous and defined over the rationals. How-
ever most tropical papers consider the case where / is defined in the poly-
nomial ring over the Puiseux series field C{{i}}. In this case the valuation
of the coefficients is taken into account when defining initial forms and the
tropical variety is a polyhedral complex which need not consist of cones.
Thus, a priori, Gfan seems too restrictive. Notice however,
• the tropical variety of the homogenization of an ideal I equals, as
A set, the tropical variety of / except that it lives in a vector space
of dimension one higher; see [3, Lemma 4].
• the tropical variety of an ideal / C C{{f}}[a;i,...,a;„] generated
by elements in the polynomial ring over the rational functions
in t, C{t)[xi,... ,Xn], may be computed by considering the ideal
/ n C[i, xi,..., Xn] in C[t, xi,..., x„] and intersecting its tropical
variety with the t = 1 hyperplane, see [3, Lemma 1].
• if an ideal I is generated by elements in K[xi,.. .,Xn] where
K is an algebraic field extension of Q with an algebraic root a
then T{I) can be computed as the tropical variety of an ideal in
Q[a, xi,..., Xn] where the minimal polynomial of a has been added
as a generator, see [12, Lemma 3.12].
COMPUTING GROBNER FANS AND TROPICAL VARIETIES IN GFAN 43
REFERENCES
[1] D. AVIS AND K . FUKUDA, A basis enumeration algorithm for convex hulls and
vertex enumeration of arrangements and polyhedra., Discrete Computational
Geometry, 8 (1992), pp. 295-313.
[2] R. BlERi AND J. GROVES, The geometry of the set of characters induced by
valuations, J. reine und angewajidte Mathematik, 3 4 7 (1984), pp. 168-195.
[3] T . BOGART, A. JENSEN, R . THOMAS, D . S P E Y E R , AND B . STURMFELS, Computing
tropical varieties., J. Symb. Comput., 4 2 (2007), pp. 54-73.
[4] S. COLLART, M. KALKBRENER, AND D. MALL, Converting bases with the Grobner
walk., J. Symb. Comput., 2 4 (1997), pp. 465-469.
[5] K. FUKUDA, cddlib reference manual, cddlib Version 094b, Swiss Federal Institute
of Technology, Lausanne and Zurich, Switzerland, 2005. ( h t t p : / / w w w . i f o r .
math. e t h z . c h / ~ f ukuda/cdd_home/cdd. html.)
[6] K. FUKUDA, A. JENSEN, AND R . THOMAS, Computing Grobner fans., Mathematics
of Computation, 76 (2007), pp. 2189-2212.
[7] E. GAWRILOW AND M . JOSWIG, polymake: a framework for analyzing convex
polytopes, in Polytopes — Combinatorics and Computation, G. Kalai and
G.M. Ziegler, eds., Birkhauser, 2000, pp. 43-74.
[8] T. GRANLUND AND E T AL., GNU multiple precision arithmetic library 4-l-^,
December 2002. (http://swox.com/gmp/.)
[9] D.R. GRAYSON AND M . E . STILLMAN, Macaulay 2, a software system for research
in algebraic geometry, 2007. (http://www.math.uiuc.edu/Macaulay2/.)
[10] G.-M. GREUEL, G . P P I S T E R , AND H . SCHONEMANN, SINGULAR 2.0.5, A Computer
Algebra System for Polynomial Computations, Centre for Computer Algebra,
University of Kaiserslautern, 2CK)4. ( h t t p : / / w w w . s i n g u l a r . u n i - k l . d e . )
[11] B. HUBER AND R . R . THOMAS, Computing Grobner fans of toric ideals., Experi-
mental Mathematics, 9 (2000), pp. 321-331.
[12] A. JENSEN, H . MARKWIG, AND T . MARKWIG, An algorithm for lifting points in a
tropical variety, 2007. Preprint, math.AG/0705.2441.
[13] A.N. JENSEN, Gfan, a software system for Grobner fans, 2006. (http://www.
math.tu-berlin.de/~jensen/software/gfan/gfan.html.)
[14] A.N. JENSEN, A presentation of the Gfan software., in Mathematical Software -
ICMS 2006, Iglesias and Takayama, eds., Springer, 2006, pp. 222-224.
[15] T . MORA AND L . ROBBIANO, The Grobner fan of an ideal, J. Symb. Comput.,
6 (1988), pp. 183-208.
[16] J. RAMBAU, TOPCOM: Triangulations of point configurations and oriented
matroids, ZIB report, 02-17 (2002).
[17] D. SPEYER AND B . STURMFELS, The tropical Grassmannian, Adv. Geom., 4 (2004),
pp. 389-411.
[18] W. STEIN, Sage: Software for algebra and geometry experimentation., 2007.
(http://www.sagemath.org/,http://sage.scipy.org/.)
[19] B . STURMFELS, Grobner bases and Convex Polytopes, Vol. 8 of University Lecture
Series, American Mathematical Society, 1996.
[20] B . STURMFELS AND J. Yu, TYopical implicitization and mixed fiber polytopes, IMA
Volume 148: Software for Algebraic Geometry; Editors: Michael E. Stillman,
Nobuki Takayama, and Jan Verschelde; Publisher: Springer Science-t-Business
Media, 2008.
[21] T H E C O C O A TEAM, The CoCoA Project, 2007. ( h t t p : / / c o c o a . d i m a . u n i g e . i t / . )
[22] T . THEOBALD, On the frontiers of polynomial computations in tropical geometry,
J. Symbolic Comput., 4 1 (2006), pp. 1360-1375.
O N A C O N J E C T U R E FOR T H E D I M E N S I O N OF
T H E SPACE OF T H E MULTIPLE ZETA VALUES
MASANOBU KANEKO*, MASAYUKI NORQt, AND KEN'ICHI TSURUMAKI*
A b s t r a c t . Since Euler, values of various zeta functions have long attracted a lot
of mathematicians. In computer algebra community, Apery's proof of the irrationality
of C(3) is well known. In this paper, we are concerned with the "multiple zeta value
(MZV)". More than fifteen years ago, D. Zagier gave a conjecture on MZVs based on
numerical computations on PARI. Since then there have been various derived conjectures
and two kinds of efforts for attacking them: one is a mathematical proof and another
one is a computational experiment to get more confidence to verify a conjecture. We
have checked one of these conjectures up to weight k = 20, which will be explained later,
with Risa/Asir function for non-commutative polynomials and special parallel programs
of linear algebra designed for this purpose.
where k = (fci, ^ 2 , . . . , fcn) is an index set of positive integers with fci > 1
(which ensures the convergence). In recent years, the MZVs have been
appeared in various areas of mathematics and physics and aroused stim-
ulating interest among researchers. In particular, it has become apparent
that the structures of (linear or algebraic) relations over the rationals Q
among MZVs reflect properties or structures of various, seemingly unre-
lated mathematical objects. We refer the readers to Zagier's pioneer work
[13] and [2], [12], [8] together with the references therein for more on the
subjeet. In the present paper, we discuss experiments concerning a certain
conjecture on the linear relations among MZVs.
For each integer A; > 2, let -Zfe be the Q-vector space spanned by the
MZVs C(^i)• • •)^n) whose weight == ki + ••• + kn is equal to k. In [13],
Don Zagier gave a remarkable conjectural formula for dimq Zk'-
dimq Zk = dk,
The total number of index sets of weight k is 2*^^^, which is much bigger
than dk « 0.4115 • • • x (1.3247 •••)''• For instance, 2^0-2 = 262144 whereas
^20 = 114. Hence we expect many linear relations among MZVs of given
weight (note that any relations known so far are the relations among MZVs
of same weight). One of the recent major progress in the theory is that
Goncharov [5] and Terasoma [11] independently proved that the number
dk gives an upper bound of dimg Zk'.
THEOREM 1.1 ([5],[11]). The inequality dimq Zk < dk holds for all k.
However, their proofs (both relying on the theory of mixed Tate motif)
do not give any explicit set of hnear relations to reduce the number of gen-
erators to the upper bound, and the question as to what sorts of relations
are needed for that is still unanswered. Concerning to this question, there
is a conjecture in which we are mainly interested:
CONJECTURE 1.1 ([7]). The extended double shuffle relations suffice
to give all linear relations among MZVs.
A stronger version of this conjecture was proposed by H.N. Minh,
M. Petitot et al. in [9] and they verified it (in the sense that their proposed
relations suffice to reduce dimQ-Zjt to dk) up to weight 16 (private com-
munication). Also, Espie, Novelli and Racinet [3] verified the conjecture
up to weight 19 (but modulo powers of TT^ at even weights), in a different
context of certain Lie algebra closely related to the "Drinfel'd associator".
Our main objective is to verify (a still stronger version of) this conjecture
up to weight k = 20. In the next section we explain what this conjecture
exactly means and introduce an algebraic setup to study the conjecture.
Using this setup, we can implement tools for generating relations among
MZVs systematically. This will be carried out in Section 3. In Section 4,
we will verify the conjectiure up to fc = 20 by using the algebraic tools and
special parallel programs of linear algebra. This work follows an experi-
mental computation by Minh and Petitot. We also give a new conjecture
in Section 4, which is a refined version of Conjecture 1.1.
2. The algebraic formulation. The MZV can be given not only as
a sum (1.1) but also as an integral
C(2)2 =
\m>0 / \n>0 / m,n>0
E + E -- E
\TM>n>0 n>7n>0
^
m=n>Oj
2C(2,2) + C(4)
and
dtidt2 ff dt[dt'2
C(2)2 =
/ / tl{l-t2) 11 w^,
dtidt2dt'idt'2
JJJj fl(l-t2K(l-*2)
l>ti>t2>0
i>'2 =
dsids^ds^dsi
4
JjJj SlS2(l - S3)(l - S4)
1>S1>S2>S3>S4>0
S3>S4>0
f fff dsids2ds3ds4
+2
Sl(l -52)53(1 -Si)
1>S1>S2>S3>S4>0
= 4C(3,1) + 2C(2,2),
and this gives C(4) = 4^(3,1). The point here is that the two expressions
obtained are always different, and thus their equaUty gives a collection of
linear relations among MZVs which we call the finite double shuffle rela-
tions (FDS). Moreover, one can extend the finite double shufHe relations
by taking divergent sums and integrals into account together with a certain
regularization procedure. We call these generalized relations the extended
double shuffle relations (EDS), and the conjecture is that the EDS suffices
to give all linear relations among MZVs (Conjecture 1.1).
The two multiplication rules mentioned above are described in a purely
algebraic manner, as given in Hoffman [6]. Let Sj = Q{x,y) be the non-
commutative polynomial algebra over the rationals in two indeterminates
X and y, and Sj^ and f)° its subalgebras Q+S)y and Q + xSjy, respectively.
Let Z : i j " —+ R be the Q-linear map ("evaluation map") which assigns to
each word (monomial) U1U2 •• -Uk {ui E {x,y}) in Sj^ the multiple integral
where ujx{t) = dt/t, ujy(t) = dt/{l — t). We set Z{1) = 1. Since the word
uiU2-•-Wfe isini5°, we always have a;„i(i) = dt/t and Uuk{t) = dt/i^—t),
so the integral converges. By the integral representation (2.1), we have
Z{x^'-^yx''-'-'^y •x^"-''y) = C,{kx,k2,...,kn).
50 MASANOBU KANEKO, MASAYUKI NORO, AND KEN'ICHI TSURUMAKI
for all k, I > 1 and any words w, wi, W2 S i 5 \ and then extending by
Q-bilinearity. Equipped with this product, f)^ becomes a commutative
algebra ([6]) and i3° a subalgebra. The first multiplication law of MZVs
asserts that the evaluation map Z : i3° —> R is an algebra homomorphism
with respect to the multiphcation *, i.e.,
for any words ly, wi, UJ2 € -Q and u, v € {x, y}, and again extending by Q-
bilinearity. The character 'm' is the Cyrillic sha, standing for shuffle. This
product gives ^ the structure of a commutative Q-algebra ([10]) which we
denote by ^ui • Obviously the subspaces Sj^ and Sj° become subalgebras of
Sjui, denoted by Sjj^ and Sj^ respectively. By the standard shuffle product
identity of iterated integrals, the evaluation map Z is again an algebra
homomorphism for the multiplication in:
These relations, however, do not sufiice to obtain all relations. For instance,
there are two MZVs of weight 3, C(3) and ^(2,1). As Euler already showed
in [4], these two values are actually equal, and therefore dimqZs = 1.
But the least weight of FDS is 4 so that we cannot deduce the relation
C(3) = C(2,1) by the FDS. In order to obtain more relations, we introduce
a "regularization" procedure which amounts to incorporate the divergent
MZVs into the picture. In the following we only give a minimum of what we
need to formulate the extended double shuffle relations, and the interested
readers are invited to consult the paper [7].
THE DIMENSION OF THE SPACE OF THE MULTIPLE ZETA VALUES 51
^i-^mb)- (2.5)
Let regm ("regularization map") be the map from S)^ to S)'^ obtained by
taking the "constant term" with respect to y under the isomorphism (2.5):
/ 1 -1 -1 0 -1 0
0 1 1 -1 0 -1
D
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
-1
0
0
-1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0 "\
0
0 0 1 0 1 -1 -1 0 0 0 -1 0 0 0 0 0 0 0 -1 D 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 1 0 1 1 -1 0 0 0 -1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 1 -1 -1 0 -1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0 1 1 -1 0 -1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 1 0 1 -1 -1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 -1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 —1-1 0 -1 0 0 0 -1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 -1 0 -1 0 0 0 -1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 -1 -1 0 0 0 -1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 1 1 -1 0 0 0 -1 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 -1 -1 0 -1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 1 -1 0 -1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 -1 -1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 1 1 -1
-I 10 4 0 3 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 -1 0 12 -1 4 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 -1 0 0 6 6 0 —1 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 -1 0 0 0 12 0 -1 0 4 -1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 -1 0 0 0 0 4 2 0 4 0 0 0 -1 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 -1 0 0 0 0 0 6 0 4 0 0 0 -1 0 6 -1 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 -1 0 0 0 0 0 0 4 6 0 0 0 -1 0 0 2 1 0 -1 4 0 0 0 0 0 0
0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 10 0 0 0 -1 0 0 0 3 0 -1 0 2 -I 1 0 0
-1 20 10 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 -1 0 18 0 9 3 0 -1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 -1 0 0 6 6 0 0 8 4 0 0 0 0 0 -1 6 2 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 -1 0 0 0 12 0 0 0 6 0 4 2 0 0 -1 0 2 0 2 1 0 -1 1 1 0 0 0 0 0
0 -1 0 12 0 6 3 0 0 4 2 0 2 0 0 0 -1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0
0 0 -1 -2 0 0 0 18 0 -1 -1 7 0 2 0 0 0 -1 -1 1 0 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 -1 — 1-1 0 0 0 0 6 0 8 6 0 0 -1 -1 6 -2 2 1 0 0 0 0 0 0 0 0 0
*^ 0 0 0 0 0 -1 -1 -3 0 0 0 0 0 0 0 20 0 0 -1 -3 0 -2 -2 4 0 -1 -1 1 0 0 0 0 /
In particular we have |F(*')|-|-|F(*')| > 2*^~^ for A; > 8. The verification of the
conjecture is reduced to the rank computation of a matrix M^*^) constructed
firom the coefficients of the relations. The inequality (4.1) means that the
number of rows of M^''^ is greater than that of columns and their ratio
increases if A; becomes large. Our purpose is to show rank(M(*^) > 2*'""^—d/t
and it is sufficient to show this inequality for a sub-matrix of M^''\ Our
experiments for small k indicate that
suffices to attain the lower bound of the rank and we are led to a new
conjecture:
CONJECTURE 4.1. R^''^ suffices to reduce the upper bound of dimQ Zk
to dk.
T H E DIMENSION O F T H E SPACE O F T H E MULTIPLE ZETA VALUES 55
li k >7, \R^''^\ is equal to 2*^"^ and the matrix constructed from jR^*^^
is a square matrix. As dk is much smaller than 2'^"^, R^''^ is practically
optimal for our experimental verification. The FDS relations are generated
by shuffle and harmonic products implemented in Risa/Asir. Hoffman's
relations can be generated either by (2.6) or by the explicit representation
(2.7). F I G . 1 actually shows the matrix constructed from i?'^^. Its upper-
half part comes from Hoffman's relations and the lower-half part comes
from the FDS relations. The matrix data for fc < 20 are available from
http://www.math.kobe-u.ac.jp/OpenXM/Math/MZV/matdata. For each
k, E^''\ F^''^ and F^ are converted to matrices and stored as files mhA;,
mf dsfc_2 and mf dsA;_3 respectively. These files are written according to the
following format:
where (r, c) denotes the size of the matrix, li denotes the number of non-
zero elements in the i-th row and {ji,k,o,t) denotes a non-zero element at at
{hji,k)- That is, non-zero elements are stored in row-major order. In the
file, all numbers are four-byte integers and they are represented according
to the network bj^e order.
4.2. Preprocessing by Hoffman's relations. If we convert R^''^
itself to a dense matrix, then we need huge memory for a large k. Fortu-
nately the matrix contains a large number of sparse rows coming from E^''^
and we can apply preprocessing to eUminate many matrix entries with a
small cost. The coefficients of / € E^''^ are 1 or —1 and the number of
terms in / isfc— 1. Furthermore, under the lexicographic ordering we have
the following (cf. FiG. 1):
PROPOSITION 4.1. For any xxw e QH^ there uniquely exists f € £'('')
such that the leading term of f is xxw.
That is, the left-half of the 2*^"^ x 2*^""^ sub-matrix obtained from
E^'^^ is already upper triangular with unit diagonals. Thus we can easily
eliminate the left-half of the sub-matrix obtained from F2 and F^ ' by
using E'^*'. Note that this is a sparse elimination and it can be done
efficiently. After this operation, we have the lower-right sub-matrix which
is denoted by 5^*=). We set Nk = 2*^"^. S^''^ is an Nk x Nk matrix and
what we have to show is rank(S^*^^) > Nk — dk-
TABLE 1
Required size of memory for storing S^'^^ mod p.
k 16 17 18 19 20
size 128MB 512MB 2GB 8GB 32GB
TABLE 2
Statistics of the rank (imputation in the environment (3).
k 16 17 18 19 20
dk 37 49 65 86 114
Nk 8192 16384 32768 65536 131072
rank(5''''^ mod p) 8155 16335 32703 65450 130958
Nk - rank(S'('=) mod p) 37 49 65 86 114
Generation (ICPU) 22sec 85sec 4.5min llmin 30min
Preprocessing (ICPU) 5sec 19sec l.Smin 9min 57min
Elimination (8CPU) 2min 13min 1.3hour 9hour 67hour
Total memory 72MB 288MB 1.2GB 4.6GB 18GB
REFERENCES
59
60 TOMOHIKO MIZUTANI AND AKIKO TAKEDA
with many distinct support sets. It also opens the door to computing all
zeros of larger polynomial systems by polyhedral homotopy.
The mixed cells are enumerated by using a tree on which each node
is provided with a linear inequality system. An enumeration tree has the
following properties:
(i) A leaf node corresponds to a mixed cell if and only if the linear
inequaUty system attached to the leaf node is feasible.
(ii) Each node shares a common system with the child nodes, so that
if the node is infeasible, so are all of its descendant nodes.
There are various ways of constructing such enumeration trees. The static
enumeration method [9, 10, 18, 25] fixes the structure of a tree before
finding mixed cells. However, it is ideal that most of the child nodes are
infeasible and pruned when branching at each node is carried out. To
pursue this idea, the paper [19] proposed the dynamic enumeration method
for a fully mixed system. This method chooses a suitable child node set
among all the candidates generated from a parent node, so that the total
number of nodes of a tree is expected to be small. In this situation, it
is essential for computational efiiciency to utilize information from each
node to be generated during the construction of a tree. In this paper, we
explain how the dynamic enumeration method is extended to a semi-mixed
polynomial system. Recently, we noticed that Emiris and Canny [8] also
enumerate all mixed cells dynamically for fully mixed systems, and build
the dynamic enumeration tree implicitly for this purpose. Both methods
use a linear programming (LP) problem as a means to enumeration mixed
cells. The main differences between the two methods are as follows.
(i) Formulation for finding mixed cells; Our formulation is well suited
for utilizing rich information which can be obtained by solving the
LP problems at upper level of a tree.
(ii) Choice of a child node set at each node: Our method efficiently
chooses a suitable child node set in all the candidates generated
^firom a parent node, using information obtained from the LP prob-
lems to be solved during the execution of enumeration. Emiris and
Canny's method select the best child node set in all the candidates
without taking account of such information, and hence, it is more
computationally expensive.
In fact, the numerical results in [10, 18, 22] show that Emiris and Canny's
dynamic enumeration strategy has a speed disadvantage. In Subsection
3.3, we precisely describe how the two methods construct a dynamic enu-
meration tree.
There are several related software packages for computing the mixed
volume through enumeration of all mixed cells: H0M4PS [11], MixedVol
DEMICS: SOFTWARE FOR COMPUTING THE MIXED VOLUME 61
[10, 12], MVLP [8], PHCpack [25], PHoM [22], mvol [18], etc. H0M4PS,
PHCpack and PHoM, written in FORTRAN, Ada and C + + respectively,
are software packages for computing all isolated zeros of a polynomial sys-
tem by polyhedral homotopy. These packages each contain a module for
enumeration of mixed cells. In particular, PHCpack is the most popular
of these software packages. The C package MVLP uses a dynamic enu-
meration for finding all mixed cells. The C + + package Mixed Vol, which
employs the static enumeration method, specializes in the mixed volume
computation. MixedVol performs better than all other software packages
in terms of computational efficiency and memory usage, as reported in the
papers [10, 12]. A feature of the package is that all mixed cells can be gen-
erated efiiciently for a semi-mixed system by taking account of the special
structure of a semi-mixed support.
Numerical results show that DEMiCs can find all mixed cells much
faster than the other software packages [8, 10, 12, 18, 25, 22] not only
for fully mixed poljmomial systems but also for semi-mixed polynomial
systems. Although DEMiCs has a speed advantage over the other packages
for large-scale fully mixed systems and semi-mixed systems with many
distinct support sets, it does not always excel. Indeed, for unmixed systems
and semi-mixed systems with a few distinct supports, DEMiCs is slower
than MixedVol [12] because of its computation overhead associated with
the dynamic branching rule.
This paper is organized as follows. Section 2 and 3 describe the tech-
nical details of our method. Section 2 outlines the dynamic enumeration
method for a general semi-mixed polynomial system, and Section 3 ex-
plains how to check the feasibility of each node and how to construct an
enumeration tree when a polynomial system is a semi-mixed type. Section
4 describes the usage of DEMiCs. Section 5 compares the performance
of DEMiCs with those of the other software packages on artificial semi-
mixed polynomial systems and well-known large-scale benchmark systems.
Section 6 is devoted to concluding remarks.
2. Dynamic enumeration algorithm for a semii-mixed system.
2.1. Preliminciries. In this paper, we represent each component
polynomial fi{x) in a polynomial system f{x) = {fi{x), f2{x),..., fn{x))
in a; e C" as
using a nonempty finite subset Ai of Z" and nonzero Ci{a) € dor a G Ai.
Here Z" denotes the set of nonnegative integer vectors in R", R and C are
the sets of real and complex numbers, respectively, and
for a = ( a i , 0 2 . . .,a„) £ Z " . We call the set Ai the support of fi{x),
and A = {Ai,A2,- • -jAn) the support of f{x). The convex hull Vi :==
conv(.4i) is called the Newton polytope of / j . Define N = {1,2, . . . , n } .
62 TOMOHIKO MIZUTANI AND AKIKO TAKEDA
The following describes the definition of the mixed volume of the n-tuple
Newton polytopes Vi in M". For all positive number Ai, A2,..., A„, it is
known that the n-dimensional volume of the Minkowski sum
The set Q represents the collection of all nodes in an enumeration tree. The
tree has a root node 0*" £ 0(0) := {0"*} and the leaf nodes f2(M) C 0 .
A node at the tth level corresponds to the element in U L C M , # L = ^ 0 ( L ) .
Let L{C) = {i G M : Ci 7^ 0} for any C £ Q,{L) (L C 'M). This
definition is used for extracting every index of nonempty sets d from C =
{Ci,C2,...,Cm) G 0(L), i.e. L{C) = L ioi C £ 0(L) {L C M). Each
node C = {d : i £ L) £ Q,{L) with L Q M has a linear inequality system
AC):
where
a - . ^
64 TOMOHIKO MIZUTANI AND AKIKO TAKEDA
(•, •) stands for the usual inner product in Euclidean space. Note that Si is
obtained by applying a generic lifting Ui to Si, and C, is the subset of Si.
Li and Li showed in [18] that any mixed cell in a fine mixed subdivision of
S = {Si : i G M) is in one-to-one correspondence to C = (Ci, C2,...,Cm)
with Ci C Si and # C i = ki + 1 for each i G M such that the linear
inequahty system X{C) is feasible. We say that C € fl is a feasible node
when J ( C ) is feasible. Let
fi* = {C e 0 ( M ) : C is feasible}.
Then we can easily see from (2.2) that Cl* consists of every mixed cell in a
fine mixed subdivision.
For C & Q and L C M, we use the notation CL for CL = (Ci : i €
L). Regarding the root node 0"* € J^ as a feasible node, we construct an
enumeration tree according to Algorithm 2.1 of [19]. Namely, for a node
C € Q{L) with the proper subset L C. M and t & M\ L{C) we generate
the child node set W{C,t) of C
every mixed cell can be found as the feasible leaf nodes in the tree. Taking
account of this property, we search for all nodes in fi* according to the
dynamic enumeration algorithm stated below. We will use the notation
At {I G {0} U M) for the set of feasible nodes.
DEMICS: SOFTWARE FOR COMPUTING THE MIXED VOLUME 65
while £ < m do
for allC £Ai do
Choose t from M \ L{C) : (A)
Ai+i^Ai+x\jW*{C,t) :(B)
end for
end while
Once this algorithm terminates, A^ contains all nodes in Q.*, i.e, ev-
ery mixed cell can be stored in Am- We introduce this algorithm, which
constructs a tree in breadth-first order, for simplicity of description; it is
essentially the same as Algorithm 2.2 described in [19], which is in depth-
first order. Hence, we can obtain the same result from these two algorithms
though there is the diflFerence in the search order for feasible leaf nodes. The
software package DEMiCs employs the depth-first order, which is similar
to Algorithm 2.2 in [19], to save memory.
The following two issues have a major effect on the computational
efficiency of the dynamic enumeration algorithm for semi-mixed systems.
As for (ii), it may not be an easy task to find all feasible nodes in
W{C, t) because the size of W{C, t) is not small. So we embed the con-
struction process for W*{C,t) in a tree, and prune worthless subtrees in
order to reduce computational effort. In Subsection 3.1 we discuss the de-
tails of this procedure, and show the formulation of the feasibility check of
a node in Subsection 3.2.
3. Feasibility check for a semi-mixed system.
3.1. Ttee structure for construction of W*{C,t) in ( B ) . We
now explain a tree structure for finding all elements in W*{C,t) efficiently.
Suppose that an index t is chosen from M\L{C) for a feasible node C £ Ae
with ^ < m in (B) of Algorithm 1. Then, we would like to construct
W*{C,t) C W{C,t). For a nonnegative integer k, let
U = {Ui,U2,...,Um): UtCSt,#Ut =k
Ui = ${i^ L{C) U {t})
r:=Ufegif,r(A;;C,t)
serves as the collection of all nodes in the tree. The tree has C G
r ( 0 ; C , i ) = {C} as the root node, and U £ T{k;C,t) with #Ut = A;
as a node at the A;th level. Each node U G r(fc; C, t) has a linear inequality
system J{U) in a variable vector a G K""*"^. Note that each system I{U)
with U S T{kt + l;C,t) is identical to the hnear inequahty system X{C)
at a node C € W(C,t). Therefore, W*{C,t) can be obtained by checking
the feasibility of any node U G T(kt + l;C,t) which corresponds to each
leaf node at the {kt + l)th level.
We now describe more precisely the tree structure for building
W*{C,t). For Ui C St, we choose a function mt : 5t —» Z which
gives the maximum number i among the indices of Oj G Ut- Namely,
mt{Ui) = max{i e Z : Ui € Ut} for Ut C Sf Let T = {V,E) be a rooted
tree, which describes the relation among elements of a node set F. Recall
that St has rt elements. For a node U G r{k;C,t), we generate the child
node set
ZiU;C,t)
^ '
=[ lueTi#Ut
^
+' l;C,t):
' '
. ^* " ^* m?i'• ^j
for every I, mt{Ut)<t<rt
1
and construct T = iV,E) with V — Ufcei<r ^fe ^•iid E = UfceiCt ^k, based
on Algorithm 2. The root node of T, constructed by the algorithm, corre-
sponds to Vo = {C}, where C is one of the elements in A^ generated by
DEMICS: SOFTWARE FOR COMPUTING THE MIXED VOLUME 67
while k < kt + 1 do
for all U eVk : {\\) do
if mt(l7t) < rt then
E f c + i ^ £ ; f c + i U { ( C / , i / ) ) € l 4 x Vk+i:UGZ{U;C. ,*)}
end if
end for
k^k + 1.
end while
For a node U &Vk and child node U G V^+i of U, the feasible region
oi X{U) contains that oi X{U). Hence, if the node t / € 14 is infeasible,
every child node U £ Vk+i of U is infeasible. Therefore, the subtree with
root node U can be pruned, since it does not contain any feasible leaf
nodes at the {kt + l)th level. Accordingly, even if we replace Vk at (tj) of
Algorithm 2 by
VC = {UeVk:U is feasible},
we can find every feasible leaf node at the {kt + l)th level in V^*+i, and
thus obtain W"*(C,i)-
After building T = iV,E), we enumerate all feasible nodes at the
(A;t + l)th level in T and construct V^*+i- First, we initialize V^* as VQ' = Vo-
Next, we repeat the following procedure until k = kt- Suppose that V^ is
constructed. Then, we check the feasibility of every child node U oiU e V^
and store the feasible nodes in Vj^*^.i- As a result, W*{C,t) is obtained as
^k +1- Note that here we use Algorithm 2 having a breadth-first order for
the simplicity of description and that DEMiCs has a depth-first order to
save memory in constructing W*{C,t).
3.2. Formulation of the feasibility check. Suppose that a tree
T = {V,E) with V = \JkeKt ^k and E = Ufcei^:, ^fc is generated by Algo-
rithm 2 for a feasible node C € Ae and an index t e M \ L{C). Then,
we need to check the feasibility of each node f/ S Vfe in order to construct
V^. An LP problem can be formulated for the feasibility check of a node
C/ G Vjt. Let 7 denote a specific n-dimensional real vector, and furthermore
let 7 ^ = (7^,0). To determine whether a node C/ G 14 is feasible or not,
we solve the following problem in a variable vector a G R""*"^:
minimize ^{x;U)
subject to ^{x; U) — 7 ,
D(C/):
—00 <Xb < +00 b eUi\ {tti}
Xb'>0 b'eSi\Ui (ieL{U)).
Here, the linear functions ^{x; U) and ^ ( x ; t/) in x G R'' are defined as
follows:
where
7 = *(x;C)
using an arbitrary nonnegative vector x eM.'^. Then, I>{U) becomes feasi-
ble for each C/ e Vfe.
Furthermore, we can easily find an initial feasible solution for the dual
problem D(C7) for any t7 G V^ by using an optimal solution of D(C).
Recall that the root node C G Vo was revealed to be feasible. That is, we
solved D(C) and obtained an optimal solution x* G R** of D(C), where
d = I]i€L(C)(^' ~ !)• ^^^ *"y ^ ^ ^fc' *^^ vector
W^{C,t) = {C e r ( l ; C , t ) : C is feasible}
satisfies
Xb = xj, — x'^ using nonnegative variables x^, x'^, for simplicity, we consider
the standard LP problem
minimize (c, x)
subject to Ax = b, x >0
where a coefficient matrix A G R"**^", cost vector c G K" and constant
vector 6 G R"* are given, and a; G R" is a variable vector. Suppose that
this problem is feasible, i.e. the feasible region, which forms a polytope,
is nonempty. Then, for a vertex v of the polytope, the simplex method
computes an adjacent vertex v = v + 9d {6 > 0) oi v using a direction
vector d G R", which emanates from v. Fig. 2 illustrates the direction
vectors incident to u. A direction vector d emanating from v is said to
be unbounded if we can increase the value of 6 up to +oo while satisfying
the following: (i) v = v + 6d satisfies all constraints, and (ii) the cost
(c, v) decreases from {c, v). If the LP problem is unbounded, it has an
unbounded direction emanating from some vertex v. In (A) of Algorithm 1,
our dynamic enumeration method chooses an index t such that the size of
Wi{C,t,Xinit) is the smallest among f G M \ L{C). Although we need
a practical procedure to test whether Xinu of D(t7) has an unbounded
direction, a detailed description can be found in [19, Section 3.2].
In (A) of Algorithm 1, our method uses W{{C, t, Xmu) whereas Emiris
and Canny's method uses W*{C, t). There may be a diiference between the
sizes oiW*{C,t,Xinit) and W*{C,t) for some t G M\L{C). However, the
numerical results in Section 5 show that our method sufficiently reduces the
computational effort for finding all mixed cells in a fine mixed subdivision.
4. Usage of D E M i C s . After unpacking the software package
DEMiCs, the user will see SRC and polySys, which include source and
sample files, in the main directory. The make file exists in the directory
SRC. The executable ffie "demies" is generated by executing the following
command in the directory.
72 TOMOHIKO MIZUTANI AND AKIKO TAKEDA
make a l l
The directory polySys also contains some sample files describing the support
sets of several benchmark polynomial systems.
The above input file is placed in SRC as "poly.dat". To compute the
mixed volume via a fine mixed subdivision, we simply execute
demies poly.dat
in SRC, in which the executable file "demies" and the input file "poly.dat"
exist. The software package then displays the total number of mixed cells,
the value of the mixed volume and cpu time on the screen.
# Mixed C e l l s : 4
Mixed Volume: 24
CPU time: 0 s
Furthermore, we can select three options "-c", "-s" and "-cs" when
running the program. The option "-c" ofifers information about each mixed
cell C = (Ciii e M) e n ( M ) . After executing the command
demies -e p o l y . d a t
# 1 : 1 : ( 1 2 6 ) 2 : ( 1 5 ) 3 : ( 5 3 )
Volume: 6
# 2 : 1 : ( 4 1 6 ) 2 : ( 1 5 ) 3 : ( 3 5 )
Volume: 6
# 3 : 1 : ( 4 2 6 ) 3 : ( 3 4 ) 2 : ( 6 5 )
Volume: 6
# 4 : 1 : ( 4 2 6 ) 3 : ( 4 5 ) 2 : ( 5 1 )
Volume: 6
# Mixed C e l l s : 4
74 TOMOHIKO MIZUTANI AND AKIKO TAKEDA
Mixed Volume: 24
On the first line with " # 1", "1 : (1 2 6)" means the subset Ci =
{ail, CH2, oie} of Si. That is, the nunaber in front of a colon corresponds
to the index of the support set. We thus know that one of mixed cells
C = (Ci,C2,C3) e 5 i X 52 X ^3 consists of
where Uij is an element of Si. "Volume" on the next line represents the
volume of the mixed cell C = (Ci, C2, C3). Note that the mixed volume is
obtained from the summation of volumes of four mixed cells for the specific
lifting values u}i{a) (a € Si). On a line with " # " , the sequence of indices
i for the subset d of each support set St indicates the order of an index t
chosen from M \ L{C) in Algorithm 1. For example, the hue with " # 3"
shows that the support sets <Si, ^3 and S2 are chosen in this order.
The software package needs a seed number to generate a random num-
ber for each lifting value a;j(a) (a S Si). If no option is selected as stated
in the above, the seed number is automatically set to " 1 " . The option "-s"
is useful in the case where we change the seed number to generate different
lifting values for each execution. As an example, when "6" is chosen as the
seed number for the input data "poly.dat", we type the command
demies - s p o l y . d a t 6
Given the seed number "2", the "-cs" option is used as follows to get
detailed information about mixed cells.
demies - e s p o l y . d a t 2
, (1,0,...,0,0), (0,1,...,0,0),---,(0,0,...,1,0),(0,0,...,0,0) \
^ ('^1 ,"0 , . . . , 0", 1^') , (0,
'M,...,0,l),---,(0,0,...,1,1),(0,0,...,0,1) /•
Note that the convex hull of T is the n-dimensional prism with a sim-
plex basis, and the n-dimensional volume is r ^ r w - Let e^ denote the
n-dimensional ith unit vector. For T C Z " , we consider the transition of
T by the direction vector Cj as Si. Namely,
Si := Bi + T = {a + Si : a e T} for each i € M.
Assume that each support set Si has the multiplicity n/m e Z for the
dimension n and the number of distinct support sets m. That is, we deal
with semi-mixed polynomial systems f(x) of type {n/m,n/m,...,n/m).
Here, the mixed volume for the support S = {Si,S2, •.. ,Sm) of f{x) is
calculated as n! x . ^^w = n because the n-dimensional volume of conv(iSi)
and conv(T) is equal to each other.
To demonstrate the performance of DEMiCs and MixedVol, we choose
two different values n = 18,24 for the dimension of elements in Si C Z " ,
and change the number of distinct supports sets m in response to each
dimension n. Table 1 and 2, which are in the case of n = 18,24 respectively,
summarize the cpu time of DEMiCs and MixedVol for each system. We
performed 10 times numerical experiments for each system by choosing
the different lifting values in DEMiCs and MixedVol. The cpu time listed
in Table 1 and 2 is the average for each trial. The column "#Supp."
means the number of distinct support sets m, and "Ratio" indicates the
ratio between the cpu time of DEMiCs and MixedVol. The symbol "-"
means that the software package has not been applied to the corresponding
system. Prom these tables, we see that DEMiCs is superior to MixedVol in
the computational time if the number of the distinct support sets is large.
To the contrary, if the number of the distinct support sets is small, we
may not expect the advantage of a dynamic enumeration method. One of
the main reasons is that there is not great difference between the structure
of the djmamic and static enumeration trees. Moreover, DEMiCs needs
more computational tasks involved in choosing an index t from M \ L{C)
at Algorithm 1. Therefore, DEMiCs takes more computational time than
MixedVol for semi-mixed systems with a few distinct supports.
Second, we consider the following benchmark polynomial systems, in-
cluding unmixed, semi-mixed and fully mixed systems. The PRS-10 and
RRS-12 systems, which are arising from kinematic problems in [21], have 12
polynomials with 12 variables and 11 polynomials with 11 variables, respec-
tively. The PRS-10 system is a semi-mixed system of type (1,1,1,9), and
76 TOMOHIKO MIZUTANI AND AKIKO TAKEDA
TABLE 1
n = 18 (The mixed volume of all systems is 18).
TABLE 2
n = 24 (The mixed vohrnie of all systems is 24).
the first three support sets have 4 elements, the last 100 elements. Also, the
RRS-12 system is an unmixed system of type (11), and the support set has
224 elements. The cycUc-n[3], chandra-n[5] and katsura-n[4] systems are
fully mixed systems, and size-expandable systems by the number n. The
katsura-n systems consist of (n +1) pol5niomials with (n+l) variables, and
the others n polynomials with n variables. The detailed description of the
systems can be found in the web site [23]. We changed the lifting values 10
times for each system, and executed numerical experiments. In Table 3, we
list the comparison of the average cpu time of DEMiCs and MixedVol. The
column ">i V" presents the mixed volume for the support of corresponding
systems, and "Ratio" is the ratio between the cpu time of these software
packages. The numerical results for the cyclic-n, chandra-n and katsura-n
systems in Table 3 show that DEMiCs improves the cpu time for finding
all mixed cells dramatically when we address the polynomial systems with
many distinct support sets. However, the numerical results on the PRS-10
and RRS-12 systems imply that it may be difficult for DEMiCs to deal
with the unmixed and semi-mixed system which has only a few distinct
support sets, compared with MixedVol.
Finally, we consider the large-scale cyclic-n, chandra-n and katsura-n
polynomial systems. Numerical experiments were carried out 5 times for
each system associated with the different lifting values. Table 4 exhibits the
DEMICS: SOFTWARE FOR COMPUTING T H E MIXED VOLUME 77
TABLE 3
CPU time for the benchmark system,s.
TABLE 4
A large size of cyclic-n, chandra-n and katsura-n systems.
average cpu time of DEMiCs for each system. As compared with numerical
results in Table 2 of [19], the computational time of DEMiCs is less than
that of the program developed in [19] as the size of the systems becomes
larger. It could be due to improvement on how to use memory space in
DEMiCs.
78 TOMOHIKO MIZUTANI AND AKIKO TAKEDA
REFERENCES
[1] D.N. BERNSHTEIN, The number of roots of a system of equations, Funct. Anal.
Appl. 9 (1975), pp. 183-185.
[2] U. BlTKE, Mixed volumes of polytopes, Archiv der Mathematik 58 (1992),
pp. 388-391.
[3] G. BJORK AND R . F R O B E R G , A faster way to count the solutions of inhomoge-
neous system,s of algebraic equations, J. Symbolic Comput. 12(3) (1991),
pp. 329-336.
[4] W. BoEGE, R. GEBAUER, AND H . KREDEL, Some examples for solving systems of
algebraic equaiiona by calculating Groebner bases, J. Symbolic Comput. 2(1)
11986), pp. 83-98.
[5] S. CHANDRASEKHAR, Radiative Transfer, Dover, NY, 1960.
[6] D.A. Cox, J. LrrTLE AND D . O ' S H E A , Using Algebraic Geometry, Springer-Verlag,
New York, 2nd edition, 2004.
[7] Y. DAI, S . K I M , AND M . KOJIMA, Computing all nonsingular solutions of cyclic-
n polynomial using polyhedral homotopy continuation methods, J. Comput.
Appl. Math. 152 (2003), pp. 83-97.
f8] I.Z. EMIRIS AND J . F . CANNY, Efficient incremental algorithms for the sparse resul-
tant and the mixed volume, J. Symbolic Comput. 20(2) (1995), pp. 117-149.
Softwaie available at http://cgi.di.uoa.gr/~emirjs/index-eng.html.
[9] T. G A O AND T . Y . L I , Mixed volume computation via linear programming,
Taiwanese J. Math. 4 (2000), pp. 599-619.
[10] , Mixed volume computation for semi-mixed systems, Discrete and Comput.
Geom. 29(2) (2003), pp. 257-277.
DEMICS: SOFTWARE F O R COMPUTING T H E MIXED VOLUME 79
that are on one hand generic and on the other are easily tuned to specific
problems. Moreover, the reusability of external or third-party libraries,
such as LAPACK (Fortran library for numerical linear algebra), GMP (C li-
brary for extended arithmetic) has to be considered carefully. Specialized
routines provided by these external tools have to coexist with generic im-
plementation. Therefore, the software should be designed so that it can
connect, in an automatic and invisible to end-user way, the appropriate
implementation with the needed operation.
In this paper, we first describe representative algorithms available in
the library, and illustrate them by some explicit computations. We begin
with a description of the solvers of polynomial equations. These tools are
used as bla^k boxes in geometric computations on implicit curves and sur-
faces. We show how the first level of data structures and polynomial solving
implementations are composed to build such algorithms. Such higher level
operations on geometric objects are embedded in the geometric modeler
AXEL^, as a dedicated plugin. We describe the design and techniques we
have developed to handle a hierarchy of generic and specialized implemen-
tations, based on a view mechanism. This approach is extended to build
plugins, which provide the equivalent functions in an interactive environ-
ment. In particular, we show how template mechanisms can be exploited
to transform static strongly typed code into dynamic polymorphic and
generic functions, assembled into a plugin that can be loaded easily in an
external tool.
1. Solvers of polynomial equations. A critical operation, which
we will have to perform in geometric computations on curves and surfaces,
is to solve polynomial equations. In such a computation, we start with
input polynomial equations (possibly with some incertitude on the coef-
ficient) and we want to compute an approximation of the (real) roots of
these equations or boxes containing these roots. Such operation should
be performed very efficiently and with guarantee, since they will be used
intensively in geometric computation.
In sections 1.1, 1.2, 1.3, we describe subdivision solvers which are
based on certified exclusion criteria. In other words, starting from an ini-
tial bounded domain, we remove subdomains which are guaranteed not to
contain a real solution of the polynomial equations. A parameter e > 0
is controlling the size of the boxes that are kept. For univariate polyno-
mials, existence and uniqueness criteria are applied to produce certified
isolation intervals which contain a single root. Such criteria also exist in
the multivariate case, but are not yet available in our current implemen-
tation. The interest of these subdivision methods, compared to homotopy
solvers [34], [15] or algebraic solvers [13], [33] is that only local informa-
tion related to the initial domain are used and it avoids the representation
or approximation of all the complex roots of the system. The methods
are particularly efficient for systems where the number of real roots is
much smaller that the number of complex roots or where the complex
roots are far from the domain of interest. However multiple roots usually
reduces their performance if their isolation is required, in addition to their
approximation.
1.1. Univariate subdivision solvers. Let us consider first an exact
polynomial / = J2i=o^i^^ ^ Q[^]- Our objective is to isolate the real
roots of / , i.e. to compute intervals with rational endpoints that contain
one and only one root of / , as well as the multiplicity of every real root.
The algorithms take these exact input polynomials and output certified
isolation intervals of their real roots. Some parts of the computation are
performed with exact integer or rational arithmetic (using the library GMP),
but some other parts might be implemented using floating point arithmetic.
It uses adapted rounding modes, to be able to certify the result. Here is
the general scheme of the subdivision solver that we consider, augmented
appropriately so that it also outputs the multiplicities. It uses an external
function V{f, I), which bounds the number of roots of / in the interval / .
ALGORITHM 1.1. R E A L R O O T ISOLATION
Two families of solvers have been developed. One using Sturm theo-
rem, where V{f, I) returns the exact number (counted without multiplici-
ties) of the real roots of / in / . The second one based on Descartes' rule and
Bernstein representation, where V{f,I) bounds the number of real roots of
/ i n 7 (counted with multiplicities). As analyzed in [10], the bit complexity
of both approaches is in OB(d^r^), if / € Z[a;], deg(/) = dis the degree
of / and C{f) =T the maximal bitsize of its coefficients. Notice that with
the same complexity bound, we can also compute the multiplicities of the
real roots. However in practice, the behavior is not exactly the same, as
we will illustrate it.
84 SYNAPS: A LIBRARY FOR SYMBOLIC-NUMERIC COMPUTATION
THEOREM 1.1. [3, 36] Let f,g E Z[a;], where f is square-free and f
is the derivative of f and its leading coefficient fd > 0. If a < h are both
non-roots of f andj ranges over the roots of f in (a, b), then M^(/,3)(a) —
Wu,g)ib) = E ^ sign (/'(7)5(7))- If 5 = / ' then StHa(/, / ' ) is a Sturm
sequence and Th. 1.1 counts the number of distinct real roots of / i n (a, b).
For the Sturm solver V{f,[a,b]) will denote y ( / , [a,b]) = M/(y//)(a) -
Wif,nib).
1.1.2. Bernstein subdivision solver. In this section, we recall the
background of Bernstein polynomial representation and how it is used in
the subdivision solver. Given an arbitrary univariate polynomial function
/(x) € K, we can convert it to a representation of degree d in Bernstein
basis, which is defined by:
f l,iibkbk+i <0
Vihk+i) = Vihk) + l ^^^^^ (1.4)
primitive and irreducible, e.g. [36]. For the computation with real alge-
braic numbers, we use Sturm-Habicht sequences, hence it suffices to deal
with algebraic numbers, as roots of a square-free polynomial and not as
roots of their minimal one. In order to represent a real algebraic number
we choose the isolating interval representation, i.e. by a square-free poly-
nomial and an isolating interval, that is an interval with rational endpoints,
which contains only one root of the polynomial:
2: using namespace::SYNAPS;
3: using naiespace::std;
4: typedef ZZ NT;
5: typedef Alg6braic<NT> SOLVER;
6: int mainO {
7: SOLVER::Poly f("x-9-29*x-8+349*x-7-2309*x-6+9307*x-5-23771*x-4
+38511*x-3-38151*x-2+20952*x-4860");
8: Seq<SOLVHl::R0_t> sol= solve(f, SOLVERO);
9: for (unsigned i=0; i< sol.sizeO; ++i)
10: cout « "(" « i « ") " « sol[i] « endl;
11: return 0; }
First the user declares the number type of the coefficients of the poly-
nomials that he wants to deal with. In our case we use ZZ, which corre-
spond to GMP integers. In the sequel, he declares the solve algorithm, which
means that he chooses an algorithm in order to isolate the real roots of an
integer polynomial. There are many solvers in SYNAPS and each of them
BERNARD MOURRAIN ET AL. 89
fl{xi,...,Xn) = 0,
fs{xi,...,Xn) =0,
in a box B := [ai, 6i] x • • • x [a„, 6„] C R". The method for approximating
the real roots of this system, that we describe now uses the representation
of multivariate polynomials in Bernstein basis, analysis of sign variations
and univariate solvers (Section 1.1.2). The output is a set of small-enough
boxes, which contain these roots. The boxes which are removed are guar-
anteed to contain no root, but the existence and uniqueness of a root in
each output box is not provided, neither the multiplicity. The computation
is done with floating point arithmetic, using controlled rounding modes.
The subdivision solver [24] that we describe now, can be seen as an
improvement of the Interval Projected Polyhedron algorithm in [31].
In the following, we use the Bernstein basis representation of a multi-
variate polynomial / of the domain I := [ai,bi] x • • • x [a„, 6„] C M":
90 SYNAPS: A LIBRARY FOR SYMBOLIC-NUMERIC COMPUTATION
dl dn
f{xi,...,Xn) = X ] ••• X ] ^ii'-'in -B^i(a;i;oi,6i)---B^^a;(a;„;a„,6„).
41=0 in=0
r^Q{0<tk<dk,kfy} '
mif;Uj)<f{u)<M{f;uj).
(a) (b)
Example a:
method iterations subdivisions results time (ms)
sbd 4826 4826 220 217
rd 2071 1437 128 114
sbds 3286 3286 152 180
rds 1113 748 88 117
rdl 389 116 78 44
Example b:
method iterations subdivisions results time (ms)
sbd 84887 84887 28896 3820
rd 82873 51100 20336 4553
sbds 6076 6076 364 333
rds 1486 920 144 163
rdl 1055 305 60 120
the parameters of the problems and the numerical solving, is thus highly
accelerated. Such solvers, exploiting adequately tools from numerical linear
algebra, are numerically robust and compute efficiently approximations of
all the roots, even if they have multiplicities. They can be used directly in
geometric applications (see eg. [20]) or embedded in an algorithm which
validates afterward the approximation. Such validation step is not yet
provided in our current implementation of these resultant based methods.
The library SYNAPS contains several types of resultant constructions,
such that the projective resultant, the toric resultant (based on an imple-
mentation by I. Emiris), and the Bezoutian resultant. Using these resultant
matrix formulations, solving a polynomial problem can be reduced to solv-
ing the generalized eigenvector problem T*{x)v = 0, where T{x) is a matrix
of size N X N with polynomial coefficients, or equivalently a polynomial
with N X N matrix coefficients.
li d = maxij{deg{Tij{x))}, we obtain T{x) =:= Tdx"^ + Td-ix'^'^ +
\-To, where Ti are nx n matrices. The problem is transformed into a
generalized eigenvalue problem {A — XB)v = 0 where
/O
(I 0 0 \
0 \
B = 0 • • •
0 ••• 0 / / 0
\n n ••• n_j 0 -nj
Vo ...
where A, B are N x d constant matrices. And we have the following inter-
esting property :
/ V \
T\x)v = 0<^{A-xB) = 0.
\ x^-'v )
We apply it for implicit curve intersection problems in [5]. Given two
polynomials p, g € Q[a;, y], we compute their resultant matrix, with respect
to y. This yields a matrix T(x), from which we deduce the coordinates
of the intersection points by solving the generalized eigenvector problem
T{xf V = 0. The case of multiple roots in the resultant and of intersection
points with the same x-coordinates is analyzed in details, so that we can
recover their multiplicities.
Examples. Here are two examples which illustrate the behavior of the
implementation. The eigenvalue computation is using the routine dgegv
from the FORTRAN library LAPACK. The connection with this external
library is performed transparently, through the mechanisms of views, as
detailed in Section 3.
94 SYNAPS: A LIBRARY FOR SYMBOLIC-NUMERIC COMPUTATION
p = X* — 2x^2/ + y^ v^ -y^
q = y - Ix^
(xl, yl) = (1.6e-09,0) at multiplicity 4
(x2, y2) = (-0.5,0.5) of multiplicity 2
(x3, y3) = (0.5.0.5) of multiplicity 2
Execution time = 0.005s; Eps = 10'-6.
Such tools have also been used in the following CAD modeling problem: the
extraction of a set of geometric primitives properly describing a given 3D
point cloud obtained by scanning a real scene. If the extraction of planes
is considered as a well-solved problem, the extraction of circular cylinders,
these geometric primitives are basically used to represent "pipes" in an
industrial environment, is not easy and has been recently addressed. We
describe an application of resultant based method to this problem which has
been experimented in collaboration with Th. Chaperon from the MENSI
company. It proceeds as follows: First, we devise a polynomial dedicated
solver, which given 5 points randomly selected in our 3D point cloud, com-
putes the cyhnders passing through them (recall that 5 is the minimum
number of points defining generically a finite number of cylinders, actually
6 in the complex numbers). Then we apply it for almost all (or randomly
chosen) sets of 5 points in the whole point could, and extract the "clusters
of directions" as a primitive cylinder. This requires the intensive resolution
of thousands of small polynomial systems. Classical resultant or residual
resultant constructions are used in this case, to compute quickly their roots,
even in the presence of multiple roots.
more safely. Such a normal form computation is available with exact arith-
metic (rational numbers or modular numbers) and with extended floating
point arithmetic. The numerical stability of the generalized normal form
computation is improved by the allowing column pivoting on the coefficient
matrices of the involved polynomials, which is not possible for Grobner ba-
sis computation. In the case of floating point arithmetic, no certification is
provided yet in the current implementation.
The method constructs a set of monomials B and a rewriting family
F on the monomial set B, which have the following property: V/, / ' € F,
• / has exactly one monomial that we denoted by 7 ( / ) (also called
the leading monomial of / ) in dB,
. supp(/) C B+, supp(/ - 7(/)) C B,
• i f 7 ( / ) = 7 ( / ' ) t h e n / = /',
where B'^ = BUxiBU •• -UXnB, dB = B'^\B. Moreover, the monomial
set B will be connected to 1: for every monomial m in B, there exists
a finite sequence of variables (xj^ )je[i,;] such that 1 £ B, Ilj=i..,i'Xij €
B, W e [1, /] and n^eli.i] ^ij = '^•
The normal form construction is based on the following criteria:
THEOREM 1.3. [22] Let B be a monomial set connected to 1. Let
Rp : 5 + -^ B be a projection from J5+ to B, with kernel F and let I — (F)
be the ideal generated by F. Let Mi : B —* B be defined by b >-* RF{xib).
Then, the two properties are equivalent:
1. For all I <i,j <n, Mj o Mj = Mj o Mi.
2. K [ x i , . . . , x „ ] = ( B ) © J .
The algorithm consists in constructing degree by degree the set B and
in checking at each level, whether the partial operator of multiplication
commutes. For more details, see [33, 25, 26, 23].
Prom this normal form N, we deduce the roots of the system as follows.
We use the properties of the operators of multiplication by elements of
A = R/{fi,..,fs)), as follows (see [2], [21], [32]):
Let a& A such that a{C,i) # o ( 0 ) ^^ i¥^ J (which is generically the case).
1. Compute the Ma the multiplication matrix by a in the basis x^ =
( l , x i , . . . , x „ , . . . ) of A
2. Compute the eigenvectors A = (Ai, Kx^,..., Ax„,...) of M^.
3. For each eigenvector A with A i ^ 0, compute and return the point C =
V Ai '••• ' Ai ) •
be the real roots of r(x) = 0. For each a^, we compute the correspond-
ing y such that f{ai,y) = 0. At this point, we also check that the curve
is in generic position, that is, there is at most one multiple solution of
f{ai, y) = 0. This construction involve the manipulation of algebraic num-
bers and the use of univariate solvers (see Sections 1.1 and 1.2).
Once these points are computed, we compute intermediate (rational)
points Ho < Hi < • • • < Us, such that fii-i < ai < Hi and the corresponding
y such that f{Hi,y) — 0. Here again we use a univariate solver, knowing
that the roots are simple (using a Bernstein subdivision solver).
All these points are collected and sorted by lexicographic order such
that X > y. The subset of points, corresponding to two consecutive x-
coordinates are connected, according to their y-coordinates. See [17] for
more details.
Examples.
Here is how the function and the external viewer AXEL in SYNAPS are called:
MPol<(3Q> p("5*x"4*y-2*x"6-4*x"2*y"2+y"3+y"5-2*y"4*x"2-y"4+2*x"2*y"3");
topology::point_graph<double> g;
topology(g, p,TopSueep2d<double,SIvBzBdg<double> >()) ;
axel::ostream os("tmp.axl") ; os«g; os.viewO;
PROPOSITION 2.3. For e > 0 small enough, the algorithm 2.3 com-
putes a graph of points which is isotopic to the curve COB.
The subdivision level (controlled by e) can be improved significantly
by analyzing the number of real branches at a singular point of the curve
C, using topological degree computation. The solver used to compute these
singular points should be able to isolate them from other extremal points
of / (real roots of dxf = dyf = 0) to guaranty the topology of the curve.
BERNARD MOURRAIN ET AL. 99
Example c:
This curve is the discriminant curve of a bivariate system with few mono-
mials used in [7] to give a counter-example to Kushnirenko's conjecture.
It is of degree 47 in x and y, and the maximal bit size of its coefficient
is of order 300. It takes less that 10 s. (on an Intel M 2.00GHz i686)
to compute the topological graph, by rounding up and down the Bernstein
coefficients of the polynomial to the nearest double machine precision num-
bers, applying the subdivision techniques on the enveloping pol5Tiomials.
We observe a very tiny domain, which at first sight looks like a cusp point,
but which contains in reality, 3 cusps points and 3 crossing points. The
central region near these cusp points is the region where counter-examples
have been found.
Example d: This ciu-ve is the projection onto the {x, y) plane
of the curve of points with tangent parallel to the
-z-direction for a surface of degree 4. It is defined by
the equation of degree 12, and has 4 real cusps and
2 real crossing points. The size of the coefficients
is small and the topological graph is computed in
less than 1 s. It defines 4 connected regions in the
plane, one of these being very small and difficult to
' see on the picture.
2.3. Subdivision approach for space curves. In this section, we
consider a curve C of E^. We suppose that I{C) = (/i, /a, • • •, /*;) and for
two polynomials/(x,y,z),g(x,y,z) £ 7(C), we define t = v{f)/\S7{9)- We
are interested in the topology of C in a box B = [ao, ho] x [a\, 6i] x [a2,62]-
Similar to the 2D case, we can represent / , g and each component of t in the
Bernstein basis for the domain B. As we will see, the sign changes of the
resulting Bernstein coefficients will make it possible to test the regularity
of the curve with minimal effort.
Here is a criteria of regularity of space curves which allows us to deduce
the topology of C in the domain:
PROPOSITION 2.4. [17] Let C he a 3D spatial curve defined by f = 0
and g = 0. If
100 SYNAPS: A LIBRARY FOR SYMBOLIC-NUMERIC COMPUTATION
• tx{x) ^ 0 on B, and
• dyh ^ 0 on z-faces, and dzh ^ 0 and it has the same sign on both
y-faces of B, for h = f or h = g,
As in the previous case, for e > 0 small enough, the output of this
algorithm is topologically equivalent to <$ PI B.
Example.
Here is the Barth sextic surface whose polar variety
has been computed in section 2.3. This surface of
degree 6 has the maximum number of isolated sin-
gularities for this degree, that is 65. These singular
points are also singular points of its polar variety.
} ;
This technique allows us to easily embed the Ubrary into an external
interactive environment such as the geometric modeler AXEL, as we illus-
trate it now. This yields a plugin ShapePlugin, which will be compiled
separately and loaded dynamicEoly into the modeler. To build this plugin,
we first furnish a factory fi-om a list of tjqjes:
typedef type::gentlist<
MPolDseRationalCurve<double>,
MPolDseRationalSurface<double>,
>::T TypeList ;
BERNARD MOURRAIN E T AL. 107
void ShapePlugin::init(void)
{
factory = new WShapGFactory<TypeList> ;
}
This factory allows to maintain a map from the interfaces of external tools
(as in AXEL) to SYNAPS interfaces, which is enriched each time an object
is created:
void ShapePlugin::create(QRationalCurve * c)
{
IShape * shape = f a c t o r y - > i n t e r f a c e ( " I R a t i o n a l C u r v e " ) ;
IRationalCurve * r e ;
IPsurametricCurve * pc ;
r e = dynamic_cast<IRationsLLCurve *> (shape) ;
pc = dynamic_cast<IParametricCurve *>(shape) ;
rc->setEquations(c->pw(),c->px(),c->py(),"t") ;
pc->setRange(c->siBin() ,c->smax()) ;
m a p . i n s e r t ( c , shape) ;
}
The application forwards function calls over its objects to calls of functions
in the plugin, following the same pattern. This approach allows to make
code designed for different purposes, occasionally in different languages,
coexist.
4. Conclusion. SYNAPS is an open source C++ library for sjnnbolic
and numeric computations, that provides algebraic algorithms and data
structures for manipulating poljniomials, for solving polsoiomial equations
and computing with real algebraic numbers. The wide range of the alge-
braic operations that are implemented in the hbrary, as well as the design
of it, based on the view mechanism, allows us to tune the algebraic op-
erations in order to tackle difficult problems in non-linear computational
geometry, such as the computation of the topology of real plane and space
curves and surfaces. Last but not least, the design of the library permits
the development of algebraic plugins that can be used as algebraic primi-
tives to external software packages specialized to geometric modeling, such
as AXEL.
SYNAPS is a continuous effort to combine symbolic and numeric tech-
niques in algebraic computing under the generic programming paradigm.
The library contains more than 200,000 hnes of codes. In a short term,
we plan to structure it into autonomous subpackages and to extend its
capability to build dedicated plugins for external interactive tools, while
improving the implementations for polynomials.
Acknowledgments. B. Mourrain, J.P. Pavone, and J. Wintz are par-
tially supported by the European projects ACS (Algorithms for Complex
Shapes, 1ST FET Open 006413), AIM@Shape (1ST Network of ExceUence
506766) and the ANR project GECKO (Geometry and Complexity).
108 SYNAPS: A LIBRARY FOR SYMBOLIC-NUMERIC COMPUTATION
REFERENCES
[19] H. LoMBARDi, M.-F. ROY, AND M . SAFEY EL DIN. New structure theorems for
subresultants. J. of Symbolic Computation, 29:663-690, 2000. Special Issue
Symbolic Computation in Algebra, Analysis, and Geometry.
[20] V.J. MiLENKOVIC AND E. SACKS. An approximate arrangement algorithm for
semi-algebraic curves. Proceedings of the 22th Annual Symposium on Com-
putational Geometry, ACM, pages 237-245, June 2006.
[21] B. MOURRAIN. Computing isolated polynomial roots by matrix methods. J. of
Symbolic Computation, Special Issue on Symbolic-Numeric Algebra for Poly-
nomials, 26(6):715-738, Dec. 1998.
[22] B. MOURRAIN. A new criterion for normal form algorithms. In M. Fossorier,
H. Imai, Shu Lin, and A. Poli, editors, Proc. AAECC, Vol. 1 7 1 9 of LNCS,
pages 430-443. Springer, Berlin, 1999.
[23] B. MOURRAIN. Pythagore's dilemma, Symbolic-Numeric Computation and the
Border Basis Method, pages 223-243. Mathematics and Visualisation.
Birkhauser, 2006.
[24] B. MoURRAIN AND J . - P . PAVONE. Subdivision methods for solving polynomial
equations. Technical Report 5658, INRIA Sophia-Antipolis, 2005.
[25] B. MOURRAIN AND P H . TREBUCHET. Solving projective complete intersection
faster. In C. Traverso, editor, Proc. Intern. Symp. on Symbolic and Alge-
braic Computation, pages 231-238. New-York, ACM Press., 2000.
[26] B. MouRRAiN AND P H . TREBUCHET. Generalised normal forms and polynomial
system solving. In M. Kauers, editor, Proc. Intern. Symp. on Symbolic and
Algebraic Computation, pages 253-260. New-York, ACM Press., 2005.
[27] TAKESHI OGITA, SHIN'ICHI OISHI. Fast Inclusion of Interval Matrix Multiplication.
Reliable Computing 11 (3): 191-205 (2005)
[28] J . P . PAVONE. Auto-intersection de surfaces pamatries reelles. P h D thesis, Uni-
versite de Nice Sophia-Antipolis, 2004.
[29] F. ROUILLIER AND P . ZIMMERMANN. Efficient isolation of a polynomial real roots.
Journal of Computaticmal and Applied Mathematics, 162(l):33-50, 2003.
[30] S. R U M P , Computational error bounds for multiple or nearly multiple eigenvalues.
Linear Algebra and its Applications, 3 2 4 (2001), pp. 209-226.
[31] E.C. SHERBROOKE AND N . M . PATRIKALAKIS. Computation of the solutions
of nonlinear polynomial systems. Comput. Aided Geom. Design, 10(5):
379-405, 1993.
[32] H.J. STETTER. Numerical polynomial algebra. Society for Industrial and Applied
Mathematics (SIAM), Philadelphia, PA, 2004.
[33] P H . TREBUCHET. Vers une rdsolution stable et rapide des Equations algibrigues.
P h D thesis, Universite Pierre et Marie Curie, 2002.
[34] J. VERSCHBLDE. Algorithm 795: PHCpack: A general-purpose solver for polyno-
mial systems by homotopy continuation. ACM IVansactions on Mathematical
Software 25(2):251-276, 1999
[35] J. VON ZUR GATHEN AND J. GERHARD. Modem computer algebra. Cambridge
- University Press, New York, 1999.
[36] C.K. Y A P . Fundamental Problems in Algorithmic Algebra. Oxford University
Press, 2000. ftp:/Preliminary/cs.nyu.edu/pub/local/yap/algebra^bk.html.
TROPICAL IMPLICITIZATION A N D
M I X E D FIBER POLYTOPES
BERND STURMFELS* AND JOSEPHINE YUt
[x,y]
[x~(-2)*y~(-2) + X + x*y,
x~2 + y + x~(-l).
y-2 + x-(-i)*y-(-l) + y - ( - l ) ]
Here the coefficients are suppressed: they are tacitly assumed to be generic.
We next run a p e r l script using the command . / T r l m . p r l input. The
output produced by this program call is quite long. It includes the fines
VERTICES
19 20
10 92
1 090
TROPICAL IMPLICITIZATION 113
1 0 0 9
1 6 6 0
1 2 2 8
1 0 6 6
1 2 8 2
1 6 0 6
1 0 0 0
1 9 0 0
1 2 0 9
1 8 2 2
Ignoring the initial 1, this list consists of 13 lattice points in E^, and these
are precisely the vertices of the Newton polytope of F{u, v, w). The above
output format is compatible with the polyhedral software Polymake [9].
We find that the Newton polytope has 10 facets, 21 edges, and 13 vertices.
Further down in the output. Trim prints a list of all lattice points in the
Newton polytope, and it ends by telling us the number of lattice points:
N.LATTICE.POINTS
383
Each of the 383 lattice points {i,j, k) represents a monomial u'^v^w'' which
might occur with non-zero coefficient in the expansion oiF{u, v, w). Hence,
to recover the coefficients of F{u, v, w) we must solve a linear system of 382
equations with 383 unknowns. Interestingly, in this example, 39 of the 383
monomials always have coefficient zero in F{u, v, w). Even when a i , . . . , 73
are completely generic, the number of monomials in F{u, v, w) is only 344.
The command . /Trim. p r l implements a certain algorithm, to be de-
scribed in the next sections, whose input consists of n lattice polytopes
in R"~^ and whose output consists of one lattice polytope in R". In our
example, with n = 3, the input consists of three triangles and the output
consisted of a three-dimensional polytope. These are depicted in Figure 1.
The program also works in higher dimensions but the running time
quickly increases. For instance, consider the hypersurface in C* represented
by the following four Laurent polynomials in x,y,z, written in Trim format:
[x,y,z]
[x*y + z + 1,
x*z + y + 1,
y*2 + X + 1,
x*3 + y*5 + z*7]
Input Output
FIG. 1. Tropical implicitization constructs the three-dimensional Newton polytope
of a parametrized surface from the three Newton polygons of the given parametrization.
REMARK 2.1. The examples above may serve as illustrations for the
results in the papers [8] ajid [13]. Emiris, Konaxis and Palios [8] place the
emphasis on computational complexity, they present a precise formula for
plane parametric curves, and they allow for the map to given by rational
functions. Esterov and Khovanskii develop a general theory of polyhedral
ehmination, which parallels the tropical approach in [18], and which in-
cludes implicitization as a very special case. A formula for the leading
coefficients of the implicit equation is given in [8, §4]. This formula is cur-
rently not implemented in Trim but it could be added in a future version.
What distinguishes Trim from the approaches in [8] and [13] is the
command TrCI which computes the tropical variety of a generic complete
intersection. The relevant mathematics will be reviewed in Section 6. This
command is one of the ingredients in the implementation of tropical implic-
itization. The input again consists of m Laurent polynomials in n variables
whose coefficients are tacitly assumed to be generic, or, equivalently, of m
lattice polytopes in n-space. Here it is assumed that m < n. If equality
holds then the program simply computes the mixed volume of the given
polytopes. As an example, delete the last hne from the previous input file:
k,y,z3
[x*y + z + 1,
x*z + y + 1 ,
y*z + X + 1]
TROPICAL IMPLICITIZATION 115
The command . /TrCI. p r l input computes the mixed volume of the three
given lattice polytopes in R^. Here the given polytopes are triangles. The
last line in the output shows that their mixed volume equals five.
Now repeat the experiment with the input file input as follows:
[x*y + z + 1, x*z + y + 1]
DIM
1
RAYS
0 -1 -1
0 0 1
1 0 0
0 1 0
- 1 1 1
MAXIMAL.CONES
0
1
2
3
4
MULTIPLICITIES
2
1
1
1
1
Note that the first ray, here indexed by 0, has multiplicity two. This scaling
ensures that the sum of the five RAYS equals the zero vector (0,0,0).
For a more interesting example, let us tropicalize the complete inter-
section of two generic hypersurfaces in C^. We prepare input as follows:
[a,b,c,d,e]
[a*b + b*c + c»d + d*e + a*e + 1,
a*b*c + b*c*d + c*d*e + d*e*a + e*a*b]
RAYS
- 1 1 0 0 1
- 1 1 1 - 1 3
0 1 0 0 1
- 1 3 - 1 1 1
The rays are labeled 0 , 1 , . . . , 25, in the order in which they were printed.
The maximal (three-dimensional) cones appear output in the format
MAXIMAL.CONES
0 12 3
0 1 7 10
0 1 12
0 3 4 7
0 3 12
0 7 12
[x.y.z]
[ l + x + y + z + x*y + x*z + y*z + x*y*z,
l + x + y + z + x*y + x*z + y*z + x*y*z]
As before, the reader should imagine that the coefficients are generic ra-
tional numbers instead of one's. The tropical complete intersection de-
termined by these two equations consists of the six rays normal to the six
facets of the given three-dimensional cube. The same output would be pro-
duced by Jensen's software GFan [2, 12], which computes arbitrary tropical
varieties, provided we input the two equations with generic coefficients.
P = conv{(000),(001),(010),(011),(100),(101),(110),(lll)}.
Hence the fiber polygon is really just the Minkowski sum of two triangles,
two quadrangles and two pentagon, and this turns out to be a hexagon:
In the next section we shall demonstrate how Trim can be used to compute
fiber polytopes. The output produced will be the planar hexagon which is
gotten from the coordinates above by applying the Hnear map (w, v, w) —
i »
{w — 3,v + w — 9). Hence Trim produces the following coordinatization:
The following result concerns the fiber pol5d;ope from P \ onto 7r(Px).
THEOREM 3.2 ([15, 13]). The fiber polytope E^(P\) depends poly-
nomially on the parameter vector A. This polynomial is homogeneous of
degree q + 1- Moreover, there exist unique polytopes Mi^i^...i^ such that
-^0,...,0,g+l,0,...,0 = 5]^(Pj)-
TROPICAL IMPLICITIZATION 119
E,(AiPi+A2P2) = A ? - E , ( P i ) + AiA2-S,(Pi,P2) + A i - S , ( P 2 ) .
Hence the fiber pols^tope S^(P) is the mixed fiber polytope i;,r(-P, • • • ^ P )
scaled by a factor of 1/c!. Similarly, any of the coefficients in the expansion
(3.4) can be expressed as mixed fiber polj^opes. Up to scaling, we have
In the next section we shall explain how mixed fiber polytopes, and hence
also fiber polj^opes and secondary polytopes, can be computed using Trim.
4. Elimination. Let fi,f2,---,fc £ C[xf^,xf^,...,x^^] be Lau-
rent polynomials whose Newton polytopes are P i , P 2 , . . . , P c C R^, and
suppose that the coefficients of the fi are generic. This means that
[xl,x2,x3]
[xl-3 + x2-3 + x3-3 + 1, xl~(-2)+x2-(-2)+x3-(-2)+l]
TROPICAL IMPLICITIZATION 121
LINEAR.MAP
111
0 12
VERTICES
1 36 0
1 0 36
1 30 12
1 18 12
1 6 24
1 18 24
This hexagon coincides with the hexagon in [18, Examples 1.3 and 4.10].
It is isomorphic to the mixed fiber polytope S,r(Pi, P2) in Example 3.3. D
We may use Trim to compute arbitrary fiber polytopes. For example,
to carry out the computation of Example 3.1, we prepare input as
[x.y.z]
[ l + x + y + z + x*y + x*z + y*z + x*y*z,
l + x + y + z + x*y + x*z + y*z + x*y*z]
and A.matrix as
LIMEAR_MAP
1 1 - 1
2 - 1 0
The two commands above now produce the hexagon in (3.2). Our next
example shows how to compute secondary polytopes using Trim.
EXAMPLE 4.3. Following [20, Example 9.11], we consider the hexagon
with vertices (0,0), (1,1), (2,4), (3,9), (4,16), (5,25). This hexagon is rep-
resented in Trim by the following file A.matrix. The rows of this matrix
span the linear relations among the five non-zero vertices of the hexagon:
LIMEAR.MAP
3 - 3 1 0 0
8 - 6 0 1 0
15 -10 0 0 1
122 BERND STURMFELS AND JOSEPHINE YU
[a.b.c.d.e]
[a+b+c+d+e+1, a+b+c+d+e+1, a+b+c+d+e+1]
[ul,u2,u3, vl,v2,v3]
[ul + u2 + u3 + 1,
ul*u2 + ul*u3 + u2*u3 + u i + u2 + u 3 ,
vl*v2 + vi*v3 + v2*v3 + v i + v2 + v3 + 1,
vl*v2*v3 + vl*v2 + vl*v3 + v2*v3 + v i + v2 + v3]
LINEAR_MAP
10 0 10 0
0 10 0 10
0 0 10 0 1
VERTICES
18 4 0
10 8 4
10 8 0
10 0 8
14 8 0
14 0 8
10 4 8
TROPICAL IMPLICITIZATION 123
18 0 0
10 0 0
18 0 4
FACETS
128 -16 0 0
0 0 0 32
128 0 -16 0
0 32 0 0
0 0 64 0
128 0 0 -16
192 -16 -16 -16
fi{x) = 9iit) - yi, hix) = g-iit) -yi, •••, fn{x) = 9n{t) - yn- (5.2)
[x.y]
[x~7*y"2 + x*y + x~2*y-7 + 1,
124 BERND STURMFELS AND JOSEPHINE YU
1 80 0 0
1 0 45 0
1 0 0 80
1 0 10 80
1 0 0 0
1 28 0 54
This polytope also has six facets, namely four triangles and two quadran-
gles. The expected number of monomials in the implicit equation equals
N_UTTICE_POINTS
62778
At this point the user can make an informed choice as to whether she wishes
to attempt solving for the coefficients using numerical linear algebra. D
Returning to our polyhedral discussion in Section 3, we next give a
conceptual formula for the Newton polytope of the implicit equation as
a mixed fiber polytope. The given input is a Ust of n lattice polytopes
Qii Q2, • • •, <3n in R"""^. Taking the direct product of R"~^ with the space
E " with standard basis {ei, 6 2 , . . . , e„}, we consider the auxiUary polytopes
Trim computes the mixed fiber poljrtope (5.3) for any given Qi,Q2, • • •, Qn,
and it suggests that the Fundamental Theorem of Tropical Implicitization
will be a tool of considerable practical value for computational algebra.
EXAMPLE 5.3. We consider a threefold in C^ which is parametrically
represented by four trivariate polynomials. On the file input we write
[x,y,z]
[x + y + z + 1,
x~2*z + y"2*x + z"2*y + 1,
x"2*y + y*2*z + z"2*x + 1,
x*y + x*z + y*z + x + y + z]
The Newton polytope of this threefold has the f-vector (8,16,14,6), and it
contains precisely 619 lattice points. The eight vertices among them are
VERTICES
1 15 0 0 0
1 0 6 0 0
1 0 0 0 9
1 0 0 6 0
1 0 0 0 0
1 12 0 0 3
1 9 3 0 0
1 9 0 3 0
This four-dimensional polytope is the mixed fiber polytope (5.3) for the
tetrahedra Qi,Q2,Qs and the octahedron Q4 specified in the file input. D
In (5.1) we assumed that the gi{t) are Laurent polynomials but this
hypothesis can be relaxed to other settings discussed in [8, 13]. In partic-
ular, the Fundamental Theorem of Tropical Imphcitization extends to the
case when the gi{t) are rational functions. Here is how this works in Trim.
EXAMPLE 5.4. Let a i , . . . , as and / 3 i , . . . , ^5 be general complex num-
bers and consider the plane curve which has the rational parametrization
This curve appears in [8, Example 4.7]. The input for Trim is as follows:
[ t , X. y ]
[ t"3 + t + 1 + x*t"2 + X ,
t " 4 + t " 3 + 1 + y*t"2 + y ]
POINTS
14 2
10 3
12 3
10 0
14 0
Here inu,(/) is the ideal of C[xf ^,... ,Xp ^] which is generated by the w-
initial forms of all elements in / . The set T ( / ) can be given the structure of
a polyhedral fan, for instance, by restricting the Grobner fan of any homog-
enization of / . A point w in T{I) is called regular if it lies in the interior
of a maximal cone in some fan structure on T ( / ) . Every regular point w
naturally comes with a multiplicity m^, which is a positive integer. We
can define the sum of multiplicities of all minimal associate primes
of the initial ideal in^(/). The multipHcities m^ on T(7) are independent
of the fan structure and they satisfy the balancing condition [18, Def. 3.3].
If 7 is a principal ideal, generated by one Laurent polynomial f{x),
then T{I) is the union of all codimension one cones in the normal fan of
the Newton polytope P of f(x). A point w € T(7) is regular if and only
if w supports an edge of P, and m^ is the lattice length of that edge. It
is important to note that the polytope P can be reconstructed uniquely,
up to translation, from the tropical hypersurface T(7) together with its
multiplicities m^. The following Trim example shows how to go back and
forth between the Newton polytope P and its tropical hypersurface T(7).
EXAMPLE 6.1. We write the following polynomial onto the file poly:
[ X, y, z ]
[ X + y + z + x~2*y*2 + x"2*z*2 + y"2*z*2 ]
The command . / T r C I . p r l poly > fan writes the tropical surface defined
by this polynomial onto a file fan. That output file starts out like this:
AMBIENT_DIM
TROPICAL IMPLICITIZATION 127
DIM
2
LINEAR.MAP
10 0
0 10
0 0 1
VERTICES
12 2 0
10 2 2
10 10
12 0 2
110 0
10 0 1
Note that the edge lengths of P are the multiplicities on the tropical
surface. Q
The implementation of the command p r o j e c t . p r l is based on the
formula given in [19, Theorem 5.2]. See [4, §2] for a more general version.
This rssult translates into an algorithm for Trim which can be described as
follows. Given a generic vector u; G R*^ such that faceu,(P) is a vertex v, the
«*'* coordinate vi is the number of intersections, counted with multiplicities,
of the ray w + R>oei with the tropical variety. Here, the multiplicity of the
intersection with a cone T is the multiplicity of T times the absolute value
of the i*'' coordinate of the primitive normal vector to the cone F.
Intuitively, what we are doing in our software is the following. We
wish to determine the coordinates of the extreme vertex v = faceiu(P) of
a polytope P in a given direction w. Our polytope is placed so that it
lies in the positive orthant and touches all the coordinate hyperplanes. To
compute the i*'' coordinate of the vertex v, we can walk from v toward the
i*'' hyperplane along the edges of P, while keeping track of the edge lengths
128 BERND STURMFELS AND JOSEPHINE YU
in the z*'' direction. A systematic way to carry out the walk is to follow the
edges whose inner normal cone intersect the ray to + R>oei. Recall that the
multiplicity of a codimension one normal cone is the lattice length of the
corresponding edge. Using this subroutine for computing extreme vertices,
the whole polytope is now constructed using the method of Huggins [11].
To compute the tropical variety T(I) for an arbitrary ideal I one can
use the Grobner-based software GFan due to Jensen [2, 12]. Our polyhedral
software Trim performs the same computation faster when the generators
of / are Laurent polynomials fi,f2,---,fc that are generic relative to their
Newton polytopes Pi, P2, • • •, Pc- It implements the following combinato-
rial formula for the tropical variety T{I) of the complete intersection I.
THEOREM 6.2. The tropical variety T{I) is supported on a subfan of
the normal fan of the Minkowski sum Yli=i Pi- -^ point w is in T{I) if and
only if the polytope tacGwi^j^ J Pj) has dimension > \J\forJC {l,...,c}.
The multiplicity of T{I) at a regular point w is the mixed volume
where we normalize volume respect to the affine lattice parallel to Yljej Pj-
For a proof of this theorem see [18, §4]. We already saw some examples
in the second half of Section 2. Here is one more such illustration:
EXAMPLE 6.3. We consider the generic complete intersection of codi-
mension three in six-dimensional space (C*)^ given by the polynomials
[a,b,c,d,e,f]
[a*b*c*d*e*f + a + b + c + d + e + f + l ,
a*b + b*c + c*d + d*e + e*f + f * a ,
a + b + c + d + e + f + 1]
The sum is over all points v in T{I) with Av ^ w. We assume that the
number of these points is finite, they are all regular in T{I), and L„ is the
linear span of a neighborhood of v in T ( / ) , and similarly for w G T{J).
The formula (6.2) can be regarded as a push-forward formula in in-
tersection theory on toric varieties, and it constitutes the workhorse inside
the Trim command p r o j e c t . p r l . When the tropical variety T{J) has
codimension one, then that tropical hypersurface determines the Newton
poljrtope of the generator of J. The transformation from tropical hyper-
surface to mixed fiber pol5rtope was behind all our earlier examples. That
transformation was shown explicitly for an octahedron in Example 6.1.
In all our examples so far, the ideal / was tacitly assumed to be a
generic complete intersection, and Theorem 6.2 was used to determine the
tropical variety T{I) and the multiphcities m„. In other words, the com-
mand TrCI furnished the ingredients for the formula (6.2). In particular,
then I is the ideal of the graph of a morphism, as in Section 5, then Theo-
rem 6.4 specializes to the formula for tropical implicitization given in [19].
It is important to note, however, that Theorem 6.4 applies to any ideal
/ whose tropical variety happens to be known, even if I is not a generic
complete intersection. For instance, T{I) might be the output of a GFan
computation, or it might be one of the special tropical varieties which have
already been described in the literature. Any tropical variety with known
multiphcities can serve as the input to the Trim command project .prl.
Acknowledgments. We are grateful to Peter Huggins for his help
at many stages of the Trim project. His iB4e software became a crucial
130 BERND STURMFELS AND JOSEPHINE YU
REFERENCES
[1] LOUIS BILLERA AND BERND STURMFELS, Fiber polytopes, Annals of Mathematics
135 (1992), 527-549.
[2] TRISTRAM BOGART, ANDERS JENSEN, DAVID SPEYER, BERND STURMFELS, AND
REKHA THOMAS, Computing tropical varieties, Journal of Symbolic Compu-
tation 4 2 (2007), 54-73.
[3] ROBERT CORLESS, M A R K GIBSBRECHT, ILIAS KOTSIREAS, AND STEVEN W A T T , NU-
m,erical im,plicitization of parametric hypersurfaces with linear algebra, in:
Artificial Intelligence and Symbolic Computation, Springer Lecture Notes in
Computer Science, 1 9 3 0 (2000), 174-183.
[4] ALICIA DICKENSTEIN, EVA MARIA FBICHTNER, AND BERND STURMFELS, Tropical
discriminants, J. Amer. Math. Soc. 2 0 (2007), 1111-1133.
[5] JESUS D E LOERA, J O R G RAMBAU, AND FRANCISCO SANTOS, Triangulations: Ap-
plications, Structures and Algorithms, Algorithms and Computation in Math-
ematics, Springer Verlag, Heidelberg, t o appear.
[6] IOANNIS EMIRIS AND JOHN CANNY, Efficient incremental algorithms for the sparse
resultant and the mixed volume, J. Symbolic Computation 20 (1995), 117-150.
[7] IOANNIS EMIRIS AND ILIAS KOTSIREAS, Implicitization exploiting sparseness, in D.
Dutta, M. Smid, R. Janardan (eds.). Geometric And Algorithmic Aspects Of
Computer-8iided Design And Majiufacturing, pp. 281-298, DIMACS Series in
Discrete Mathematics and Theoretical Computer Science 6 7 , American Math-
ematical Society, Providence RI, 2005.
[8] IOANNIS EMIRIS, CHRISTOS KONAXIS, AND LEONIDAS PALIOS, Computing the New-
ton polytope of specialized resultants. Presented at the conference MEGA 2007
(Effective Methods in Algebraic Geometry), Strobl, Austria, June 2007.
[9] EWGENIJ GAWRILOW AND MICHAEL JOSWIG, Polymake: A framework for analyzing
convex polytopes. In Polytopes—Combinatorics and Computation (Oberwol-
fach, 1997), DMV Seminar, Vol. 2 9 , pages 43-73. Birkhauser, Basel, 2000.
[10] ISRAEL GEL'FAND, MIKHAEL KAPRANOV, AND ANDREI ZELEVINSKY, Discriminants,
Resultants, and Multidimensional Determinants; Birkhauser, Boston, 1994.
[11] P E T E R HUGGINS, iB4e: A software framework for parametrizing specialized LP
problems, A Iglesias, N Takayama (Eds.), Mathematical Software - ICMS
2006, Second International Congress on Mathematical Software, Castro Ur-
diales, Spain, September 1-3, 2006, Proceedings. Lecture Notes in Computer
Science 4151 Springer 2006 (pp. 245-247).
[12] ANDERS N . JENSEN, Gfan, a software system for Grobner fans. Available at
h t t p : //home. imf. au. dk/aj ensen/sof tweire/gf an/gf an. html.
[13] AsKOLD KHOVANSKII AND ALEXANDER ESTEROV, Elimination theory and Newton
polyhedra. Preprint: math.AG/0611107.
[14] JOHN MCDONALD, Fractional power series solutions for systems of equations, Dis-
crete and Computational Geometry 2 7 (2002), 501-529.
[15] P E T E R MCMULLEN, Mixed fibre polytopes. Discrete and Computational Geometry
32 (2004), 521-532.
[16] T O M MICHIELS AND RONALD COOLS, Decomposing the secondary Cayley polytope.
Discrete and Computational Geometry 2 3 (2000), 367-380.
[17] VICTOR SHOUP, N T L : A Library for doing Number Theory, available at
http://www.shoup.net/index.html.
TROPICAL IMPLICITIZATION 131
[18] BERND STURMFBLS AND JENIA TEVELEV, Elimination theory for tropical varieties,
Preprint: math.AG/0704347.
[19] BERND STURMFELS, JENIA TEVELEV, AND JOSEPHINE Y U , The Newton polytope of
the implicit equation, Moscow Mathematical Journal 7 (2007), 327-346.
[20] GiJNTER ZiEGLER, Lectures on Polytopes, Graduate Texts in Mathematics 152,
Springer-Verlag, New York, 1995.
TOWARDS A BLACK-BOX SOLVER FOR FINITE GAMES:
C O M P U T I N G ALL EQUILIBRIA W I T H G A M B I T
A N D PHCPACK
T H E O D O R E L. TUROCY*
2. The algorithm.
"i(7ri,7r2,...,7rAr)
Wj(7r) >'Ui(7ri,7r2,...,/9i,...,7rjv)
for all Pi £ Sj for alH = 1,2,..., TV. That is to say, for each player i there is
no other randomized strategy pi which gives strictly higher expected value
t h a n TTj.
Because the expected payoff to player i is linear in the probabilities
TTij assigned to the player's own strategies, a profile can only be a Nash
equilibrium if it assigns positive probability only to pure strategies in the
set argmaXjg^. Ui{iTi,..., j,...,TTAT). Therefore, all strategies which are
played with positive probability under TTJ must give the same expected
payoff: tij(s,7r_j) = •Uj(t,7r_i) for any two strategies s,t G Si such that
TTjg > 0 and TTjt > 0. This means the Nash equilibrium conditions can be
written^
The operator ^T is monotonic in T in that, if TTJ ^T Si, then TTJ >-V Si for
any support V C T.
The undominated strategies Si in a support T are then defined as
Af = {T:U{T) = T}.
The task is to efficiently enumerate the set M. For any two sets X,Y C S
with X n F = 0, define
In words, •P(X, Y) is the set of admissible supports in which all the strate-
gies in X are present, and all the strategies in Y are not present. Observe
that P ( 0 , 0 ) = A f . I i X u Y = S, then
forany s G 5 \ ( X u y ) .
The following recursive procedure based on (2.4) efficiently uses dom-
inance information to compute Af. For any partition of S into X, Y, and
Z = S\(XUY),
• Compute U*{XUZ).
— If some player i has no strategies in U*{X U Z), P{X, Y) = 0.
- If some strategy s G X but s ^ U*{X U Z), P{X, Y) = 0.
• Let Y' = Yu{s e Z : s ^ U*{X U Z)}, Z' = Z\{s & Z : s ^
U*{X\JZ)}.
• IiZ' = 0, then V{X,Y) = {X}.
• If Z ' 9^ 0, select any strategy z £ Z'. Compute V{X, Y) recur-
sively by
TABLE 1
A three-player game with nine isolated Nash equilibria.
1 2 3 Wl, '"2, Uz
t / u 9, 8, 12
t / d 0,0,0
t r u 0,0,0
t r d 3,4,6
b I u 0,0,0
b I d 3,4,6
b r u 9,8,2
b r d 0,0,0
and Z' = {r, d}. At this point, r and d must be assigned to X, since
otherwise the resulting support will not be vahd. Therefore, {t, r, d} is an
admissible support.
Proceeding in this way, there are 11 admissible supports, out of
3 X 3 X 3 = 27 possible.
M ={{t, b, I, r, u, d}, {t, b,l,r,u}, {t, b, I, r, d}
{t, b, I, u, d}, {t, b, r, u, d}, {t, l,r, u, d},
{t,I,u}, {t,r,d}, {b,l,r,u,d}, {b,I,d}, {b,r,u}}.
which has solution (TTIJ-KU) = (5, 5), making (7rt,7r;,7r„) = (O, | , | ) a can-
didate Nash equilibrium. However, the condition ui(f;7r_i) > ui(6;7r_i)
fails to hold, since ui{t; 7r_i) = 2 | but ui{b; 7r_i) = 2 | . Thus, this solution
does not correspond to a Nash equilibrium.
In total, eight of the admissible supports have at least one Nash equi-
librium, with the full support having two, bringing the total number of
Nash equilibria to nine:
(TTt, TT,, 7r„) - {(1/2,2/5,1/4), (2/5,1/2,1/3),
(1/2,1/2,1), (1/3,1,1/4),
(1,1,1), (1,0,0), (0,1/4,1/3), (0,1,0), (0,0,1)}.
In addition, on three supports, {t,b,l,r,d}, {t,b,r,u,d}, and {t,l,r,u,d},
there is a solution to the equal-payoff conditions that does not correspond
to a Nash equilibrium.
4. Performance and scalability. The support enumeration method
has been implemented in Gambit. The program uses the Gambit library
for the support enumeration, and hands off the systems of equations gen-
erated to PHCpack for solution. The numerical experiments in this section
characterize the scalabiUty of the method on games of various sizes, as a
rough guide to the practical hmitations of the algorithm in the current
implementation.
4.1. Games with randomly-drawn payoffs. The first set of re-
sults evaluates the computational time for games of a given dimension
with randomly-selected payoffs. Each payoff is drawn independently from
the uniform distribution on [0,1].
TABLE 2
Some summary statistics on the average performance of the program on games
with randomly-drawn payoffs.
player. The second column gives the average number of admissible supports
considered in the games sampled. The third and fourth column together
report the average number of solutions found by PHCpack, divided into
those which correspond to Nash equilibria and those which do not. The
fifth and sixth columns give the average runtime, in seconds, on a Pentium
IV workstation with a single 2.8GHz processor. The column "Enum" gives
the time spent performing the enumeration, and "PHCpack" the time spent
solving the systems of equations.
The striking feature of Table 2 is that the time per invocation of PHC-
pack, and the number of solutions found that do not correspond to Nash
equilibria, increase very rapidly in the size of the game. The average num-
ber of supports visited ranges from roughly one-third to one-half of the
maximum possible for eax;h size game.
TABLE 3
A three-player game with a positive-dimension component of Nash equilibria span-
ning five admissible supports.
1 2 3 Ui,U2,U3
t / u 0,0,2
t / d 1,1,0
t r u 0, 3,0
t r d 0,0,0
b I u 3,0,0
b I d 0,0,0
b r u 0,0,0
b r d 0,0,3
Ui = < (7rt,7ri,7ru) = ( l , 0 , a ) f o r a £
i'
U2 = < (TTt, TTi, ^„) = (0,1, a ) for a e
i^]}
% = |(7rt,7ri,7r„)= L _ ,^ " , a , ^ j fora € [ 0 , 1 ] | .
REFERENCES
maximum co-dimension and minimal distance [30, 33, 36] which we shall
elaborate in §2. With such formulations, algorithms can be constructed
using a two-staged strategy: identifying the solution structure first followed
by solving a least squares problem for an approximate solution. ApaTools
includes generic routines for matrix building and Gauss-Newton iteration
that are the main engines for both stages of computation.
Algorithms implemented in ApaTools are designed to regularize the
problem for removing ill-posedness rather than extending machine pre-
cision for accurate computation. The Maple version of ApaTools can
nonetheless take advantage of variable machine precision via setting the
worksheet "Digits" conveniently. The Matlab version (Apalab) uses the
hardware precision throughout, and is generally much faster than the Maple
counterparts.
ApaTools is at its start as an on-going project. At this stage, the
main objective is to provide researchers in polynomial algebra with generic
and versatile tools that simplify and accelerate algorithm development, ex-
perimentation, and implementation. Particularly on the Maple platform,
enabling convenient and faster coding take higher priority over fast execu-
tion. Moreover, we emphasize on achieving the highest possible accuracy
and robustness in algorithm design and implementation. Nevertheless, the
functions in ApaTools such as approximate GCD appear to be "the most
efficient and rehable" [27, page 223].
ApaTools is maintained at the author's website and fi-eely accessible
to academic researchers and educators for the foreseeable future.
f{x,y,z) = IX^^-^o^-^z-fx^y+f^^yz+fzx-^z^,
g{x,y,z) = §0^4+ a | x 2 j ; - i x 3 j ; - § x y 2 + 1 1 ^ 2 ^ + | Z j ; ^ . ^^•'>
When polynomials are represented with finite precision floating point num-
bers in coefficients
FACTORS
( X- 4.000000000000008 )-20
( X- 2.999999999999994 )-40
( X- 2.000000000000002 )-60
( X - 1.000000000000000 )-80
152 ZHONGGANG ZENG
codimension
n(2,2)
n(4); n(i,i,2) -n(i,1,1,1)
n(i,3)
= {x-af{x-0f |a,/3eC,a7^/3}
is perturbed as p, say
say £ = 0.001. After identifying 11(1,3) this way, we define the ap-
proximate factorization of p within e as the exact factorization of
p = (x — aY{x — 13)^ that is the nearest polynomial to p in 11(1,3).
With this formulation, computing the approximate factorization of p is
a well-posed problem, and the roots a and $ oi p are approximation
to the intended roots a and j3 oi p with error bounded by a structure
preserving condition number [33]. We can verify this well-posedness using
ApaTools function uvFactor:
> F. r e s := uvFactor(x*4+3.9999*x"3-16»x-16,x,0.001):
> evalf(F);
Pi — ^ V2
I*-
C" A
3 0 0 0 0 0
1 3 0 0 0 0
2 0 3 0 0 0
0 1 0 3 0 0
0 2 1 0 3 0
0 0 2 0 0 3
D
In this example, the input PolynMultiply is the procediure name
for Cf, item [x+2*y+3] is the Ust of parameters for PoljmMultiply
besides [x,y] that stands for the list of indeterminates, and 2, 3 are
the degree bounds for the vector spaces V^ and 'P" respectively. The
graded lexicographical monomial order is used here as the default monomial
ordering.
With matrices being constructed, rank-revealing is frequently applied
in approximate polynomial algebra. As an example, a polynomial pair
(/i 9) G -^"^ X ^ " having a nontrivial GCD of degree k can be written
as f = uv and g = uw where u — gd (/, g) with cofactors v and w.
Consequently, polynomials v and ty satisfy fw — gv = 0, or equivalently
a homogeneous system of linear equations
w
Cn-k{f), Cm-kig) —V
M P 0
q
that becomes a rank-revealing and kernel-finding problem for the elimina-
tion matrix M.
In approximate polynomial algebra, we seek the approximate rank and
the approximate kernel of a matrix in contrast to seeking exact rank and
kernel in exact polynomial algebra. Following the same "three-strikes"
principle, the approximate rank and kernel of a matrix A € C"*"" are
the exact rank and kernel of a nearby matrix B € C""*". This matrix
B is the nearest matrix to A on the manifold Ilfc that possesses the
highest codimension among manifolds n i , n 2 , - - - passing through an e-
neighborhood of A, where Hj is the set of all mxn matrices with rank
j . Approximate rank/kernel can be efficiently computed using numerical
rank-revealing algorithms [16, 18] that are implemented as components of
ApaTools.
4. Nonlinear least squares and the Gauss-Newton iteration.
The minimization at Stage II is a nonlinear least squares problem that can
be solved using the Gauss-Newton iteration on an overdetermined system
of equations in the form of
J(z)*f(z) = 0 (4.3)
converges to z [33].
The Gauss-Newton iteration is extensively used in ApaTools. A typi-
cal case is computing the approximate GCD: For given polynomial pair p
and q with degrees m and n respectively, we seek a polynomial triplet
(u, V, w) such that deg(w) = k, deg{uv) = m, deg{uw) = n, and
r*u-l
f(u, v,w) = 0 for f(u, V, w) Ck{v)u-p (4.5)
Ck{w)u-q
Then GaussNewton carries out the Gauss-Newton iteration and outputs the
least squares solution z along with the residual ||f(z)||2- As a conve-
nient option, the Maple version of GaussNewton can forgo the requirement
of providing Jacobian routine by computing J(z) with Maple symbolic
manipulation.
EXAMPLE 5. Using the above example of GCD computation, the
generic Gauss-Newton function needs only a user-defined subroutine for
computing f (z) that can be as simple as
> GcdFunc := procC z, m, n, p, q, r)
local F, u, V, w;
u, V, w := z [ l . . r a ] , z[m+1..m+n], z [ m + n + l . . - 1 ] ;
F := <LinearAlgebraCDotProduct3(r,u)-l, C o n v o l u t i o n ( u , v ) - p ,
Convolutioii(u,w)-q>:
return F [ l . . - 1 , 1 ] ;
end p r o c :
Here, the Maple routine GcdFunc returns the vector value of f(z)
from input vector z consists of coefficients of u, i; and w, along with
parameters m, n, p , q, r representing the length of u, the length
of V, coefficient vectors p, q and r, respectively. The command
Convolution(u,v) and Convolution(u,w) produces coefficient vectors
of polynomial products u • v and u • v respectively by ApaTools function
Convolution. Then the Gauss-Newton iteration is carried out by a simple
call of GaussNewton:
> # get coef. vectors p, q
> p, q := PolynomialToolsiCoefficientVector]{x"5-x"3+5*x"2-6*x+10,x),
PolynomialTools[CoefficientVector](2*x"4+x"2-6,x);
> r := VectorC[.4,0,.23): # define scaling vector r
> zO := Vectored.99,0.01,1.01, # initial guess for u, v, «
4.99,-3.01,0,.99,
-3.01,0,1.99]):
> # Gauss-Newton iteration
> z,res := GaussNewton(GcdFunc,zO, [3,4,p,q,r] , [le-9,9,true]) :
Gauss-Kestoo step 0, rasidual - S.OOa-02
Gauss-Keutoa step 1, residual " 2.01e-04
Gauss-liewton step 2, residual - 3.16e-09
Gauss-Henton step 3, residual * 4.44a-t6
The approximate GCD and cofactors can then be retrieved from the
result jjf the iteration:
> CoefficientVector2UnivariatePolynoiiiial(z[l. .3] ,x) ;
CoefficientVector2tJnivariatePolynomial(zC4. .7] , x ) ;
CoefficientVector2UnivariatePolynomial(zC8..-1],x);
whose domain and range are both lists of polynomials. To prepare for
applying GaussNewton, we write a simple Maple procedure for the function
F in (4.6) in a straightforward translation:
> GcdPolynFunc ;= proc( p. x, f, g, r ) # procedure for the gcd function
return [ PolynomialDotProduct(r,p[13,x) - 1,
expand(p[l]*p[2])-f, expand(p[l]*pC3])-g ]
end proc:
2.000000000000000 + 1.000000000000000 x^
4.999999999999999 - 2.999999999999999 x + 0.9999999999999997 x^
-3.000000000000000 + 2.000000000000000 x^
This feature of GaussNewton enables direct manipulation of
polynomials and avoids the tedious task of translation between polyno-
mials and vectors. D
R e m a r k . Gauss-Newton iteration locally converges to a point satis-
fying (4.3) which is the necessary condition for a local minimum in (4.2).
A global minimum is not guaranteed in general. As a matter of fact, a
global minimum is difficult to verify, let alone to compute with any cer-
tainty. Even though a proposed method in [15] is claimed to have the
capability of finding the global minimum in polynomial time, that claim is
neither proved rigorously nor backed up with an implementation. On the
other hand, the backward accuracy of the computing result can be verified
APATOOLS FOR APPROXIMATE POLYNOMIAL ALGEBRA 161
P = {PlY{P2?---{Pkf
P = / i • /2 • • • /fc
/ i ( x i , - - - ,Xs) = 0
: (5.1)
ft{xi,--- ,a;s) = 0
164 ZHONGGANG ZENG
^ ( p / + .5) = 0
REFERENCES
[6] B. DATTA AND K . DATTA, Toeplitz algorithms for controllability, GCD and Cauchy
index. Proceedings of t h e American Control Conference.
[7] B. DAYTON AND Z . ZENG, Computing the multiplicity structure in solving polyno-
mial systems. Proceedings of ISSAC '05, ACM Press, pp. 116-123, 2005.
[8] I.Z. EMIRIS, E . D . FRITZILAS, AND D . MANOCHA, Algebraic algorithms for deter-
mining structure in biological chemistry, Internatinal J. Quantum Chemistry,
106 (2006), pp. 190-210.
[9] I.Z. EMIRIS, A. GALLIGO, AND H . LOMBARDI, Certified approximate univariate
GCDs, J. Pure Appl. Algebra, 1 1 7 / 1 1 8 (1997), pp. 229-251.
[10] S. G A O , E . KALTOFEN, J. M A Y , Z . YANG, AND L . ZHI, Approximate factorization
of multivariate polynomials via differential equations. Proc. ISSAC '04, ACM
Press, pp. 167-174, 2004.
[11] T. G A O AND T . - Y . L I , MixedVol: A software package for mixed volume computa-
tion, ACM Trans. Math. Software, 3 1 (2005), pp. 555-560.
[12] C.-P. JEANNEROD AND G . LABAHN, The SNAP package for arithemetic with nu-
meric polynomials. In International Congress of Mathematical Software, World
Scientific, pp. 61-71, 2002.
[13] E. KALTOFEN, J. MAY, Z . YANG, AND L . ZHI, Structured low rank approximation of
Sylvester matrix, in Symbolic-Numeric Computation, Trends in Mathematics,
D. Wang and L. Zhi, editors, Birkhauser Verlag, Basel, Switzerlajid (2007),
pp. 69-83.
[14] N. KARCANIAS AND M . MITROULI, A matrix pencil based numerical method for the
computation of the GCD of polynomials, IEEE Trans, on Automatic Control,
39 (1994), pp. 977-981.
[15] N.K. KARMARKAR AND Y.N. LAKSHMAN, On approximate polynomial greatest com-
mon divisors, J. Symb. Comput., 26 (1998), pp. 653-666.
[16] T.-L. L E E , T . Y . L I , AND Z . ZENG, A rank-revealing method with updating, down-
dating and applications. Part 11. submitted, 2006.
[17] T.-Y. L I , Solving polynomial systems by the homotopy continuation method. Hand-
book of Numerical Analysis, XI, edited by P.G. Cizirlet, North-Holand, Ams-
terdam (2003), pp. 209-304.
[18] T.Y. L I AND Z . ZENG, A rank-revealing method mth updating, downdating and
applications, SIAM J. Matrix Anal. Appl., 26 (2005), pp. 918-946.
[19] J . P . MERLBT, Singular configuration of parallel manipulators and Grossman ge-
ometry, Int. J. Robitics Research, 8 (1989), pp. 45-59.
[20] B. MOURRAIN, Isolated points, duality and residues, J. of Pure and Applied Alge-
bra, 117 & 118 (1996), pp. 469-493. Special issue for the Proc. of the 4th
Int. Symp. on Effective Methods in Algebraic Geometry (MEGA).
[21] H.-T. P A I , A. BoviK, AND B . EVANS, Multi-channel blind image restoration,
TUBITAK Elektrik J. of Electrical Eng. and Comput. Sci., 5 (1997),
pp. 79-97.
[22] S. PILLAI AND B . LIANG, Blind image deconvolution using GCD approach, IEEE
TVans. Image Processing, 8 (1999), pp. 202-219.
[23] D. RUPPRECHT, An algorithm for computing certified approximate GCD of n uni-
variate polynomials, J. Pure and Appl. Alg., 1 3 9 (1999), pp. 255-284.
[24] A.J. SoMMBSE, J. VERSCHELDE, AND C . W . WAMPLER, Numerical factorization of
multivariate complex polynomials, Theoretical Computer Science, 3 1 5 (2003),
pp. 651-669.
[25] A.J. SoMMESE AND C.W. WAMPLER, The Numerical Solution of Systems of Poly-
nomials, World Scientific Pub., Hackensack, NJ, 2005.
[26] B . M . S T - O N G E AND C M . GOSSELIN, Singularity analysis and representation
of general Gough-Stewart platform, Int. J. Robitics Research, 19 (2000),
pp. 271-288.
[27] H.J. STETTBR, Numerical Polynomial Algebra, SIAM, 2004.
APATOOLS FOR APPROXIMATE POLYNOMIAL ALGEBRA 167
I M A "HOT TOPICS" W O R K S H O P S
• Challenges and Opportunities in Genomics: Production, Storage,
Mining and Use, April 24-27, 1999
• Decision Making Under Uncertainty: Energy and Environmental
Models, July 20-24, 1999
• Analysis and Modeling of Optical Devices, September 9-10, 1999
• Decision Making under Uncertainty: Assessment of the Reliability
of Mathematical Models, September 16-17, 1999
• Scaling Phenomena in Communication Networks, October 22-24,
1999
• Text Mining, April 17-18, 2000
• Mathematical Challenges in Global Positioning Systems (GPS),
August 16-18, 2000
• Modeling and Analysis of Noise in Integrated Circuits and Systems,
August 29-30, 2000
• Mathematics of the Internet: E-Auction and Markets, December
3-5, 2000
• Analysis and Modeling of Industrial Jetting Processes, January
10-13, 2001
• Special Workshop: Mathematical Opportunities in Large-Scale Net-
work Dynamics, August 6-7, 2001
• Wireless Networks, August 8-10 2001
• Numerical Relativity, June 24-29, 2002
• Operational Modeling and Biodefense: Problems, Techniques, and
Opportunities, September 28, 2002
• Data-driven Control and Optimization, December 4-6, 2002
• Agent Based Modehng and Simulation, November 3-6, 2003
• Enhancing the Search of Mathematics, April 26-27, 2004
• Compatible Spatial Discretizations for Partial Differential Equa-
tions, May 11-15, 2004
• Adaptive Sensing and Multimode Data Inversion, June 27-30, 2004
• Mixed Integer Programming, July 25-29, 2005
• New Directions in Probability Theory, August 5-6, 2005
• Negative Index Materials, October 2-4, 2006
• The Evolution of Mathematical Communication in the Age of Dig-
ital Libraries, December 8-9, 2006
• Math is Cool! and Who Wants to Be a Mathematician?, November
3,2006
• Special Workshop: Blackwell-Tapia Conference, November 3-4,
2006
• Stochastic Models for Intracellular Reaction Networks, May 11-13,
2008
S P R I N G E R L E C T U R E N O T E S FROM T H E IMA:
The full list of IMA books can be found at the Web site of Institute for
Mathematics and its Applications:
http://www.ima.umn.edu/springer/volumes.html