Software for solving polynomial systems
Facts in brief:
- Purpose: The numerical solution of systems of polynomial equations.
- Approach: Homotopy continuation.
- Authors: Daniel J. Bates, Jonathan D. Hauenstein, Andrew J. Sommese, Charles W. Wampler
- Background: Bertini is a general-purpose solver, written in C, that was created for research about polynomial continuation.
- Cost: Bertini is distributed free of charge on an ``as is'' basis with no warranties, implied or otherwise, that it is suitable for any purpose. 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.
Key features:
- Finds isolated solutions using total-degree start systems, multihomogeneous-degree start systems, and also user defined homotopies.
- Implements parameter continuation for families of systems, such as the inverse kinematics of six-revolute serial-link arms, or the forward kinematics of Stewart-Gough parallel-link robots.
- Adaptive multiprecision implemented for finding isolated solutions and for the numerical irreducible decomposition.
- Treats positive-dimensional solutions by computing witness sets.
- Has automatic differentiation which preserves the straightline quality of an input system.
- Uses homogenization to accurately compute solutions "at infinity."
- Provides endgames to accurately compute singular roots.
- Allows for subfunctions.
- Allows for witness set manipulation via both sampling and membership testing.
- Accepts underdetermined, exactly determined, and overdetermined systems (i.e., the number of variables and equations do not have to be equal).
Bertini book page
Other links