PHCmaple: A Maple Interface to the Numerical Homotopy
Algorithms
Purpose: This package is a convenient
interface to a
collection of numeric algorithms for solving polynomial systems using
polynomial homotopy continuation provided by
PHCpack
and
Bertini.
Main functions: there are two categories -- the
functions treating square systems
with the finite number of solutions (0-dimensional) and the ones
dealing with systems of positive dimension.
Procedures for approximations of complex isolated roots
of square systems:
solve -- a black-box
solver, which returns approximations to all complex isolated roots of a
square system;
refine -- a procedure
that refines the given solutions to any specified precision and makes
possible to set error tolerance and other parameters in order to
fine-tune the solver;
track -- a routine that
tracks the specified solutions to a given start system returning the
corresponding solutions of a given target system;
drawPaths -- a
visualization tool that draws (in real 2D) the projections of
continuation paths to the (complex) coordinate axes.
deflationStep
-- a first-order deflation routine that deflates a polynomial system at
an isolated solution.
Procedures for positive dimensional solution sets of general
polynomial systems:
embed -- a routine
that constructs an embedded system for a given system with positive
dimensional solution sets;
cascade -- the
so-called cascade of homotopies
for an embedded system is launched by this procedure in
order to compute the list of witness
sets for the components of the solution set in every dimension;
filter -- a
function that deletes the points in a witness
set that belong to a higher-dimensional component;
eqnbyeqn --
applies the equation-by-equation solver of PHCpack to find a list
witness sets for the components of the solution to the original system
in each dimension;
decompose -- a
routine that performs the numeric irreducible decomposition of a
pure-dimensional solution component represented by a witness set;
factor -- a
routine for numeric absolute factorization of a multivariate polynomial;
intersectWitnessSets
-- intersects two solution sets via the diagonal homotopy technique;
unpack with tar xfz PHCmaple.tgz; this creates PHCmaple/ directory;
place phc.lib, phc.ind,
and phc.hdb
in
the directory [MAPLE]\lib
(where [MAPLE] is the
main Maple directory, e.g., C:\Program Files\Maple 11);
(alternatively) an arbitrary directory [DIR], then in Maple type libname := [DIR], libname:
download and install PHCpack
executable and (optional) Bertini
executable
if you run Maple on Linux make sure you have write
privileges in the directory containing executables and copy PHCmaple/PHCmapleUNIXhelper
to this directory and make it executable;
avoid using paths/filenames containing spaces, relative paths
can be used on Linux and Windows Classic Worksheet.
Loading the package:
to load type with(phc);
use function phc[setPHCloc]("phc-path")
to specify the location of the executables.
setPHCloc has several optional parameters:
setPHCloc("phc-path", debug = N, phc = "SOFTWARE")
N is an
integer determining how talkative PHCmaple is, N=0 produces no debugging
info;
SOFTWARE can
be either PHCpack (default) or Bertini, note that
only solve and track can use Bertini at the moment.
Testing and reporting bugs:
execute PHCmaple.test, e.g., in Linux maple PHCmaple.test
if errors occur then save the worksheet (with the
erroneous output) and e-mail it to "leykin AT
ima.umn.edu" with the title