ArticleslgStudy

computer science

Jenkins–Traub algorithm

Jenkins–Traub algorithm is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Jenkins–Traub algorithm rather than just read about it. In short: The Jenkins–Traub algorithm for polynomial zeros is a fast globally convergent iterative polynomial root-finding method published in 1970 by Michael A. Jenkins and Joseph F.

Key takeaways

  • Jenkins–Traub algorithm belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Jenkins–Traub algorithm to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Jenkins–Traub algorithm from memory before moving on to harder problems.

Reference excerpt

The Jenkins–Traub algorithm for polynomial zeros is a fast globally convergent iterative polynomial root-finding method published in 1970 by Michael A. Jenkins and Joseph F. Traub. They gave two variants, one for general polynomials with complex coefficients, commonly known as the "CPOLY" algorithm, and a more complicated variant for the special case of polynomials with real coefficients, commonly known as the "RPOLY" algorithm. The latter is "practically a standard in black-box polynomial root-finders". This article describes the complex variant. Given a polynomial P,

P ( z ) = ∑ i = 0 n a i z n − i , a 0 = 1 , a n ≠ 0 {\displaystyle P(z)=\sum _{i=0}^{n}a_{i}z^{n-i},\quad a_{0}=1,\quad a_{n}\neq 0}

with complex coefficients it computes approximations to the n zeros α 1 , α 2 , … , α n {\displaystyle \alpha _{1},\alpha _{2},\dots ,\alpha _{n}} of P(z), one at a time in roughly increasing order of magnitude. After each root is computed, its linear factor is removed from the polynomial. Using this deflation guarantees that each root is computed only once and that all roots are found. The real variant follows the same pattern, but computes two roots at a time, either two real roots or a pair of conjugate complex roots. By avoiding complex arithmetic, the real variant can be faster (by a factor of 4) than the complex variant. The Jenkins–Traub algorithm has stimulated considerable research on theory and software for methods of this type.

Overview The Jenkins–Traub algorithm calculates all of the roots of a polynomial with complex coefficients. The algorithm starts by checking the polynomial for the occurrence of very large or very small roots. If necessary, the coefficients are rescaled by a rescaling of the variable. In the algorithm, proper roots are found one by one and generally in increasing size. After each root is found, the polynomial is deflated by dividing off the corresponding linear factor. Indeed, the factorization of the polynomial into the linear factor and the remaining deflated polynomial is already a result of the root-finding procedure. The root-finding procedure has three stages that correspond to different variants of the inverse power iteration. See Jenkins and Traub. A description can also be found in Ralston and Rabinowitz p. 383. The algorithm is similar in spirit to the two-stage algorithm studied by Traub.

Root-finding procedure Starting with the current polynomial P(X) of degree n, the aim is to compute the smallest root α {\displaystyle \alpha } of P(x). The polynomial can then be split into a linear factor and the remaining polynomial factor P ( X ) = ( X − α ) H ¯ ( X ) {\displaystyle P(X)=(X-\alpha ){\bar {H}}(X)} Other root-finding methods strive primarily to improve the root and thus the first factor. The main idea of the Jenkins-Traub method is to incrementally improve the second factor. To that end, a sequence of so-called H polynomials is constructed. These polynomials are all of degree n − 1 and are supposed to converge to the factor H ¯ ( X ) {\displaystyle {\bar {H}}(X)} of P(X) containing (the linear factors of) all the remaining roots. The sequence of H polynomials occurs in two variants, an unnormalized variant that allows easy theoretical insights and a normalized variant of H ¯ {\displaystyle {\bar {H}}} polynomials that keeps the coefficients in a numerically sensible range. The construction of the H polynomials ( H ( λ ) ( z ) ) λ = 0 , 1 , 2 , … {\displaystyle \left(H^{(\lambda )}(z)\right)_{\lambda =0,1,2,\dots }} is guided by a sequence of complex numbers ( s λ ) λ = 0 , 1 , 2 , … {\displaystyle (s_{\lambda })_{\lambda =0,1,2,\dots }} called shifts. These shifts themselves depend, at least in the third stage, on the previous H polynomials. The H polynomials are defined as the solution to the implicit recursion

… excerpt ends here. Continue reading the full article.

Worked examples

Example 1 — a first encounter with Jenkins–Traub algorithm

Start with the simplest possible case. Write down what Jenkins–Traub algorithm claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Jenkins–Traub algorithm before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Jenkins–Traub algorithm ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Jenkins–Traub algorithm

In research
Jenkins–Traub algorithm appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Jenkins–Traub algorithm in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Jenkins–Traub algorithm is common in secondary-school and first-year university syllabi. It links to neighbouring topics Numerical analysis, Polynomial factorization algorithms, so understanding it makes those chapters shorter.
In everyday life
Look for Jenkins–Traub algorithm outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Jenkins–Traub algorithm” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Jenkins–Traub algorithm in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Jenkins–Traub algorithm means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Jenkins–Traub algorithm out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Jenkins–Traub algorithm in simple terms?

The Jenkins–Traub algorithm for polynomial zeros is a fast globally convergent iterative polynomial root-finding method published in 1970 by Michael A. Jenkins and Joseph F.

Why does Jenkins–Traub algorithm matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Jenkins–Traub algorithm?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Jenkins–Traub algorithm.

Tags

  • Numerical analysis
  • Polynomial factorization algorithms

Keep exploring