Status: HomLab dates from 2005 and is no longer actively maintained.
HomLab is still available here as support for the text:
The Numerical Solution of Systems
of Polynomials Arising in Engineering and Science
by Andrew J. Sommese and Charles W. Wampler, World Scientific, 2005.
HomLab is distributed free of charge on an ``as is'' basis. Its intended usage is educational, so that the user may gain a greater understanding of numerical homotopy continuation for solving systems of polynomial equations. Any other use is strictly the user's responsibility.
There is no license fee for HomLab. In lieu of this, we ask users to acquire or have access to (e.g., through your library) the book by Sommese & Wampler 2005.
The use of HomLab for research purposes, either in its original form or as modified by the user, is highly encouraged.
Any redistribution of HomLab in unaltered form must retain the same name and acknowledge the author. Any distribution of derived codes that extend or modify HomLab should acknowledge the original source and authorship. In addition, the differences from the original should be clearly documented and attributed to the new author. These conditions extend to users of the derived codes.
Publications based on results obtained using HomLab or its successors should cite the book by Sommese & Wampler 2005.
BibTeX citation:
@book {SW2005, AUTHOR = {Sommese, Andrew J. and Wampler, II, Charles W.}, TITLE = {The numerical solution of systems of polynomials}, NOTE = {Arising in engineering and science}, PUBLISHER = {World Scientific Publishing Co. Pte. Ltd., Hackensack, NJ}, YEAR = {2005}, PAGES = {xxii+401}, ISBN = {981-256-184-6}, MRCLASS = {14Qxx (65H10)}, MRNUMBER = {2160078}, MRREVIEWER = {Luis Miguel Pardo}, DOI = {10.1142/9789812567727}, URL = {https://doi.org/10.1142/9789812567727}, }
Click here to download HomLab10 (.zip format, approx. 100Kb)
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:
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.
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,
In the HomLab10 folder, the file
Files related to the use of HomLab to work exercises in the book are located in folder Exercise10.
HomLab uses Matlab's global command liberally. If you use the same variable names as HomLab in the main workspace, things may break. This is legacy code, so this deficiency will not be corrected.
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.