2

The article on Wikipedia describes how to derive Durand-Kerner root-finding method from Newton method. The method is attractive because of its good convergence and simplicity, as proven in ACM Algorithm 283 by Immo Kerner himself ("translated to PL/I by R. A. Vowels"):

Prrs: procedure (A, X, n, epsin) options (reorder);
        declare (A(*), X(*), epsin) float, n fixed binary;

        declare (i, k, j, nits) fixed binary, (xx, P, Q, eps) float;

        eps = epsin*epsin;
        nits = 1;
W:      Q = 0;
        do i = 1 to n;
                xx = A(n); P = A(n);
                do k = 1 to n;
                        xx = xx * X(i) + A(n-k);
                        if k ^= i then P = P * (X(i) - X(k));
                end;
                X(i) = X(i) - xx/P;
                Q = Q + (xx/P)*(xx/P);
        end;
        nits = nits + 1;
        if Q > eps then go to W;
        end Prrs;

Is it somehow possible to derive similar method for simultaneously finding all the approximations of roots of a system of n polynomial equations in n variables?

The line of thinking was: to find a root of a polynomial in one variable, it is possible to use Newton's method. It is simple and fast, but which exact root is going to be found depends on the initial guess and so it is difficult to find all the roots.

To approximate all the roots simultaneously, there are several generalizations of Newton's method which employ the so-called Weierstrass correction, for example the above mentioned Durand-Kerner's or Aberth's methods.

For systems of n multivariate polynomial equations in n variables there exists another generalization of Newton's method which allows one to find a root (i.e. a set of n values where the system becomes zero). It uses Jacobian matrix.

So my question is, would it be possible to use the Jacobian in the corrections, instead of Newton, kind of like combining Durand-Kerner and multivariate Newton? By sheer luck, does anyone know of an implementation of such algorithm?

Ecir Hana
  • 10,864
  • 13
  • 67
  • 117
  • A code sample in PL/I gets +1, but I think you'd have a better chance with this question at [scicomp.se]. –  Mar 06 '16 at 20:46

0 Answers0