This Macaulay2 package provides an interface to PHCpack, a general-purpose polynomial system solver that uses homotopy continuation. The main method is a numerical blackbox solver which is implemented for all Laurent systems. The package also provides a fast mixed volume computation, the ability to filter solutions, homotopy path tracking, and a numerical irreducible decomposition method. As the size of many problems in applied algebraic geometry often surpasses the capabilities of symbolic software, this package will be of interest to those working on problems involving large polynomial systems. NUMERICAL HOMOTOPY CONTINUATION. Many problems in applied algebraic geometry require solving, or counting the solutions of, a large polynomial or rational system. PHCpack is an inter- face the program PHCpack to one of several efficient polynomial system solvers that use numerical homotopy continuation methods (Li). The basic idea behind homotopy continuation is simple: to solve a polynomial system f(x) = 0, one first constructs a system g(x) = 0 that is easy to solve and then constructs a homotopy, H(x(t)) = (1 t)g(x)+ t f(x) in order to numerically track paths from known solutions of g (with t = 0) to the solutions of the target system f (with t = 1). Available since release 1.4 of Macaulay2 (M2), this package is motivated by (Ley) and uses the data types defined by Leykin in NAGtypes.m2. The main function of the package allows a Macaulay2 user to solve a system numerically through a blackbox solver, where the creation of the start system and homotopy continuation is done behind the scenes. The package also provides a fast mixed volume computation and allows the user to filter solutions, to track solution paths explicitly, and to perform numerical irreducible decompositions. This interface to PHCpack offers access to most of the functionality of the software, which has been serving as a development platform for many of the algorithms in numerical algebraic geometry (SVW). Computations in this paper were done with phc version 2.3.61 (version 1.0 was archived in (Ve1)). Since version 2.3.13, PHCpack contains MixedVol (GLW), and more recently added features are described in (Ve2). PHCpack can solve Laurent systems, so the package includes a method to convert a rational system to a Laurent polynomial system. The underlying polyhedral methods perform well on benchmark problems; in many of those, the mixed volume is computed essentially instantaneously. To use the methods in this package, the user must have the executable program phc available, preferably in the execution path. For more information on this, see the documentation for the package. Although PHCpack is open source, we follow the idea of OpenXM (MN + ) and require only that the
Read full abstract