Graeffe's method

From Wikipedia, the free encyclopedia

Graeffe's method is an algorithm for finding multiple roots of a polynomial. It was developed independently by Karl Heinrich Gräffe, Dandelin, and Lobachevsky. The method separates the roots of a polynomial by squaring them repeatedly, and uses the Vieta relations in order to approximate the roots.

Let p(x) be an nth degree polynomial.

p(x) = (xx1)(xx2)...(xxn)
Then p( − x) = ( − 1)n(x + x1)(x + x2)...(x + xn)
Hence q(x^2) = p(x)p(-x) = (-1)^n(x^2-x_1^2)(x^2-x_2^2)...(x^2-x_n^2)


The roots of q(x2) (when viewed as a polynomial in the variable x2) are x_1^2, x_2^2,...,x_n^2. We have squared the roots of our original polynomial p(x). Iterating this procedure several times separates the roots with respect to their magnitudes. Repeating k times gives a polynomial in the variable y := x^{2^k} of degree n. Write this polynomial as qk(y) = yn + a1yn − 1 + ... + an
with roots y1,y2,...,yn.

Next the Vieta relations are used

a1 = − (y1 + y2 + ... + yn)
a2 = y1y2 + y1y3 + ... + yn − 1yn
an = ( − 1)n(y1y2...yn)

So that if the roots are sufficiently separated

a_1 \approx -y_1
a_2 \approx y_1 y_2 and so on.

Finally logarithms are used in order to find the roots of the original polynomial. Graeffe's method works best for polynomials with simple real roots, though it can be adapted for polynomials with complex roots and double roots.

[edit] See also

[edit] External links

In other languages