• Corpus ID: 18025269

Modernizing PHCpack through phcpy

  title={Modernizing PHCpack through phcpy},
  author={Jan Verschelde},
PHCpack is a large software package for solving systems of polynomial equations. The executable phc is menu driven and file oriented. This paper describes the development of phcpy, a Python interface to PHCpack. Instead of navigating through menus, users of phcpy solve systems in the Python shell or via scripts. Persistent objects replace intermediate files. 

Figures from this paper

Solving Polynomial Systems with phcpy

This paper explores new developments in phcpy, a scripting interface for PHCpack, over the past five years, and finds certain classes of polynomial system frequently arise, to whichphcpy is well-suited.

Polynomial homotopy continuation on GPUs

A library to track many solution paths defined by a polynomial homotopy on a Graphics Processing Unit (GPU) developed on NVIDIA graphics cards with CUDA SDKs and released under the GNU GPL license.

Solving Polynomial Systems in the Cloud with Polynomial Homotopy Continuation

The design and implementation of the web interface for polynomial homotopy continuation methods is described and the graph isomorphism problem is organized and classified, identifying newly submitted systems with systems that have already been solved.

Tracking Many Solution Paths of a Polynomial Homotopy on a Graphics Processing Unit in Double Double and Quad Double Arithmetic

  • J. VerscheldeXiangcheng Yu
  • Computer Science, Mathematics
    2015 IEEE 17th International Conference on High Performance Computing and Communications, 2015 IEEE 7th International Symposium on Cyberspace Safety and Security, and 2015 IEEE 12th International Conference on Embedded Software and Systems
  • 2015
The authors' massively parallel predictor-corrector algorithms to track many solution paths of a polynomial homotopy are described, which combines the reverse mode of algorithmic differentiation with double double and quad double arithmetic to compute more accurate results faster.

Accelerating polynomial homotopy continuation on a graphics processing unit with double double and quad double arithmetic

This work describes the implementation of numerical continuation methods for double double and quad double arithmetic, and reports on computational results on benchmark polynomial systems defined by polynomials in several variables with complex coefficients.

Numerical Schubert calculus via the Littlewood-Richardson homotopy algorithm

We develop the Littlewood-Richardson homotopy algorithm, which uses numerical continuation to compute solutions to Schubert problems on Grassmannians and is based on the geometric

A Polyhedral Method to Compute All Affine Solution Sets of Sparse Polynomial Systems

This work presents a polyhedral method to compute all affine solution sets of a polynomial system, which enumerates all factors contributing to a generalized permanent.

The m-Bézout Bound and Distance Geometry

A closed-form bound on the m-Bezout bound is offered for multi-homogeneous systems whose equations include two variable subsets of the same degree, which applies only to systems characterized by further structure.

On the Maximal Number of Real Embeddings of Spatial Minimally Rigid Graphs

This work modify a commonly used parametric semi-algebraic formulation that exploits the Cayley-Menger determinant to minimize the a priori number of complex embeddings, where the parameters correspond to edge lengths, and introduces a method based on coupler curves that makes the sampling feasible for spatial minimally rigid graphs.



PHClab: A MATLAB/Octave Interface to PHCpack

PHClab is a collection of scripts which call phc from within a MATLAB or Octave session that provides an interface to the blackbox solver for finding isolated solutions of polynomial equations.

PHCpack in Macaulay2

The Macaulay2 package PHCpack provides an interface to PHCpack, a generalpurpose polynomial system solver that uses homotopy continuation. The main method is a numerical blackbox solver which is

Interfacing with the Numerical Homotopy Algorithms in PHCpack

This paper describes two types of interfaces to PHCpack, the first of which was developed in conjunction with MPI (Message Passing Interface), needed to run the path trackers on parallel machines.

Computing critical points of polynomial systems using phcpack and python

A new Python interface is developed by building an extension to the existing C library, which serves as a gateway to the Ada code, and a new algorithm is created to locate and detect critical points in those application domains by applying homotopy continuation methods.

Polynomial homotopy continuation with PHCpack

This document provides the outline for a software demonstration highlighting recent additions to the PHCpack software, such as accepting polynomials with negative exponents and sweeping for real points that lie isolated on complex solution curves.

PHCmaple : A Maple Interface to the Numerical Homotopy Algorithms in PHCpack ∗

Our Maple package PHCmaple provides a convenient interface to the functions of PHCpack, a collection of numeric algorithms for solving polynomial systems using polynomial homotopy continuation, which

Algorithm 795: PHCpack: a general-purpose solver for polynomial systems by homotopy continuation

The structure and design of the software package PHC is described, which features great variety of root-counting methods among its tools and is ensured by the gnu-ada compiler.

Numerical Irreducible Decomposition Using PHCpack

This paper indicates how the software package PHCpack can be used in conjunction with Maple and programs written in C and describes a numerically stable algorithm for decomposing positive dimensional solution sets of polynomial systems into irreducible components.

Factoring solution sets of polynomial systems in parallel

  • A. LeykinJ. Verschelde
  • Computer Science
    2005 International Conference on Parallel Processing Workshops (ICPPW'05)
  • 2005
A probabilistic complexity study suggests modifications to the method, which will improve the serial version of the original algorithm and expose the limits of the master/servant parallel programming paradigm for this type of problem.