Home Teaching Research Resources Personal

 

PHClab: A MATLAB/Octave Interface to PHCpack

Features:  
  • gives the user access to the functionality of PHCpack within a MATLAB/Octave session.
  • provides automatic conversions of the formats for polynomial systems and solutions.
  • the possibility of developing parallel code at a high level, when using the MPITB for Octave.

Functions: 

  • cascade: executes a sequence of homotopies, starting at the top dimensional solution set to find super witness sets.
  • decompose: takes a witness set on input and decomposes it into irreducible factors. 
  • deflation: reconditions isolated singular solutions.
  • embed: adds extra hyperplanes and slack variables to a system, as many as the expected top dimension of the solution set.
  • eqnbyeqn: solves polynomial systems equation by equation.
  • mixed_volume: computes the mixed volume for a system of n equations in $n$ variables. 
  • phc_filter: removes from a super witness set those junk points while lie on a higher dimensional solution set.
  • read_system: reads a polynomial system from file.
  • refine_sols: applies Newton's method to refine a solution.
  • set_phcpath: defines the directory where the executable version of phc is. 
  • solve_system: calls the blackbox solver of phc.
  • track: applies numerical continuation methods for a homotopy between start and target system, for a specified set of start solutions.

Note: please refer to the Appendix A in our paper PHClab: A MATLAB/Octave Interface to PHCpack for detailed function descriptions.

  • Downloading and installation:
    • the most recent version of PHCpack and PHClab can be downloaded from http://www.math.uic.edu/~jan/download.html. 
    • from the download web site, either download the source code for phc (a makefile is provided with the code), or select an executable version of phc
    • the PHClab distribution is available as PHClab.tar.gz from the download web site. To install PHClab in your desired directory, say /tmp, save PHClab.tar.gz first in /tmp, and then execute the following sequence of commands:
    • cd /tmp
    • mkdir PHClab
    • mv /tmp/PHClab.tar.gz PHClab
    • cd /tmp/PHClab
    • gunzip PHClab.tar.gz
    • tar xpf PHClab.tar
    • either launch MATLAB or Octave in the directory PHClab, or add the name of the directory which contains PHClab to the path of MATLAB or Octave.
  • Use PHClab:
    • the first command of PHClab which one must execute is set_phcpath. This command takes one argument: the full path name of the file name
      which contains the executable program phc. For example, if phc was saved in /tmp, then a session with PHClab must start with set_phcpath( '/tmp/phc').
    • for the usage of each function in PHClab, refer to our paper or type ?help <function name> in MATLAB or Octave session.
  • Report a bug: send an email to yguan3 at uic [dot] edu with the polynomial systems you want to solve and the m file.