HomLab Docs Page

HomLab: Homotopy Continuation Lab

Software for solving polynomial systems

Installing HomLab

As a suite of m-files, HomLab becomes functional by simply adding the folder containing the routines to Matlab's search path. The folder for the current release, HomLab 1.0, is HomLab10. If you are working the exercises in the book, you will also want to add folder Exercise10 and its subfolders to your path.

Let's say that you have copied HomLab10 onto your machine with the full path name of c:\mypath\HomLab10, where "mypath" could be any path in the file structure of your machine. There are three basic options for adding HomLab to the Matlab path:

  1. In Matlab (v.6.5 and above), use "File -> Set Path" on the Matlab menu bar to launch a dialog box for setting the path and use it to add "c:\mypath\HomLab10" and its subfolders to the top of the search path. The change becomes effective immediately in the current session, while the "Save" button in the dialog box records it for future sessions.
  2. OR
  3. At the Matlab prompt (">>"), use the command ">> addpath c:\mypath\HomLab10". HomLab will then be available for the current session only. Similarly, add the subfolders of HomLab10 to the path.
  4. OR
  5. Create a file called "startup.m" in a directory already on Matlab's search path and put the appropriate "addpath" commands there. HomLab will then be available for all future sessions.
Any one of these three options is sufficient. See the Matlab help facility to obtain more detailed instructions on modifying the search path. To test if the installation is successful, type ">> simpltst" at the Matlab prompt. You should get numerical results for solving a simple system of two quadratics.

User's Guide

The User's Guide is Appendix C of the book by Sommese and Wampler.


Once you have installed the software by putting it on the Matlab search path, you can get help on individual functions and scripts by using the Matlab "help" command. For example,

>> help totdtab
will type comments on how to use the script totdtab, which solves a polynomial given in "tableau" form using a total-degree homotopy.

In the HomLab10 folder, the file

homotopy index.txt
gives a listing of all the files in HomLab10 with a brief description of each.

Files related to the use of HomLab to work exercises in the book are located in folder Exercise10.

Compatibility Notes

HomLab is a suite of Matlab routines. Most of version 1.0 (HomLab10) has been restricted to the conventions of Matlab v.4.0 to provide compatibility with both old and new Matlab installations. (Even the file names have been restricted to eight characters for compatibility with old operating systems.) The exception to this rule is that routines based on Part III of this book for generating witness point supersets use cell arrays to store sets for different dimensions. Users who advance to that level will need a more recent version of Matlab, or else they must modify the code. All routines have all been verified to run under Matlab v.6.5.

The HomLab distribution includes a folder, Exercise10, of routines for working the exercises for the book by Sommese and Wampler. These have been written under Matlab v.6.5. Some of these use features not available in previous releases, namely function pointers and function files that include subfunctions in the same file. This should be more convenient for those with an up-to-date release of Matlab; those with old versions will, we hope, have little trouble revising the source code to run in their environment.

HomLab Links