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.

You can use Hom4PS online without installing any software. Try it here. To install to your computer, please visit our download page.

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.

Homotopy constructions

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.

Parallel computation

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: