software for algebraic geometry
TRANSCRIPT
-
8/18/2019 Software for Algebraic Geometry
1/180
-
8/18/2019 Software for Algebraic Geometry
2/180
The IMA Volumes
in Mathematics
and its Applications
Series EditorsDouglas N. Arnold
Volume 148
Arnd Scheel
-
8/18/2019 Software for Algebraic Geometry
3/180
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
* * * * * * * * * *
IMA ANNUAL PROGRAMS
1982–1983 Statistical and Continuum Approaches to Phase Transition
1983–1984 Mathematical Models for the Economics of Decentralized
Resource Allocation
1984–1985 Continuum Physics and Partial Differential Equations
1985–1986 Stochastic Differential Equations and Their Applications 1986–1987 Scientific Computation
1987–1988 Applied Combinatorics
1988–1989 Nonlinear Waves
1989–1990 Dynamical Systems and Their Applications
1990–1991 Phase Transitions and Free Boundaries
1991–1992 Applied Linear Algebra
1992–1993 Control Theory and its Applications
1993–1994 Emerging Applications of Probability
1994–1995 Waves and Scattering 1995–1996 Mathematical Methods in Material Science
1996–1997 Mathematics of High Performance Computing
(Continued at the back)
-
8/18/2019 Software for Algebraic Geometry
4/180
Editors
Software for AlgebraicGeometry
Michael Stillman Nobuki TakayamaJan Verschelde
-
8/18/2019 Software for Algebraic Geometry
5/180
© 2008 Springer Science + Business Media, LLCAll rights reserved. This work may not be translated or copied in whole or in part without the writtenpermission of the publisher (Springer Science + Business Media, LLC, 233 Spring Street, New York,NY 10013, USA), except for brief excerpts in connection with reviews or scholarly analysis. Use inconnection with any form of information storage and retrieval, electronic adaptation, computersoftware, or by similar or dissimilar methodology now known or hereafter developed is forbidden.The use in this publication of trade names, trademarks, service marks, and similar terms, even if theyare not identified as such, is not to be taken as an expression of opinion as to whether or not they aresubject to proprietary rights.
Camera-ready copy provided by the IMA.
9 8 7 6 5 4 3 2 1
springer.com
Series Editors
Arnd Scheel
Applications
Minneapolis, MN 55455USA
USA
Douglas N. Arnold
Institute for Mathematics and its
University of Minnesota
ISBN: 978-0-387-78132-7 e-ISBN: 978-0-387-78133-4DOI: 10.1007/978-0-387-78133-4
Michael StillmanDepartment of Mathematics
Cornell University
Nobuki TakayamaDepartment of Mathematics
Rokko, Kobe 657-8501Japan
Jan VerscheldeDepartment of MathematicsUniversity of IllinoisChicago, IL 60607-7045USA
Editors
Kobe UniversityIthaca, NY 14853-4201
Mathematics Subject Classification (2000):11R09, 11Y99, 12D05, 13P10, 14P05, 14Q05, 14Q1052A39, 52B20, 52B55, 65D18, 65F15, 65F20, 65F22, 65H10, 65H20, 65-04, 91-08
Library of Congress Control Number: 2008923357
-
8/18/2019 Software for Algebraic Geometry
6/180
F O R E W O R D
This IMA Volume in Mathematics and i ts AppUcations
S O F T W A R E F O R A L G E B R A I C G E O M E T R Y
contains papers presented at a highly successful one-week workshop on the
same t i t le. The event was an integral part of the 2006-2007 IMA Thematic
Year on "Ap plications of Algeb raic Ge om etry." We are grateful to all th e
part icipants for making this workshop a very productive and st imulat ing
event . Special thanks to Michael E. Sti l lman (Department of Mathematics,
Cornel l Univers ity) , Nobuki Takayama (Dep ar tmen t of M athem at ics , K obe
Universi ty) , and Jan Verschelde (Department of Mathematics, Stat is t ics
and Computer Science, University of Illinois at Chicago) for their superb
role as workshop organizers and editors of these proceedings.
We take this oppor tuni ty to thank the Nat ional Science Foundat ion
for i ts support of the IMA.
S e r i e s Ed i t o r s
Douglas N. Arnold, Director of the IMA
Arnd Scheel , Deputy Director of the IMA
-
8/18/2019 Software for Algebraic Geometry
7/180
P R E F A C E
The workshop on "Software for Algebraic Geometry" was held in the
week from 23 to 27 October 2006, as the second workshop in the thematic
year on Applicat ions of Algebraic Geometry at the IMA.
Algori thms in algebraic geom etry go han d in han d w ith software pack
ages th at im pleme nt them . Together the y have established the m od ern field
of computat ional algebraic geometry which has come to play a major role
in both theoret ical advances and applicat ions. Over the past f if teen years,
several excellent general purpose packages for computations in algebraic
geometry have been developed, such as CoCoA, Singular and Macaulay 2.
While these packages evolve continuously, incorporat ing new mathematical
advances , they bo th mo t ivate and dem and the creat ion of new m athem at ics
and smar ter algor i thms.
Surrounding the general packages, a host of specialized packages for
dedicated and focused computat ions have created a platform for the in
teract ion of algebraic geometry with numerous other areas of mathemat
ics including optimization, combinatorics, polyhedral geometry, numerical
analysis and com pute r science. Th e wo rkshop brou gh t togeth er a wide
array of theoret icians and practi t ioners interested in the development of
algori thms and software in algebraic geometry at this workshop. Such in
teractions are essential for dramatic increases in the power and appUcability
of algorithms in the field.
There were 89 registered part icipants at the workshop. At four talks
a day, 20 regular 50 m inutes talk s were scheduled. On M onday evening,
10 posters were presen ted. On Wedn esday and T hu rsda y evening we had
respectively 5 and 6 software d em on stratio ns. T h e Ust of featured software
packages includes Macaulay 2, SAGE, HomLab, Ber t ini , APAtools , PH-
Clab , PHC map le , PHC pack, K N O PP IX /M ath , D -modules for Macaulay 2 ,
Singular , Risa/Asi r , CRACK, di f falg, RIFsimp, Gambi t , FGb/RS, Co-
CoALib, 4t i2, PHoMpara, SYNAPS, DEMiCs, Magma, Kronecker , SOS-
TOOLS, Gfan, Maple 11.
The IMA systems group had instal led many of these programs on the
computers at the IMA. At the poster session, the part icipants were given
the opportunity to instal l the featured software systems on their laptop.
A demonstrat ion cluster computer of Rocketcalc was running during the
poster session and accessible to al l part icipants during the workshop.
The evening before the workshop dinner on Tuesday started with a
problem session. Pr io r to this session we m ad e a list of problem desc ription s
available on th e web si te. Th e workshop ended on Friday evening with some
addit ional problems, discussion on the posted problems, and a presentat ion
of Jiawang Nie about the applicat ion to semidefini te programming to solve
systems of algebraic equations which arise from differential equations. We
-
8/18/2019 Software for Algebraic Geometry
8/180
vui PREFACE
are also happy that several new research projects were st imulated by this
problem session. Some results are going to appear elsewhere.
Instead of th e "second chances" (usual for IMA wo rkshops), the p art ic
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 th is plen ary session, th e pa rtic ipa nts mo ved
to the 4th i ioor of Lind Hall , to experience the software systems on the
computers in the open poster area, or in paral lel , 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 part icipants , but al l al l subsequent part icipants to the thematic
year, as they found their workstat ions equipped with the latest software
tools in algebraic geometry.
The papers in this volume describe the software packages Bert ini , PH-
Clab, Gfan, DEMiCs, SYNAPS, Tr im, Gambi t , ApaTools , and the appl i
cat ion of Risa/Asir to a conjecture on mult iple zeta values. We thank the
part icipants 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.
Mi c h a e l E . S t i l l ma n
Depar tment of Mathemat ics
Cornell University
ht tp : / /www.math .cornel l . edu/People /Facul ty / s t i l lman.h tml
N o b u k i T a k a y a m a
Depar tment of Mathemat ics
Kobe Universi ty
ht tp : / /www.math .sc i .kobe-u .ac . jp / t aka /
J a n Ve r s c h e l d e
Department of Mathematics, Stat is t ics aj id Computer Science
University of Illinois at Chicago
h t t p : / / www2.mat h .u i c . edu / j a n /
http://www.math.cornell.edu/People/Faculty/stillman.htmlhttp://www.math.sci.kobe-u.ac.jp/http://www.math.sci.kobe-u.ac.jp/http://www2.math.uic.edu/http://www2.math.uic.edu/http://www2.math.uic.edu/http://www.math.sci.kobe-u.ac.jp/http://www.math.cornell.edu/People/Faculty/stillman.html
-
8/18/2019 Software for Algebraic Geometry
9/180
C O N T E N T S
Foreword v
Preface vii
Software for numerical algebraic geometry: A paradigm
and progress tow ards i ts implem entat ion 1
Daniel J. Bates, Jon athan D . Hauen stein,
Andrew J. Sommese, and Charles W. W ampler II
PH Clab: A M AT LAB /Octave inter face to PHC pack 15
Yun Guan and Jan Verschelde
Co mp uting Grob ner fans and tropical variet ies in Gfan 33
Anders Nedergaard Jensen
On a conjecture for the dimension of the space of
the mu lt iple zeta values 47
Masanobu Kaneko, Masayuki Noro,
and Ken'ichi Tsuruma ki
DEMiCs: A software package for computing the mixed
volum e via d5Tiamic en um eratio n of all mixed cells 59
Tomohiko Mizutani and Akiko Takeda
SYNAPS, a l ibrary for dedicated applicat ions in
symbolic num eric com puting 81
Bernard Mourrain, Jean-Pascal Pavone,
Philippe Trebuchet, Elias P. Tsigaridas, a nd Julien Wintz
Tropical impUcit ization and mixed f iber polytop es I l l
Bem d Sturmfels and Josephine Yu
Towards a black-box solver for finite games:
Co mp uting all equil ibria with Ga mb it and PH Cp ack 133
Theodore L. Turocy
ApaTools: A software toolbox for approximate
polynom ial algebra 149
Zhonggang Zeng
List of workshop pa rt icipa nts 169
ix
-
8/18/2019 Software for Algebraic Geometry
10/180
SOFTWARE FOR NUMERICAL ALGEBRAIC GEOMETRY:
A PARADIGM AND PROGRESS TOWARDS ITS
IMPLEMENTATION
DANIEL
J.
BATES*, JONATHAN
D.
HAUENSTEINt,
ANDREW
J.
SOMMESE*,
AND
CHARLES
W.
WAMPLER
n§
A b st ra c t . Though numer ical methods
to
find all the isolated solutions
of
nonllnestr
systems
of
mu ltivariate polynom ials go back 30 years,
it
is only over the last decad e th at
numerical methods have been devised for the computation and manipulation
of
algebraic
sets coming from polynomJEil systems over the complex num bers. 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 capa bilities.
This paper contains
an
enum eration
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.
K e y w o rd s . Homotopy continuation, numerical algebrjiic geometry, polynomial
systems, software, Bertini.
AMS ( MO S ) su b j e c t
cla ssi fic at ion s. 65H10, 65H20, 65-04, 14Q99.
1.
Introduction.
Numerical algebraic geometry refers to the appli
cation of numerical methods to compute the solution sets of polynomial
systems, generally over C. In particular, basic numerical algebraic geome
try embodies probability one algorithms for computing all isolated solutions
of a polynomial system as well as the numerical irreducible decomposition
of an algebraic set, i.e., one or more points on each irreducible component
in each dimension. More recently, numerical algebraic geometry has grown
to include more advanced techniques which make use of the basic methods
in order to compute data of interest in both real-world applications and
pure algebraic geometry.
' I ns t i tu te
for
Ma thematics and
its
Applications, University
of
Minnesota, M inneapo
lis, MN 55122 ([email protected], www.nd .edu /~dbates l). This author was supported
by
the Duncan Chair
of
the University
of
Notre D ame,
the
University
of
Notre Dam e,
NSF
grant DMS-0410047,
the
Arthur
J.
Schmitt Foundation,
and the
Institute
for
Mathe
matics
and its
Applications
in
Minneapolis (IMA).
* Department
of
Mathematics, University
of
Notre Dame, Notre Dame,
IN
46556
([email protected], www.nd.edu/~jhauenst ). This author was supported by the D uncan
Chair of th e University of Notre Dame, NSF grant DMS-0410047, and the Institute for
Mathematics and its Applications in Minneapolis (IMA).
'•Department
of
Mathematics, University
of
Notre Dame, Notre Dame,
IN
46556
([email protected], www.nd .edu /~somm«e). This author was supported by the Du ncan
Chair of the University of Notre Dame, the U niversity of Notre Dame, NSF grant DMS-
0410047, and the Institute for M athematics and its Applications in Minneapolis (IMA).
^General Motors Research
and
Development, Mail Code 480-106-359, 30500 Mound
Road, Warren, MI 48090 ([email protected] , www.nd.edu/~cwamplel ).
This author was supported % NSF grant DMS-0410047 and the Insstitute for Math
ematics and its Applications in Minneapolis (IMA).
mailto:[email protected]:[email protected]://www.nd.edu/'%5edbateslhttp://www.nd.edu/'%5edbateslmailto:[email protected]:[email protected]://www.nd.edu/Hhauensthttp://www.nd.edu/Hhauenstmailto:[email protected]:[email protected]:[email protected]:[email protected]://www.nd.edu/~cwamplelhttp://www.nd.edu/~cwamplelhttp://www.nd.edu/~cwamplelmailto:[email protected]:[email protected]://www.nd.edu/Hhauenstmailto:[email protected]://www.nd.edu/'%5edbateslmailto:[email protected]
-
8/18/2019 Software for Algebraic Geometry
11/180
2 DANIEL J. BATES ET AL.
One of the key tools used in the algori thms of numerical algebraic
geo me try is ho m oto py c on tinua tion [1, 16], a m eth od for finding all zero-
dimensional solutions of a polynomial system. Given a polynomial system
/ : C ^ —» C " to be solved by homo topy con tinuation , one f irst forms a poly
nomial system g th at is related to / in a prescribed way bu t has known, or
easi ly computable, solut ions. The systems
g
an d / are com bined to form
a homotopy, such as the l inear homotopy
H{x,t) — f • {1 — t) +'y • t • g
where 7 e C is randomly chosen. For a properly formed homotopy, there
are continuous solution paths leading from the solutions of g to those of
/ which m ay be followed using predictor-corrector me tho ds. Singular
solutions cause numerical diflttculties, so singular endgames [17, 18, 19]
are typically employed . Zero-dim ensional solving is discussed further in
Section 2.2.
Numerical algebraic geometry treats both zero-dimensional ( isolated)
solutions an d jwsit ive dimen sional solution sets . T he bu ilding blocks of the
solution set of a set of equations are the irreducible components, i .e., the
algebraic subsets of the solution set that consist of connected sets of points
with neighborhoods biholomorphic to a neighborhood of a EucUdean space.
The solution set breaks up into a union of a finite number of irreducible
com pone nts, none of which is contained in the union of the rema ining com
ponents. In numerical algebraic geometry, we associate to each component
a witness set , which is th e basic da ta stru ctu re used to num erically de scribe
and m anip ulate po si tive dimen sional solution sets . Given a mu lt ipl ici ty one
irreducible component Z of a system of polynomials
f{x)
= 0, a witn ess
set consists of a triple (/ ,
L, W),
where L is a random linear space of di
mension complementary to that of Z and where W is a set of points such
t h a t W := Z n L. There is a slightly more involved definition for the case
of components of multiplicity greater than one as described in [24].
Many of the algori thms of numerical algebraic geometry make abun
da nt use of hom otop y continuation . For exam ple, the cascade algori thm
[20],
one of the basic methods involved in computing the numerical i rre
ducible decomposit ion of an algebraic set , uses repeated applicat ions of
homotopy continuation at dif ierent dimensions in order to produce points
on each comp onent in each dimension. Mo nodromy a nd t race tes ts then
lead to the complete numerical i rreducible decomposit ion of the solution
set of / . In the end, the user obtains from the methods of numerical alge
braic geometry a wealth of information regarding the characterist ics of the
solution set of a given polyn om ial system , some of wh ich ma y be difficult to
procure by purely symb olic mea ns. For good references on zero-dimensional
solving see [13, 16] and for numerical algebraic geometry see [24].
There are several software packages available to the pubUc which carry
out some of th e ope rat ion s of num erical algebraic geometry. However,
no one package con tains all such capabil i t ies . Th ese packages include
HO M 4PS [6], PH oM [9], PO LS YS [27], PH Cp ack [28], and Ho m Lab [30].
Th e mo st recently released pack age, Bertin i [2], is und er ongo ing develop-
-
8/18/2019 Software for Algebraic Geometry
12/180
SOFTWARE FOR NUMERICAL ALGEBRAIC GEOMETRY 3
me nt by the a uth ors . Altho ugh al l software packages were developed a t
different times for different reasons, they share the goal of solving polyno
mial systems by numerical means.
T he pu rpos e of th e present p ape r is two-fold. On e purpo se is to p resent
a para dig m for software in th e field of nu me rical algebraic geom etry. T he
following section contains a n elabora t ion on the aforementioned algori thm s
and an enumeration of the various operat ions required for carrying out
those algorithms, broken into four levels. Implementation-specific details,
such as da ta struc ture s, are om itted. Th e other purpose is to provide a brief
introduction to Bert ini and indicate i ts part ial fulf i l lment of the paradigm
of Section 2. T h at is th e co nte nt of Section 3, which is also broke n up
into four levels to mirro r Section 2. T he final section include s plan ne d
extensions of the Bertini software package.
2 .
A p a r a d i g m f or n u m e r i c a l a l g e b r a i c g e o m e t r y s o f t wa r e . All
good software packages share several chara cterist ics . In part icu lar , good
software should be reliable (i .e., i t provides correct output with clear signals
upon failure), as fast as possible with estimates of time remaining for large
job s, m od ular for easy modification, a nd user-friendly. In ad ditio n, goo d
numerical software must be accurate and provide error est imates for al l
solutions. ReHabili ty and accu racy general ly have an adv erse imp act on
speed, so while efficiency is important, it should not be emphasized over
finding correct answers.
Num erical accuracy may be ap proached in two ways . O ne approach is
to use a fixed level of precision and find as accurate a solution as possible,
possibly using higher levels of precision for subsequent runs to attain more
accuracy, if necessary. The other approach is to select an accuracy before
the run and adjust the precision during the run to at tain that accuracy.
Either way, i t has recently become general ly accepted that i t is important
to have available multiple levels of precision when implementing numerical
routines.
The purpose of this sect ion is to provide an enumerated paradigm
for software specifically in th e field of num erical algeb raic geom etry. Th is
detailed list is broken into four levels, beginning with very basic operations
not specific to polynomial system solving at level 0 in Section 2.1 and
moving through extensions of basic numerical algebraic geometry at level
3 in Section 2.4. The operations of each level build upon the capabilities
of th e previo us level. Ea ch of th e following four sections beg ins with a
discussion of the necessary operations of the given level and the resulting
cap abilities of th e software. Ea ch section th en conclud es w ith a brief list of
the main operat ions to be implemented at that level . All operat ions should
be implemented for various levels of precision, ideally for arbitrarily high
precision.
2 . 1 . L e v e l 0 : B a s i c o p e r a t i o n s . At the very core of a numerical
polynom ial solver, one mu st of course have access to basic ari thm etic bo th
-
8/18/2019 Software for Algebraic Geometry
13/180
4 DANIEL J. BATES ET AL.
of complex numbers and complex matrices. I t is important to optimize the
efficiency of this arithmetic as much as possible, particularly in high preci
sion, as most operat ions in numerical algebraic geometry rely heavily upon
ar i thme t ic . In addi t ion to bas ic m atr ix ar i thme t ic , s tand ard techniques
from numerical l inear algebra are needed. Among the most important are
Gaussian elimination for linear solving, QR factorization for least squares
and orthogonal complements, and the SVD, or a related technique such
as the efficient m eth od of [14], for finding nu m eric al ra n ks . See [5, 26] for
general references on numerical linear algebra, while [14] provides a more
efficient method for determining the numerical rank of a matrix.
Random numbers play a key role in numerical algebraic geometry
as many statements hold generically, i .e., for almost all random choices,
thereb y making th e result ing algori thm s hold with probab il i ty one. An y
standard random number generator wil l suff ice, al though i t is best to have
the chosen random complex numbers of approximately unit modulus, for
stabil ity. I t is also im po rtan t to have a consistent m echanism for exte nding
the precision of a randomly chosen complex number. In part icular , upon
extending the precision of a random number
a
to make
a,
t runcat ing back
to lower precision, and then again extending the precision, one should once
again obtain St.
I t is of course necessary to somehow ob tain the polynom ials of interes t
from the user, although the specific procedure for doing so is implementa
tion-specific. To build a general solver, it is im po rta nt t o allow th e functions
to be defined as expressions built from su bex pression s. Th is is beneficial
no t only for ease of use , b ut also for efficiency a nd n um eric al stability . It
is also necessary for generality to allow for homotopies that depend on
parameters, including analytic expressions as discussed in more detai l in
th e following section. If th e user is specifying th e en tire hom otopy , it is
also necessary to have a way for the user to provide solutions to the start
system
g.
Otherwise, the automat ical ly generated s tar t sys tem should be
solved by the software.
Regardless of how the input data is provided, parsed, and stored, i t is
at t imes necessary for the software to automatical ly homogenize the poly
nom ials provided by the user . Ho mo genization is s imply the me chan ism
for moving from a product of one or more complex spaces to a product
of com plex projective spa ces. T his is a pure ly sjmnbolic op era tion wh ich
should be implemented in such a way as to be easily reversed in case the
need arises. Suppose the homogenized system involves the cross product
of
V
project ive spaces. Th en
v
random nonhomogeneous l inear equat ions ,
one for each project ive space in the product , should be appended to the
system in order to choose a patch on each complex project ive space . The se
V l inear equations are known as the patch polynomials .
Basic pa th tracking , a level 1 ope rat ion , makes heav y use of bo th func
t ion evaluation and Jacobian evaluation. Function evaluation is s traight
forward, al though i t could be optimized via special ized techniques such as
-
8/18/2019 Software for Algebraic Geometry
14/180
SOFTWARE FOR NUMERICAL ALGEBRAIC GEOMETRY 5
H orne r 's m etho d. Th e Jacob ian ( i .e., th e ma trix of pa rt ial derivatives of
the polynomials) should be computed automatical ly by some form of auto
matic differentiat ion so that the user does not need to provide i t as input .
I t is general ly believed that the Jacobian should be computed explici t ly
rather than approximated numerical ly, for s tabil i ty.
Some of th e op erat ion s at this level are comm on to n um erical software
in gen eral, rega rdless of th e specific app licatio n. It should be noted th a t
exist ing l ibraries, such as LAPACK, provide robust implementat ions of
some of these operations, albeit in one level of precision.
S u mma r y o f l e v e l 0 o p e r a t i o n s :
• Com plex scalar and matr ix a r i thmet ic
• Matrix operat ions (e.g. , l inear solving, numerical ranks, and or
thogonal complements)
• Ran dom num ber generat ion
• Pars ing of input da ta
• Function homogenization
• Function evaluation
• Jaco bian evaluation
• All num erical op eratio ns should be available in multiprecision .
2 . 2 . Le v e l 1 : Ba s i c t r a c k i n g a n d z e r o - d i me n s i o n a l s o l v i n g . I t
is now possible to glue togeth er th e cap abilities of level 0 to build algo rithm s
leading up to a full zero-dimensional solver, i .e., a method for computing
aU isolated solutions of / . T he con cep t of "solving" a system could be
inter pre ted tw o wa ys. Given a desired acc urac y e 6 R"^, let S := {s £
C ^ : | / ( s ) | < e}. Th is set may break up into
k
disconnected pieces, say
5 = 5 i U . . . U 5fc. The n on e inte rpr eta tion of solving is to find a. z € Si
for each i. Th e second way to inte rpre t "solving" / is to find, for each
s £ C^ such th a t / ( s ) = 0 and s has mult ipl ici ty m as a root of / , a set
{zi,...,Zm}
C C ^ s uch t ha t
\zi — s\ < e
for all
i.
Th e solutions in the
former sense of solving depend upon the scaling of the poljmomials while
those of the lat ter depend upon the scal ing of the variable. The lat ter is
more widely accepted as correct and is thus the defini t ion used throughout
this paper.
As discussed in Section 1, hom otopy co ntinuation c asts th e system /
in a family of polynomial systems, another of which is
g.
Such parame
terized families sometimes arise naturally and are of great interest in some
applications. Other families are artificially constructed for the specific pur
pose of solving / by con tinua tion, in a so-called ab initio homotopy. Often
a natural ly parameterized family can be used to define a homotopy that
has fewer paths to follow than an
ab initio
homotopy. As a result, software
in numerical algebraic geometry should address both ab initio and na tu
ral parameter homotopies . The natural parameter spaces may be complex
analytic and thus the need for evaluating complex analjrtic expressions of
parameters and complex numbers as mentioned in the previous sect ion.
-
8/18/2019 Software for Algebraic Geometry
15/180
6 DANIEL J. BATES ET AL.
At i ts core, homotopy continuation is s imply a sequence of s teps ad
vancing the path variable and updating the solution vector x to match.
Each step forward consists of a predictor step foUowed by a sequence of
corrector s teps. The predict ion is commonly carr ied out by Euler 's method,
which steps along the tang en t to the pa th . Th is is general ly regarde d a s
an acceptable approach, al though secant predict ion can also be employed,
as can higher order meth od s such as Ru ng e-K utta . Once a predict ion is
made to a new value of t, it is necessary to refine the point back towards
the solution curve. This may be accomplished by f ixing
t
and running a
Newton-Hke corrector unti l the norm of the Newton residual has dropped
below a prespecified tolerance.
Naturally, there are times when steps will fail , where failure is declared
wh en the corre ctor does not conv erge sufficiently fast. Such step failures
need not t r igger path fai lure. Rather, adaptive steplength should be ut i
l ized. Upon step fai lure when using adaptive steplength, the steplength is
decreased by a prespecified factor in the hope that convergence will occur
for a smaller step . On ly if progress along the p at h b ecom es excessively slow
is the path declared a failure. Conversely, if the steps are progressing well,
i t is worthwhile to try to increase the step length . M ore detai ls rega rding
predict ion, correct ion, and ada ptive step length ma y be found in [1, 16, 24].
Path fai lure may occur for a number of reasons, but the presence
of a singularity, pa rticu larly a t t = 0, is a com mo n cau se. Th ere ar e
several sophist icated algori thms known as endgames that help to speed
convergence at t = 0 for both no nsingular an d singular end po ints . The se
endgames are typical ly employed for every path, so i t is important to have
at least one implemented in any software package for numerical algebraic
geom etry. D etails regard ing end gam es may be found in [17, 18, 19].
For zero-dimensional solving, polynomial systems given by the user
could be nonsquare with
n > N.
Fortunately, Bert ini 's theorem [24] guar
antees th a t a new system co nsisting of
N
generic linear combinations of the
original n poljoiomials will have among its solutions all the isolated solu
t ions of th e original system, tho ug h possibly with increased m ult iphcity. I t
may also have nonsingular isolated extraneous solutions. The extraneous
solutions are easily detected as they do not satisfy the original system.
Unless the user chooses to specify a parameter homotopy, the software
must be able to automat ical ly produce an appropr iate s tar t sys tem g, solve
it , and at ta ch i t to th e homogen eous, square system / in order to cre ate
the homotopy
H.
Th ere are several m etho ds for produ cing start system s,
al though the general rule is that the computat ional cost increases in order
to produce s tar t sys tems wi th fewer paths to t rack. Among the common
choices, total degree start systems, consisting of polynomials of the form
x^' —
1, where
di
is the degree of the i*' ' polynomial in / , are trivial to
build and solve but have the largest number of paths to be tracked ( that
being the p rodu ct of th e degrees of the functions) . At th e othe r end of the
spectrum, the construction and solution of sophist icated polyhedral homo-
-
8/18/2019 Software for Algebraic Geometry
16/180
SOFTWAR E FOR NUMERICAL ALGEBRAIC GEOMETR Y 7
topies involve far more computat ion t ime but may result in far fewer paths
(the number of which is the mixed volume). I t is not clear a priori which
type of s tar t system is best-suited for an arbitrary polynomial system, so
it is important to have mult iple types of s tar t systems available.
Once al l (or most) of the aforementioned operat ions have been imple
mented, i t 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 m ean s of co nstru ctin g a new polyn om ial system / from / such
th a t / has a nonsingu lar solution in place of a part icu lar s ingular solution
of / . Th is ma kes i t possible to com pute singular solutions mo re ac curate ly
without relying on higher precision. The major drawback of implementing
deflat ion 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 solut ion es t imate
before deflation, helping to ensure that the correct deflation sequence is
performed but adding the cost of endgame computat ions. Explorat ion of
the numerical stabihty and efiiciency of deflation and endgames is a topic
of ongoing research. T he big adv antag e of deflat ion comes wh en dealing
with posi t ive dimensional components of mult ipl ici ty 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 stat is t ics
ga the red d uring tracking. As the functionali ty of such a tool is app licat ion-
specific, no more details will be discussed here.
S u mma r y o f l e v e l 1 o p e r a t i o n s :
• Differential equ atio n solving, e.g., Eu ler 's m eth od
• Newton's method
• Basic pa th trackin g with adap tive stepleng th control
• Ad aptive precision pa th trackin g
• Squa ring of systems
• Star t sys tem and homotopy generat ion
• Start system solving
• Pull zero-dim ensional solving
• Endgames
• Deflation
• Post-processing of zero-dimensional da ta.
2 . 3 . Le v e l 2 : Po s i t i v e - d i me n s i o n a l s o l v i n g . The solut ion set
Z
of a polynom ial system / m ay have several com pon ents and these m ay
no t al l have th e sam e dimen sion. Lett ing D := dixnZ, the irreducible
decomposi t ion may be wri t ten as Z =
U ^ Q Z J
=
U ^ Q
Ujeii ^i,jj where
each
Zij
is an irreducible com pone nt of dimension
i,
and accordingly each
Zi
is the pure i-dimensional component of
Z.
(Sym bol Ij in th e above is
just an index set for the components of dimension.)
One of the key objectives in numerical algebraic geometry is to find
a numerical i rreducible decomposit ion of
Z,
which consists of sets
Wij —
-
8/18/2019 Software for Algebraic Geometry
17/180
8 DANIEL J. BATES ET AL.
Zij n L^-i, w here Ljv- j is a gene ric linear subsp ace of dimen sion N
—
i.
Wij,
together with
L^-i,
is know n as a w itness set for
Zij,
and by abuse of
notat ion,
Wi = Uj£l^WiJ
is called a w itne ss set for Zj . We briefly d esc ribe
the algori thms for com puting the irreducible decom posit ion below. Full
details may be found in the references cited below or in [24].
The main steps in computing a numerical i rreducible decomposi
t ion are:
• find witness supersets Wi D Wi for each dimension i,
• prune out "junk points" from
Wi
to extract the witness sets
Wi,
and
• break
Wi
into dist inct sets
Wij,
th e witne ss sets for th e irreducible
component s Zij.
The wi tness supersets
Wi
are generated by the applicat ion of zero-dimen
sional solving to find the isolated points in the slice
Z
n
Lj^-i.
All of
the Wi, for 0 < J < D, can be obtained using the cascade algori thm
[20], s tar t ing at i = D a nd cascading sequential ly down to i = 0. Th e
junk points in
Wi
must l ie on some
Zj
wi th
j > i.
Thus , the junk may
be removed by test ing each point
p € W i
for membership in a higher-
dimensional component. This can be done using continuation on sl ices to
see if any of the witness sets Wj, j > i connect to p as the slicing linear
space LN-I is moved continuou sly until it con tains p. The f inal break up
of
Wi
into irreducibles is accomplished by first using monodromy, which
comes down to discovering con nections between w itness poin ts as th e l inear
slicing space is moved a roun d a closed loop in the assoc iated G rassm ann ian
[21]. This is followed by checking if the connected groups so discovered are
complete, by means of the trace test [22]. The trace method may also be
used to complete a par t ial decomposi t ion. Both monodromy and the t race
method involve specialized continuation of slices and careful bookkeeping.
Squaring is a concern for positive-dimensional solving just as it is for
zero-dime nsional solving. A lthou gh m uch carries over, one difference is th a t
the size to which the system should be squared depends on the dimension
of the com pon ent, e.g., for com pon ents of dimension k, the defining system
should be randomized to a system oi N
—
k equat ions .
Given witness data for an algebraic set Z, there are three operat ions
of part icu lar interest for users. Fir st , a user migh t wa nt to find m any
poin ts on a specif ic co m pon ent. Th is is known as samp ling and is very
closely related to monodromy, as both use the continuation of sHces to
move witness points around on the component. Second, a user might want
to know if a given point lies on an irreducible component of Z. Th is is
the same component membership test used in the junk removal s tage of
com puting an irreducible decom posit ion. Finally, a user migh t wa nt th e
accuracy of some end point sha rpen ed. Th is is jus t a m atte r of running
New ton's m etho d app ropriately, perh ap s after deflat ing / . Of course, as in
-
8/18/2019 Software for Algebraic Geometry
18/180
SOFTWARE FOR NUMERICAL ALGEBRAIC GEOMETRY 9
the previous sect ion, a post-processor would be appropriate, al though the
exact functionality is again application-specific.
Deflat ion is part icu larly valuable as a m etho d for mult iple co mp one nts,
e.g. , to track intersections of a mult ipl ici ty greater than one component
with a one-parameter family of l inear spaces of complementary dimension,
as is done to samp le a mu lt iple com pon ent. Rou ghly speaking, if
Z
is
a fc-dimensional component of the solution set of a system f — 0, then
the computat ion of the deflat ion oi Z f) L ioi f restr icted to a generic
fe-codimensional Unear space gives rise to a "deflation" of the whole com
ponent. At the expense of increasing the number of variables, this al lows
us to numerical ly treat al l components as mult ipl ici ty one components.
S u m m a r y o f l e v e l 2 o p e r a t i o n s :
• Co ntin ua tion of slices
• Monodromy
• Traces
• Sq uaring of syste m s for positive-dim ension al solving
• C ascade algori thm
• Pull num erical i rreducible decom posit ion
• Sampling
• Component membership
• Endpoint sharpening
• Post-processing of witness da ta
• Deflation for components.
2 .4 . L e v e l 3 : Ex t e n s i o n s a n d a p p l i c a t i o n s o f t h e b a s i c s . This
highest level consists of operat ions that make use of the basic numerical
algebraic geometry maneuvers described in the previous three levels . For
example, for two algebraic sets X and Y that are the solution sets of
polynomial systems / and g, respectively, suppose one ha s witness sets Wx
and
WY
for
X
and
Y
but would Uke a witness set W for X n
Y.
Th ere is a
now a method [23] for computing the numerical i rreducible decomposit ion
of such an intersection, the inclusion of which, while not essential for basic
software in numerical algebraic geometry, will be important as the field
continues to develop.
There are several other advanced algori thms that should be included
in a complete state-of-the-art implementat ion. Another such technique is
that of [25], which pro vides a way of finding exc eption al se ts, i .e., the sets of
points in the parameter space above which the f iber has dimension higher
th an th e generic fiber dimension. Fibe r pr od ucts play a key role in this
algorithm and therefore need to be available in the software before the
me thod for f inding exce ptional sets m ay be imp lemen ted. Also, in real-
world applicat ions, real solutions are often of more interest than complex
solutions, so the ex tract io n of real solutions from th e nu me rical i rreducible
decomposition, for example, by an extension of the method of [15], would
be very useful.
-
8/18/2019 Software for Algebraic Geometry
19/180
10 DANIEL J. BATES ET AL.
This is not intended to be a complete l is t , and i t is anticipated that
m any more ope rat ions could be added in th e near future. One cap abil
i ty, though, that is important now and wil l only become more essential
over t ime , is paral lel izat ion. Althou gh n ot every algori thm of nume rical
algebraic geometry is fully parallelizable, basic path tracking is easily par
allelized so great savings can be made throughout levels 1, 2, and 3 by
doing so [10, 12, 27, 29].
S u mma r y o f l e v e l 3 o p e r a t i o n s :
• Intersection of components
• Fiber products
• Finding exceptional sets
• Ex tract in g real solution sets from com plex comp one nts
• Paral lel izat ion.
3 . B e r t i n i .
Be rtini [2] is a new software packag e un der on going devel
opment by the authors for computat ion in the f ield of numerical algebraic
geometry. Bertini itself has evolved from a program called Polysolve cre
ated by Ba tes, C. Monico (Texas Tech Universi ty) , Sommese and W am pler,
al though nothing substantial remains in Bert ini from Polysolve.
Bert ini is wri t ten in the C programming language and makes use of
several specialized Mbraries, particularly lex and yacc for parsing and GMP
and MPFR for mult iple precision support . The beta version of Bert ini was
released in October 2006 to coincide with the Software for Algebraic Ge
ometry workshop of the Inst i tute for Mathematics and i ts Applicat ions. I t
is currently anticipated that Bert ini 1.0 wil l be made available to the pub-
He som etime in 2007. Be rt ini is currently only available as an exec utable
file for 32- or 64-bit Linux and for Windows, via Cygwin. Specific instruc
t ions for using Be rt ini are included with th e distr ibution and on the Be rt ini
website.
Among other things, Bert ini is capable of producing al l complex iso
lated solutions of a given polynomial and witness sets for each positive-
dimensional i rreducible com pon ent. T he goal of the Be rt ini developm ent
team is to eventually include in Bert ini al l operat ions described above
in Sections 2.1 thr ou gh 2.4. T h e pmrpose of th is section is to ind icate
briefly which of those operations are already available in the beta version
of Bert ini . The specif ic algori thms implemented are also described, when
appropriate. Detai ls regarding the development plans for Bert ini 1.0 and
beyond may be found in Sections 4.1 and 4.2, respectively.
3 . 1 .
L ev el 0. B y default , Bert ini uses IE E E double precision, al
though it also allows for any fixed level of precision available in MPFR.
In particular, precision is available starting from 64 bits, increasing in 32
bit incremen ts. Fu rtherm ore, the be ta version of Bert ini al lows th e user
to select adaptive precision for zero-dimensional solving. In adaptive pre
cision mode, Bertini begins in double precision and increases precision as
necessary, determined by the algorithm described in [3].
-
8/18/2019 Software for Algebraic Geometry
20/180
SOFTWARE FOR NUMERICAL ALGEBRAIC GEOMETRY 11
All matrix operat ions described in Section 2.1 have already been im
plemented in Bert ini with the exception of the QR algori thm (i .e. , the QR
decom posit ion of a ma trix ) , which will be implem ented b y the n ext release.
Gaussian elimination with scaled partial pivoting is used for linear solving.
The SVD algori thm is based on the descript ion provided in [26].
Bert ini uses the basic random number generator found in the C stan
dard l ibrary. Each rando m n um ber i s scaled to be of the ap prop r iate m od
ulus and stored as an exact rat ional number with the denominator a power
of ten. Thus, to increase precision, all new digits are set to zero, although
this is not ideal . I t 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 (ei ther 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 responsibil i ty of the user . Homoge
nization is carried out as the polynomials are being parsed, and differenti
at ion is carr ied out af ter the entire system has been parsed, currently via
forward automatic differentiation as described in [8].
Bert ini al lows 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 restr ict ions placed on the homoge
neous structures al lowed depending upon the scenario, but mult iple vari
able groups are generally supported. All coefficients, constants, and other
numbers are stored as exact rat ional 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 suppor ted.
3 . 2 .
Leve l 1 .
All level 1 operations of Section 2.2 have been imple
m ented in Bert ini with the exception of deflation. Eu ler 's m etho d is used as
the predictor , and New ton's m etho d as th e corrector . T he fractional pow er
series endgame [19] is available in basic precision, fixed higher precision,
and adaptive precision.
Al l polynomial sys tems are automat ical ly squared to the appropr iate
number of polynomials and variables, al though the detai ls of the squaring
me chan ism are excluded from th e present pa pe r for brevity. If th e user
specif ies only the target system and variable groupings, Bert ini mult iho-
mogenizes the system according to the groupings and at taches a compatible
m-homogeneous start system via a l inear 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. Bert ini also has a post-processor which collects the endpoint data for
-
8/18/2019 Software for Algebraic Geometry
21/180
12 DANIEL J. BATES ET AL.
the run and creates a number of f i les , some of which are human-readable
and some of which are better suited for machine reading. The files provide
lis ts of s ingular endpoints , nonsingular endpoints , real endpoints , and so
on. Important path characterist ics , such as an est imate of the error in the
endpoint, are also supplied in these files. Bertini also indicates whether any
paths fai led (and why they did) and whether any path crossing occurred
prior to the endgame.
3 . 3 .
L e v e l 2 . All of th e op era tion s of level 2 desc ribed in Section 2.3
have been implemented in double precision in Bert ini , with the exceptions
of endpoint sharpening and deflat ion. Users have the option of computing
the numerical i rreducible decomposit ion of the polynomial system input
f i le, sampling a component of a system for which witness data has pre
viously been computed, or performing component membership on such a
system. Th e algori thms are the n carr ied out as described in Section 2.3
and [24].
In the case of computing the numerical i rreducible decomposit ion,
Be rt ini s tores all d at a in mem ory unti l the end of th e run. At the en d
of the run, a postprocessor sorts the data and creates a number of f i les , 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 i rreducible
com pon ents of each degree in each dimension. Ad dit ional detai ls may be
found in the Bertini documentation available in [2].
3.4 . L ev el 3 . None of th e level 3 ope rat ions 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 fu tu re for B e r t in i . I t i s of course impossible to predict wh at
wil l happen with ei ther Bert ini or numerical algebraic geometry in the
distan t future. However, the re is a sho rt- term d evelopmen t plan for Bert ini .
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. Th ere are several key developments current ly in the
process of being implem ented in order to m ove Be rt ini from the be ta version
to version 1.0. The four main improvements are the inclusion of the cascade
algo rithm in fixed m ultiple precision as well as ada ptiv e precision, deflation
in both the zero- and posit ive-dimensional cases, endpoint sharpening (as
described in Section 2.2) , and the QR decomposit ion. Other improvements
are minor, such as several small changes to the ou tpu t fi les and an improve d
post-processor. T he go al is to have mo st of the o pera t ions of levels 0 , 1 , and
2 available in Bertini 1.0 in fixed user-specified multiprecision and adaptive
precision.
4 . 2 .
B e y o n d B e r t i n i 1.0. Whi le there will cer tainly be a num ber of
chan ges to the core functions of Bertini after v ersion 1.0 is released (such a s
improving the way that random numbers are handled) , many of the major
-
8/18/2019 Software for Algebraic Geometry
22/180
S O F T W A R E FOR N U M E R I C A L A L G E B R A I C G E O M E T R Y
13
changes will involve
the
implementat ion of
the
operat ions at level 3
and
new algori thms currently under development.
Other planned extensions include al lowing
the
user
to
specify an aly tic
functions of parameter s
and
constants ,
the
inclusion of polyhedral me th
ods,
e.g.,
using M ixedVol [7],
and
various forms of paral lel izat ion. Be rt ini
current ly o perates
by
set t ing
up
files with input data, calling Bertini,
and
reading the results from files. It is anticipated th at Bert ini will eventu
ally include a script ing language or make
use
of software th at provides
an interact ive environm ent. Be rt ini wil l also und ergo a move from
the
C
programming language to C4-I- sometime after
the
release of version 1.0,
bo t h for increased m odu lar i ty and for easier exten sion. Finally, B ertin i will
eventually make
use
of more efficient multiprecision numerical libraries as
the y becom e available
and
will includ e interfaces
to
other software packages
comm only used
in the
m athem at ics communi ty.
REFERENCES
[1]
E.L.
ALLGOWER
AND K.
GEOR G,
Introduction
to
numerical continuation methods,
Classics
in
A p p l i ed M a t h e m a t i c s ,
45,
S IA M , P h i l a d e l p h i a , 2003. R e p r i n t
of
th e 1990 edi t ion (Springer-V erlag, Berl in ) .
[2] D. J. B A T E S , J . D . H A U E N S T E I N , A.J. S O M M E S E , AND C . W . W A M P L E R ,
Bertini:
Software for Num erical Algebraic G eometry, avai lable
at
w w w . n d . e d u /
~ s o m m e s e / b e r t i n i .
[3]
,
Adaptive multiprecision path tracking,
to
a p p e a r S I A M
J.
Num. Ana l .
[4] D.F. DAVIDENKO,
On a
new method
of
numerical solution
of
systems
of
nonlinear
equations,
Doklady Acad . Nauk SSSR (N.S . ) , 88 :601 -602 ,
1953.
[5] J.W. DEMMEL, Applied Numerical Linear Algebra, S I A M , P h i l a d e l p h i a , 1997.
[6]
T. G A G AN D T . Y .
L I ,
HOM4PS,
avai lable
at
w w w . c s u l b . e d u / ~ t g a o .
[7]
T. G A O , T.Y. LI, AND M .
W U ,
A lgorithm 846: MixedVol:
A
software package
for mixed-volume computation,
ACM
Tran s . Mat h Sof tware , 31 (4) :555-5 60 ,
2005. Software avai lable
at
w w w . c s u l b . e d u / ~ t g a o .
[8]
A.
GRIEWANK,
Evalua ting derivatives. Principles
and
techniques
of
algorithmic
differentiation,
FVontiers
in
A p p l ie d M a t h e m a t i c s ,
19,
SIAM , Ph i lade lp h ia ,
2000.
[9] T. GuNJi, S. KI M, M . K O J I M A , A. T A K E D A , K . F U J I S A W A , AND T . M I Z U T A N I ,
PHoM— o polyhedral homotopy continuation method for polynomial systems.
Com put ing , 73 ( l ) : 55 -7 7 , 2004 . Sof tware ava i l ab le
at
w w w . i s . t i t e c h . a c . j p /
~ k o j i m a .
[10] T . G U N J I , S. KIM, K . F U J I S A W A , AND M . K O J I M A , PHoMpara—parallel imple-
menation
of the
Polyhedral Homotopy continuation Method
for
polynomial
systems,
Com put ing , 77{4) :387-411 , 2006.
[11] A.
L E Y K I N ,
J.
V E R S C H E L D E , A N D
A.
Z H A O ,
Evaluation of Jacobian matrices for
Newton's method with deflation
for
isolated singularities
of
polynomial sys
tems,
in
p roceed ings
of SNC
2005 ( In te rna t iona l W orkshop
on
Symbol ic -
N u m e r i c C o m p u t a t i o n , X i ' a n , C h i n a , J u l y 19-21 , 2005) , edi ted
by
D o n g m i n g
W a n g
and
L ihong
Zhi, pp.
19-28, 2005.
[12] A. L E Y K I N , J. V E R S C H E L D E , A N D Y . Z H U A N G , Parallel Homotopy Algorithms to
Solve Polynomial Systems, in p roceed ings of ICM S 2006 (Second In te rna t iona l
Congress
on
M athe ma t ica l Sof tware, C as t ro Urd ia les , Spa in , Sep tem ber
1-3,
2006) ,
Lec tu re Notes
in
Co mp ute r Sc ience , 415 1 :22 5-23 4 , 2006 .
[13]
T.Y.
L I ,
Num erical solution
of
multivariate polynomial systems by homotopy con
tinuation methods. Ac ta Num er . , 6 :399-436 ,
1997.
http://www.nd.edu/http://www.csulb.edu/~tgaohttp://www.csulb.edu/~tgaohttp://www.csulb.edu/~tgaohttp://www.csulb.edu/~tgaohttp://www.is.titech.ac.jp/http://www.is.titech.ac.jp/http://www.csulb.edu/~tgaohttp://www.csulb.edu/~tgaohttp://www.nd.edu/
-
8/18/2019 Software for Algebraic Geometry
23/180
1 4 D A N I E L
J.
B A T E S
E T AL.
[14]
T.Y. Ll AND Z.
ZENG, A rank-revealing method with updating, downda ting, and
applications, SIAM
J.
M at r ix A na l . AppL , 26(4) :918-946 , 2005 .
[15] Y. Lu, D.J . B A T E S , A.J. S O M M E S E , A ND C . W . W A M P L E R , Finding all real points
of
a
complex curve,
to
a p p e a r C o n t e m p o r a r y M a t h e m a t i c s .
[16] A.P. MORGAN, Solving polynomial systems using continuation for engineering and
scientific problems, Prent ice-H aJl , Eng lewoo d Clif fs , N.J., 1987.
[17] A.P. M O R G A N , A.J. SOMMESE, AND C.W. W A M P L E R , Computing singular solutions
to nonlinea r analytic sy stems, N u m e r . M a t h . , 5 8 ( 7 ) : 6 6 9 -6 8 4 , 1991.
[18]
,
Com puting singular solutions to polynomial systems, Adv. Ap pl . M ath . ,
13(3) :305-327 ,
1992.
[19]
,
A power series method for computing singular solutions to nonlinear ana
lytic systems, N u m e r . M a t h . , 6 3 ( 3 ) : 3 9 1 - 4 0 9 ,
1992.
[20]
A.J.
SOMMESE
AND J.
VERSCHELDE,
Nun,erical homotopies
to
compute generic
points
on
positive dimen sional algebra ic sets, J.
Complex i ty , 1 6(3) :572-6 02 ,
2000.
[21] A. J. S O M M E S E , J. V E R S C H E L D E , AND C.W. W A M P L E R ,
Using monodromy to de
compose solution seta of polynomial systems into irreducible com ponents,
in
proceed ings
of
Appl ica t ions
of
a lgebra ic g eomet ry
to
codin g theory, physic s
and computa t ion (E i la t , 2001) , NATO Sci. Ser.
II
M a t h . P h y s . C h e m . ,
36,
2001.
[22]
,
Symm etric functions applied to decompo sing solution sets of polynomial
systems, SIAM
J. Num.
An al . , 40{6):20 26-204 6, 2002.
[23]
,
Homotopies for intersecting solution compon ents 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 Scient i f ic , Singapore , 2005.
[25]
,
Exceptional sets
and
fiber produ cts,
to
a p p e a r F o u n d a t i o n s
of
C o m p u t a
t i o n a l M a t h e m a t i c s .
[26] G.W. STEWART, Matrix algorithms. Vol. I. Basic decompo sitions, S I A M , P h i l a d e l
p h i a , 1998.
[27] H.- J. Su, J. M C C A R T H Y , M . S O S O N K I N A , AND L . T. W A T S O N ,
Algorithm 857: POL-
SYS-GLP - A parallel general linear product homotopy code for solving poly
nomial systems of equations, ACM Tran s . Math . Sof tware , 32(4) :56 1-579 ,
2006. Software avai lable
at
w w w . v r a c . i a s t a t e . e d u / ~ h a i j u n s u.
[28]
J.
VERSCHELDE, Algorithm 795: PHCpack: a general-purpose solver for poly
nomial systems by homotopy continuation, ACM Tra ns . M ath . Sof tware ,
25(2) :251-276, 1999. Software avai lable at w w w . m a t h . u i c . e d u / ~ j a n .
[29]
J.
VERSCHELDE
AND
Y . ZHUANG, Parallel implementation of the polyhedral homo
topy
method,
in
p roceed ings
of
I C P P W
'06
( In te rna t iona l Confe rence W ork-
shojjs on Para l l e l P rocess ing ) , IEE E Co mp ute r Soc ie ty, W ash ing ton , DC, 4 8 1 -
488, 2006.
[30] C.W. WAMPLER, Hom Lab: Homotopy Continuation Lab, avai lable at w w w . n d . e d u /
'^^cwamplel .
http://www.vrac.iastate.edu/~haijunsuhttp://www.vrac.iastate.edu/~haijunsuhttp://www.math.uic.edu/~janhttp://www.math.uic.edu/~janhttp://www.nd.edu/http://www.nd.edu/http://www.math.uic.edu/~janhttp://www.vrac.iastate.edu/~haijunsu
-
8/18/2019 Software for Algebraic Geometry
24/180
P H C L A B : A M A T L A B / O C T A V E I N T E R F A C E T O P H C P A C K *
Y U N G U A N t A N D J A N V E R S C H E L D E *
A b s t r a c t . P H C p a c k i s a s o ft w a re p a ck a g e fo r P o l y n o m i a l H o m o t o p y C o n t i n u a t i o n ,
to numer ica l ly so lve sys tem s of po lynom ia l equa t ion s . Th e execu tab le p ro gram "phc"
pro duc ed by PH Cp ack h as several op t ion s ( the mos t po pu lar one "- b" offers a blackbox
solver) and is menu dr iven. PHClab is a col lect ion of scr ipts which cal l phc f rom within
a MA TL AB or Octav e sess ion. I t provides an interface to th e blackbox solver for f inding
i so la ted so lu t ions . We execu ted the PHClab func t ions on our c lus te r compute r us ing
the M PI ToolBox (M PIT B) fo r Oc tave to so lve a l is t o f po lynom ia l sys tems . PH Cl ab
also interfaces to the numerical i r reducible decomposi t ion, g iving access to the tools to
represent , factor , and intersect posi t ive dimensional solut ion sets .
1 .
I n t r o d u c t i o n . Po lyno m ial system s arise in variou s fields of science
and engineering, e.g.: the design of a robot arm [13] so its hands passes
through a prescribed sequence of points in space requires the solution of
a polynom ial system. Ho mo topy continuation m etho ds are efficient nu
merical algori thms to approximate al l isolated solutions of a polynomial
system [10]. Recently homotopies have been developed to describe positive
dimensional solution sets [20].
This paper documents an interface PHClab to use the functionali ty
provided by PHCpack [21] from within a MATLAB or Octave session.
The main executable program provided by PHCpack is phc, available for
downloading on a wide variety of com puters and op erat ing system s. T he
program phc requires no compilat ion. I ts most popular mode of operat ion
is via the blackbox opt ion, i .e .: as phc -b in p u t o u tp u t . Recent ly the
program has been updated wi th tools to compute a numer ical i r reducible
decomposion [18].
The main motivation for PHClab is to make i t easier to use phc by
automatic conversions of the formats for poljaiomial systems (on input)
and solutions (on ou tp ut ) . M anu al or adho c conversions can be tedious
and lead to errors. As PHCpack has no script ing language on i ts own, the
second advantage of PHClab is help the user to systematical ly use the ful l
capabil i t ies of PH Cp ack . As M AT LA B (an d i ts freely available co un terpa rt
Oc tave) is a very po pu lar scientific software sy stem , P H C lab will be a useful
addi t ion to PHCpack.
*This ma te r ia l i s based upo n work sup por te d by the Na t iona l Sc ience Foun da t ion
unde r Gr an t No . 0105739 and Gra n t No . 0134611 .
t De par tm ent o f M athem at ics , S ta t i s t i c s , and C om pute r Sc ience, Un ivers i ty of
I l l inois a t Chicag o, 851 So uth M org an ( M /C 249) , Chicago , IL 60607-7045, US A
( g u a n a m a t h . u i c . e d u ) .
* De par tm ent o f M athem at ics , S ta t i s t i c s , and C om pute r Sc ience, Univer
s i ty of I l linois a t Chicago , 851 Sou th Morg an ( M /C 249) , C hica go, IL
60607-7045, USA ( j a n 9 m a t h . u i c . e d u 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 . m a th . u i c . e d u / ~ j an).
15
http://jan9math.uic.edu/http://jan9math.uic.edu/http://jan.verscheldeana-net.oml.gov/http://jan.verscheldeana-net.oml.gov/http://jan.verscheldeana-net.oml.gov/http://jan9math.uic.edu/
-
8/18/2019 Software for Algebraic Geometry
25/180
16 YUN GUAN AND JAN VERSCH ELDE
Another feature of PHClab is the possibiUty of developing parallel code
at a high level, when using the MPI ToolBox (MPITB [2]) for Octave.
2 .
T h e
d e s i g n
o f P H C l a b .
The first interface from a C program to
phc was wr it ten by Nobuki Takay am a and is s t il l available via th e PH Cp ack
download web si te. Via this interface, phc became part of OpenXM [11]
(see also [12]). We used the same idea to build PHCmaple [7, 8], defining a
Maple interface to PHCpack.
All that is needed to make the interface work is the executable form of
p h c .
PHClab is a collect ion of scripts wri t ten in the language of MATLAB
and Octave. These scr ipts cal l phc wi th the appropr iate opt ions and menu
choices.
3 .
D o w n l o a d i n g a n d i n s t a ll i n g . PHClab was tes ted on Mat lab 6.5
and Octave 2.1.64 on computers running Windows and Linux. On an Apple
laptop running Mac OS X version 10.3.7, we executed PHClab in Octave
2.1.57.
The most recent vers ion of PHCpack and PHClab can be ret r ieved
from
h t t p : / /www.
m a t h . u i c . e d u / ^ j a n / d o w n l o a d . h t m l
which we fi-om now on call th e dow nload w eb site. To install and use
PHClab, execute the fol lowing steps:
1. Prom the download web si te, ei ther download the source code for
phc (a makefile is provided with the code), or select an executable
version of phc. Currently, phc is available in executable form on
Windows, workstat ions from IBM (running AIX 5.3) and SUN
(running SunOS 5.8) , and PCs running Linux and Mac OS X 10.3.
Except for Windows (which comes just as a plain phc.exe), one
has to run gim zi p followed by t a r xpf on the dow nloaded f ile.
2.
Th e P H Cla b d is t ribut ion is available as PHClab. t a r . gz fi rom the
download web s i te . To ins tal l PHClab in the di rectory / tmp, save
PHC lab. t a r . gz f irs t in / tm p, a nd th en execute th e following se
quence of commands:
cd / tmp ; mk di r PHClab; mv / tm p/PH Cla b. t a r . gz PHClab;
c d / t m p /P H C l a b ; g u n z i p P H C l a b . t a r . g z ; t a r x pf P H C l a b . t a r .
3.
Ei ther launch MATLAB or Octave in the di rectory PHClab, or
add the name of the di rectory which contains PHClab to the path
of MATLAB or Octave.
The f irst command of PHClab to be executed is s e t _ p h c p a t h . This
command takes one argument: the ful l path name of the f i le name which
contains the executable program
phc.
For exam ple, if ph c was saved in
/ t m p , th e n a se ssio n w i th P H C l a b s t a rt s w i th s e t _ p h c p a t h ( ' / t m p / p h c ' ) .
4 . S o l v i n g p o l y n o m i a l s y s te m s . In this section we define the bas ic
commands to solve polynomial systems using PHClab. We first define the
inp ut /ou tput formats , in troducing the function m ak e_ sy s t em to conver t a
-
8/18/2019 Software for Algebraic Geometry
26/180
PHCLA B: A MATLAB/OCTAVE INTERFACE TO PHCPACK 17
m atrix format for a polynom ial system into a s jmibolic inpu t format to p hc .
The blackbox solver of PHCpack is cal led by the command so lve_sys te in .
Besides the solution vectors, the solver returns extra diagnostical informa
t ion about the quahty of each solution.
Path tracking typical ly starts from a generic system (without any sin
gular solutions) to a mo re specific system . We use th e system w e first
solved by the blackbox solver as start system to solve a system with spe
cific coefficients, using the function track. Be cau se of ou r specific choice
of the coefficients, we generated a polynomial system with a double solu
tion, i .e.: of multiphcity two. Via the function ref ine_sols and def la t ion ,
we respectively refine a solution and deflate its multiplicity into a regular
problem.
The last function we introduce in this section is m i x e d _ v o l u m e , to
compute the mixed volume for a polynomial system and (optionally) create
and solve a random coefficient s tar t system. The mixed volume equals the
number of roots without zero components of a polynomial system with
suf
ficiently generic coefficients. The function m i x e d . v o l u m e cal ls the trans
late d form of th e co de M ixed Vol [3].
4 . 1 . I / O f o r ma t s a n d t h e b l a c k b o x s o l v e r . The input to the
solver is a system of m ultiva riate equ atio ns with com plex floating-point
coefficients. For example, consider the system g{x) = 0:
9ixi,x, = ^ 2 . 1 x 1 - 1 . 9 x 1 = 0 ' ^ i t l ^* = v ^ - (4-1)
This system is encoded as a matrix, with in i ts rows the terms of each
polynom ial . A zero row in the m atrix m arks the end of a p olynom ial
in the system. A nonzero row in the m atrix represen ts 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 num ber of variables and
m
the total number of terms, then the matr ix encoding the sys tem has m + n
rows and n + 1 columns.
To solve the system g{x.) = 0 us ing PHClab, we may execute the
following sequence of instructions:
7 , t a b l e a u input for a sys tem :
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)'
-
8/18/2019 Software for Algebraic Geometry
27/180
18 YUN GUAN AND JAN VERSCHELDE
' + 2 .1 * x 2 * *2 - 1 . 9 * x l '
ns =
4
s3 =
t i m e : 1
m u l t i p l i c i t y : 1
e r r : 4 . 0 3 4 0 e - 1 6
r c o : 0 . 1 2 4 3
r e s :
2 . 7 7 6 0 e - 1 6
x l :
- 3 . 9 1 8 0 + 0 . 3 8 7 6 1
x 2 : 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 th e continu ation pa ram eter . If this value is no t
equal to one, then i t means tha t the p ath t racker did not m anage to
reach the end of the path. This may happens with paths diverging
to infinity or with highly singular solutions.
m u l t i p l i c i t y
is th e multiplicity of th e solution. A solution is reg ular w hen
th e mult ipl ici ty is one. W hen th e approx ima tion for a solution
is not yet accurate enough, then the mult ipl ici ty might s t i l l be
reported as one, al though the value for rco might be close to the
threshold.
er r i s the magni tude of the las t update Newton's method made to the
solution. At singular solutions, the polynomial functions exhibit a
typical "f lat" behavior. Although the residual may then be already
very small, the value for this err can be still large.
rc o
is an est im ate for th e inverse of a condit ion num ber of the Jac ob ian ma
tr ix evaluated at the approximate solution. A solution is deemed
singular when th is num ber drop s below the thresh old v alue of 10~^.
Mult iple solutions are singular . The condit ion number
C
of the Ja
cobian matrix measures the forward error, i .e.: if the coefficients
are given with D digi ts precision, then the error on the approxi
mate solut ion can be as large as C x 10"^.
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
MA TLA B's (or Octave 's ) form at sh o r t . By form at lo n g e we can see
the full length in scientific fo rm at. For the solution a bov e, th e values of
er r , rco, and res indicate an excel lent qual i ty of the computed solut ion.
-
8/18/2019 Software for Algebraic Geometry
28/180
PHCLAB : A MATLAB/OCTAVE INTERFACE TO PHCPACK 19
4 . 2 . P a t h t r a c k i n g f r o m a g e n e r i c t o a s p e c i f i c s y s t e m . T h e
four solutions of the system we solved are all very well conditioned, so we
may use them as start solutions to solve a system with the same coefficient
structure, but with more specific coefficients:
n-̂ -̂ )
= {4U+T-tzl wt z
= v ^. (4.2)
Geometrical ly, the polynomials in the system /(x) = 0 respectively de
fine an el l ipse and a parabola, posi t ioned in such a way that their real
intersection point is a double solution.
In the sequence of instruction s below we use the function tr a c k , using
the new sys tem double ( the sys tem / (x) = 0) as target sys tem and the
system t we solved as sta rt system (we called it g( x) = 0) . N ote t h a t
before cal l ing track, we must set the value of t ime in every solution to
zero, so s contains proper star t solut ions.
do ub le = [1 .0 2 0 ; 4 .0 0 2 ; -4 . 0 0 0 ; 0 0 0 ;
- 2 .0 0 2 ; +1 .0 1 0 ; - 2 .0 0 0 ; 0 0 0 ] ;
mak e_s ys t em( do ub l e ) % s hows s ys t em
s ( l ) . t im e = 0 ; s ( 2 ) . t i m e = 0 ; '/. i n i t i a l i z e ti m e f o r e v e r y
s ( 3 ) . t i m e = 0 ; s ( 4 ) . t i m e = 0 ; % s t a r t s o l u t i o n t o z e r o
s o l s = t r a c k ( d o u b l e , t , s ) ; % c a l l t h e p a t h t r a c k e r s
n s = s i z e ( s o l s , 2 ) % c h ec k n um ber of s o l u t i o n s
s 2 = s o l s ( 2 ) % l o o k a t t h e 2nd s o l u t i o n
Th e choice of th e second solution was done on p urpose because th is solution
needs ext ra processing. In general however, we have no control over the
order in which the solutions are computed, i .e.: while every run should give
the same four solutions back, the order of solutions could be permuted.
The output we see on screen of the sequence above is
ans =
' x l ** 2 + 4*x2**2 - 4 '
' - 2*x2**2 + x l - 2 '
ns =
4
s2 =
t i m e : 1
m u l t i p l i c i t y : 1
e r r : 4 . 3 7 3 0 0 0 0 0 0 0 0 0 0 0 0 e - 0 7
r c o : 3 . i 4 7 0 0 0 0 0 0 0 0 0 0 0 0 e - 0 7
r e s :
7 .235000000000000e- 13
x l :
2 .0000000000000006+00 - 5 .04 8709 793 414 480 e-29i
x 2 : - 2 .49333914 60120 10e- 07 - 1 .879166705634450e- 07 i
Recall th at we const ructed the equat ions in our second sys tem / ( x ) = 0 so
that there is a double solution at (2,0). However, since we are not yet close
enough to the actual double solution (2,0) , the magnitude of the condit ion
-
8/18/2019 Software for Algebraic Geometry
29/180
20 YUN GUAN AND JAN VERSCHELDE
number is about 10^, below the threshold of 10^, so phc does not recognize
th e solution as a dou ble roo t. We will ne xt see how to get closer to th e
actual solution.
4 .3 .
Re f i n i n g a n d r e c o n d i t i o n i n g s i n g u l a r s o l u t i o n s . To refine
the solution we save in s2, we execute 10 addit ion Newton steps, applying
ref inejsols to the second solut ion s2:
r 2 = 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 i terat io ns ( last param eter of refine_sols) of Newton's method,
requir ing that ei ther the magnitude of the correct ion vector (err) or the
residual (res) is less or equal than 10~^®, as specified respectively by the
third and f if th parameter of reflne_sols.
Below, on the output we see the est imate for the inverse condit ion
number has decreased, along with the value for x2:
r2 =
time:
multiplicity:
err:
rco:
res:
xl:
x2:
1
1
3.3000000000000006-09
3.8850000000000006-09
6.4279999999999996-17
2.OOOOOOOOOOOOOOOe+00
-2.9990621833465416-0
4.309100000000000e-41i
-
3.017695139191104e-10i
Now that the est imate for the inverse condit ion number has dropped
from 10~^ to 10 "^, below the thresho ld of 10~^, we expe ct this solution to
be singular. To deflate the multiplicity [9] and recondition the solution, we
execute
d e f . s o l s = d e f l a t i o n ( d o u b l e , s o l s ) ;
d e f _ s o l s { 4 , l }
and then we see on screen
ans =
t i m e : 1
m u l t i p l i c i t y : 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 .92928 62559 18420 e-14i
x 2 : - 1 .7426214785 217806 - 14 + 8 .26617945 7715231 e- 15 i
l m_l _ l : 3 .0779398018996406- 01 + 6 .678691166401400e- 01 i
l m _ l _ 2 :
- 6 .73752454 60803 006- 01 - 2 .9469292 68111 410e- 01 i
Not ice the value rc o which has increased dramat ical ly f irom 3. 88 5e -0 9 to
1.242e-01, as a clear indicat ion that the solution returned by deflat ion is
well con ditioned . Yet th e m ultiplicity is two as a solution of th e original
system. The deflat ion procedure has constructed an augmented system for
which the dou ble solution of th e original system is a regulax roo t. T he
-
8/18/2019 Software for Algebraic Geometry
30/180
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 th e first deflation of th e system . T he nu m ber of m ultipliers 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 _ s o l s { 3 , 1 } .
4 . 4 .
M i x e d v o l u m e s a n d r a n d o m c o ef fi ci en t s y s t e m s . In o rd er
to solve the system (4.2) we used the output of the blackbox solver on a
more general system . Th e blackbox solver uses polyhedral hom otopies [5] to
solve a system with th e same spa rse structu re b ut w ith ran do m coefficients .
Such random coefficient system has exactly as many isolated solutions as its
mixed volume [10] . The funct ion 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 i ts mixed volume and solve a random
coefficients start system via the following sequence of commands:
[ v , g , s ] = m i x e d _ v o l u m e ( d o u b l e , l ) ; % c om p u te m i xe d v o lu m e
v 7. che ck th e mixed volume
US = s i z e ( s , 2 ) 7. c h e c k n um b er of s o l u t i o n s
g '/. ramdom c o e f f i c i e n t sys tem
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 .920604 62982 993E - 01* i ) *x2- 2
+( - 5 .76175858933 274E- 01 - 8 .17325748757804E- 01* i )
5 . So l v i n g m a n y s y s t e m s . Us ing PHCpack from wi th i n a MATLAB
or O ctave session provides novel opp ortun it ies to solve polynom ial system s.
In this sect ion we show how the script ing environments can help to control
th e quali ty of the d eveloped software. T he high level paral lel p rogram m ing
capabil i t ies of MPITB will speed up this process in a convenient manner.
5 . 1 . A u t o m a t i c t e s t i n g a n d b e n c h m a r k