Solving systems of polynomial equations is an important problem in mathematics. It has a wide range of applications in many fields of mathematics, sciences, and engineering. By the Abel’s impossibility theorem and Galois theory, explicit formulae for solutions to such systems by radicals are unlikely to exist, as a result, numerical computation arises naturally in the solution to such systems. Homotopy continuation methods represent a major class of numerical methods for solving systems of polynomial equations. Hom4PS is a family of software packages that implement many homotopy continuation algorithms with which it could numerically approximate, identify, and classify solutions to systems of polynomial equations. For more information, please checkout our Documentation and F.A.Q. pages.
The Hom4PS family
There are several different software packages in the Hom4PS family.
- Hom4PS: The original Hom4PS developed in the 1990s implementing the Polyhedral Homotopy.
- Hom4PS-2.0: Our most mature and stable implementation written in Fortran. It implements both the Total Degree Homotopy and the Polyhedral Homotopy. You are encouraged to use this version for important computation.
- Hom4PS-2.0para: Parallel version of the Hom4PS-2.0 package developed using MPI suitable for computer clusters.
- Hom4PS-3.0: Our current experimental project that has a rich set of features and supports a wide range of parallel computation environments such as Multi-core architecture, Many-core architectures, computer clusters, and distributed computation environments.
There are many different homotopy constructions for solving systems of polynomial equations each with its own strength. We currently support the following homotopy constructions:
- Total degree homotopy
- Multi-homogeneous homotopy
- Cheater’s homotopy
- Polyhedral homotopy
- Complex Newton’s homotopy
- User defined homotopy
Other homotopy constructions are still under development.
Hom4PS-2para is design to take advantage of computer clusters via MPI.
Our experimental version of Hom4PS-3 is now capable of performing computation in parallel on a wide range of parallel computer architectures, including:
- Multi-core and Many-core architecture
- Computer clusters
- Distributed computation environments
Features that improve numerical robustness
- Automatic multi-precision
- Projective path tracking
- Singular end game
There are other software packages that also implement numerical homotopy continuation algorithms for solving systems of polynomial equations: