A package for the numerical solution of systems of polynomial equations.

Applications

Kinematic synthesis

The problem of finding all four-bar linkages whose coupler curve passes through nine prescribed points has been a longstanding unsolved problem in kinematics. It was eventually solved in 1992 by Wampler, Morgan and Sommese. While this has been an outstanding computational achievement at the time, we now can synthesize the mechanism from scratch in a matter of minutes using HomotopyContinuation.jl.

Topological Data Analysis

The geometry of bottlenecks plays an important role in the analysis of data with support on an algebraic variety. Together with the maximal curvature of the variety they define the reach. Using HomotopyContinuation.jl we can compute the reach for curves and surfaces.

Computational Chemistry

Homotopy continuation methods allow us to study the conformation space of molecules as for example cyclooctane (CH₂)₈. This molecule consists of eight carbon atoms aligned in a ring, and eight hydrogen atoms, each of which is attached to one of the carbon atoms. It is known that the conformation space is homeomorphic to a union of the Klein bottle and a sphere, which intersect in two rings. Follow our example to find out how to sample from this conformation space.

Constrained Optimization

Many models in the sciences and engineering are expressed as sets of real solutions to systems of polynomial equations. We can optimize any objective whose gradient is an algebraic function using homotopy methods by computing all critical points of the objective function. An important special case is when the objective function is the euclidean distance to a given point. An example of an non-algebraic objective function whose derivative is algebraic is the Kullback–Leibler divergence.

Applications

Kinematic synthesis

The problem of finding all four-bar linkages whose coupler curve passes through nine prescribed points has been a longstanding unsolved problem in kinematics until it got solved by Wampler, Morgan and Sommese in 1992. While this has been an outstanding computational achievement at the time we now can synthesis the mechanism from scratch in a matter of minutes using HomotopyContinuation.jl.

Topological Data Analysis

The geometry of bottlenecks plays an important role in several important aspects of real geometry in connection with analysis of data with support on an algebraic variety $X$. Together with the maximal curvature of the variety they define the reach of $X$. Knowing the reach allows to compute the correct homology of an variety. Using HomotopyContinuation.jl we can compute the reach for curves and surfaces.

Computational Chemistry

Homotopy continuation methods allow us to study the conformation space of molecules as for example cyclooctane (CH₂)₈. It consists of eight carbon atoms aligned in a ring, and eight hydrogen atoms, each of which is attached to one of the carbon atoms. It is known that the conformation space is homeomorphic to a union of the Klein bottle and a sphere, which intersect in two rings. Follow our example to find out how to sample from this conformation space.

Constrained Optimization

Many models in the sciences and engineering are expressed as sets of real solutions to systems of polynomial equations. We can optimize any objective whose gradient is an algebraic function using homotopy methods by computing all critical points of the objective function. An important special case is the case that the objective function is the euclidean distance to a given point. An example of an non-algebraic objective function whose derivative is algebraic is the Kullback–Leibler divergence.