POLYNOMIAL ITERATORS (II)

The iterator can be written using Maple's RootOf notation as
x[i+1] := RootOf( F(x[i])-p(z), z );

Selecting which root of the polynomial to use is a crucial point.  If we want to insure convergence, we must select the root which is closest to the iteration value.

Since this selection is necessary for convergence, we will use it in every step of the algorithm.  Furthermore, many iterative methods for solving polynomials can profit significantly from starting their iterators at an approximation of the root; the correct root could come almost for free. 

For example, for the solution of the equation

x5 - 6x4 + 5x3 - 7x2 ln x + 6x - 5 = 0
we define the iterator
x[i+1] := RootOf( z^5-6*z^4+5*z^3+6*z-5 = 7*x[i]^2*ln(x[i]), z );

If we start with x0 = 1, then the rounded roots are

-0.526224±0.844348i,   0.758845,   1.34521,   4.94839

The root which is closest to x0=1 is 0.758845...  Hence we set x1=0.758845...  For the second iteration the polynomial becomes z5-6z4+5z3+6z-5 = -1.11236...  The roots of this polynomial are

-0.489123±0.829261i,   0.586566,   1.44569,   4.94599

and the root closest to x1 is 0.586566...  which becomes x2.  This process converges quite quickly,

x2=0.586566...
x3=0.561733...
x4=0.563302...
x5=0.563168...


previous next