Content deleted Content added
No edit summary |
minor stuff |
||
Line 6:
with complex coefficients compute approximations to the <math> n</math> zeros <math>\alpha_1,\alpha_1,\dots,\alpha_n</math> of <math>P(z)</math>.
There is a variation of the Jenkins-Traub algorithm which is faster if the coefficients are real. The Jenkins-Traub algorithm has stimulated
==Overview==
The Jenkins-traub algorithm is a three-stage process for calculating the zeros of a polynomial with
A description can also be found in Ralston and Rabinowitz<ref>Ralston, A. and Rabinowitz, P. (1978), A First Course in Numerical Analysis, 2nd ed., McGraw-Hill, New York.</ref> p. 383. The algorithm is similar in spirit to the two-stage algorithm studied by Traub; [http://links.jstor.org/sici?sici=0025-5718(196601)20%3A93%3C113%3AACOGCI%3E2.0.CO%3B2-3 A class of Globally Convergent Iteration Functions for the Solution of Polynomial Equations].<ref>Traub, J. F. (1966), [http://links.jstor.org/sici?sici=0025-5718(196601)20%3A93%3C113%3AACOGCI%3E2.0.CO%3B2-3 A Class of Globally Convergent Iteration Functions for the Solution of Polynomial Equations], Math. Comp., 20(93), 113-138.</ref> Line 18 ⟶ 20:
A sequence of polynomials <math>H^{(\lambda+1)}(z)</math> is generated, <math>\lambda=0,1,\dots,L-1</math>.
*Stage Three: Variable-Shift Process.
The <math>H^{(\lambda)}(z)</math> are now generated using the variable
::::<math>s_{\lambda+1}=s_\lambda- \frac{P(s_\lambda)}{\bar H^{(\lambda+1)}(s_\lambda)}, \quad \lambda=L,L+1,\dots,</math>
Line 24 ⟶ 26:
where <math>\bar H^{(\lambda+1)}(z)</math> is <math>H^{(\lambda)}(z)</math> divided by its leading coefficient.
It can be shown that provided <math>L</math> is chosen sufficiently large <math>s_{\lambda}</math> always converges to a zero of <math>P</math>. After an approximate zero has been found the degree of <math>P</math> is reduced by one by deflation and the algorithm is performed on the new polynomial until all the zeros have been computed.
The algorithm converges for any distribution of zeros. Furthermore, the convergence is faster than the quadratic convergence of Newton-Raphson iteration.
==What Gives the Algorithm its Power?==
What gives the
::::<math>z_{i+1}=z_i - \frac{P(z_i)}{P^{\prime}(z_i)}.</math>
Line 37 ⟶ 39:
::::<math>s_{\lambda+1}=s_\lambda- \frac{P(s_\lambda)}{\bar H^{(\lambda+1)}(s_\lambda)}</math>
is precisely a Newton-Raphson iteration performed on certain rational functions. More precisely, Newton-
==Real Coefficients==
The Jenkins-Traub algorithm described
==A Connection with the Shifted QR Algorithm==
There is a surprising connection with the shifted
==Software and Testing==
Line 50 ⟶ 52:
The methods have been extensively tested by many people. As predicted they enjoy faster than quadratic convergence for all distributions of zeros. They have been described as ''practically a standard in black-box polynomial root finders''; see Press, et al., Numerical Recipes,<ref>Press, W. H., Teukolsky, S. A., Vetterling, W. T. and Flannery, B. P. (2002), Numerical Recipes in C++: The Art of Scientific Computing, 2nd. ed., Cambridge University Press, New York.</ref> p. 380.
However there are polynomials which can cause loss of precision as illustrated by the following example. The polynomial has all its zeros lying on two half-circles of different radii. Wilkinson recommends that it is desirable for stable deflation that smaller zeros be computed first. The second-stage shifts are chosen so that the zeros on the smaller half circle are found first. After deflation the polynomial with the zeros on on the half circle is known to be ill-conditioned if the degree is large; see Wilkinson,<ref>Wilkinson, J. H. (1963), Rounding Errors in Algebraic Processes, Prentice Hall, Englewood Cliffs, N.J.</ref> p. 64. The original polynomial was of degree 60 and suffered severe deflation instability.▼
▲The polynomial has all its zeros lying on two half-circles of different radii. Wilkinson recommends that it is desirable for stable deflation that smaller zeros be computed first. The second-stage shifts are chosen so that the zeros on the smaller half circle are found first. After deflation the polynomial with the zeros on on the half circle is known to be ill-conditioned if the degree is large; see Wilkinson,<ref>Wilkinson, J. H. (1963), Rounding Errors in Algebraic Processes, Prentice Hall, Englewood Cliffs, N.J.</ref> p. 64. The original polynomial was of degree 60 and suffered severe deflation instability.
==References==
|