Numerical Methods – Finding All Roots of Polynomial System

algorithmsnumerical methodspolynomialsroots

I want to numerically find all the roots of a system of polynomials (n equations in n variables). Since I can compute the Jacobian for the system (analytically or otherwise), I can use the Newton Raphson method to find a single root (e.g. as described in the Numerical Recipes book).

How do I find the other roots (if they exist), either using a different algorithm or extending the Newton Raphson method? If this is not always possible, what about finding all the roots in a bounded interval [a,b]? Other roots may exist, but I only need to find the ones that lie in the interval – however, it is possible for multiple roots to lie in the interval?

Thanks!

Best Answer

A code designed implementing Homotopy Continuation by the name of PHCpack is available with both C and maple interfaces.

I would not suggest trying to implement something like this yourself, since there are many fine points which are easily overlooked, and you may end up getting less solutions than you expected. A nice example of how the method works and the the related problems, can be seen here.

Related Question