software for algebraic geometry

Upload: justin-carden

Post on 07-Jul-2018

220 views

Category:

Documents


0 download

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