1

How is Newtons method used to find multiple polynomial roots?

I’m reading here on Wikipedia that “When one root r has been found, one may use Euclidean division for removing the factor x – r from the polynomial.” and then “To reduce this error, one may, for each root that is found, restart Newton's method with the original polynomial, and this approximate root as starting value”.

I think restarting the method using approximate root as a starting value would only give a better approximation of the first root found and not the second.

If an example can be provided that would be helpful.

I’m working off the following pictures: a b

Ref: link

notaorb
  • 143
  • 6
  • 1
    Welcome to Math SE. Regarding your statement "... using approximate root as a starting value would only give a better approximation of the first root found and not the second", that's true if the approximate root is the first root found. However, if it's the second one, then Newton's method should then instead usually give a better approximation of the second root found. Is this what you're asking about, or am I misunderstanding? – John Omielan Sep 21 '24 at 04:33
  • I think your wording is correct. I’m trying to understand how to use Newtons method to find all the roots. So far in my reading using the method repeatedly only finds a better approximation to the first root correct? – notaorb Sep 21 '24 at 06:28
  • See also https://math.stackexchange.com/a/3455757/589 – lhf Sep 21 '24 at 10:36
  • @notaorb -- You added two pictures about Newtons method to your query. This is only part of the procedure finding several or all roots of a polynomial, the other part is polynomial division. Please don't mistake the statement in the blue box you show, "the next approximation" is not next root of the polynom, it's just a better approximation of the same root. – m-stgt Sep 28 '24 at 20:22
  • Understood I’m still trying to verify the method as Yves answer below eludes to – notaorb Sep 28 '24 at 22:08
  • @notaorb -- As you supplemented your query I added some hints to my answer. – m-stgt Sep 28 '24 at 22:39

2 Answers2

2

The challenge of computing multiple roots with Netwon's method is to find good starting approximations of each of them (good enough that the iterations do converge to the respective roots).

The method explained in Wikipedia to obtain these initial approximations is to solve the deflated equations, i.e. what you obtain by dividing the polynomial by the binomials $x-r_k$, so that the reduced polynomial does not have $r_k$ as a root (but still has the next ones).

When you have a good starting value for all roots, Newton's iterations with the full polynomial will perform equally well for all roots. You need the refinement steps because deflation introduces inaccuracies.


Note that nothing is said about which starting value to choose to solve for the first root nor for those of the deflated polynomials.


Simplistic example: $x^2-2=0$.

  • Iterations for the first root: $1, 1.5, 1.41666$
  • Deflated polynomial: $x+1.41666$
  • Iterations for the second root: $1,-1.41666,-1.41666$
  • Final iterations for the first root: $1.41666,1.4142156747561,1.4142135623747$
  • Final iterations for the second root: $-1.41666,-1.4142156747561,-1.4142135623747$
  • 2
    "because deflation introduces inaccuracies" -- could you please show that a bit more detailed? – m-stgt Sep 21 '24 at 08:56
  • 3
    Your "Deflated polynomial" is missing the remnant $\displaystyle\frac{0.00693}{x-1.41666}$ what actually is the reason why a "restart of Newton's method with the original polynomial" will "reduce this error" as mentioned in OP. – m-stgt Sep 21 '24 at 13:15
  • I added a couple of pictures to OP. So I follow the method until $f(r_k) < \epsilon$ to get the first root? Then form the binomial $b(x) = x - r_k$ and divide the original polynomial by this, $h(x) = \frac {f(x)} {b(x)}$ using polynomial division. Then perform the method on $h(x)$ where $x_0$ can by any value to find $r_{k+1}$? Keep repeating this will find all roots? Now you say find good starting value for all roots, do you mean starting the method from original $f(x)$ for $r_n, n=0,…,n$ where $n$ is total roots found earlier? This will have better approx for all roots? – notaorb Sep 27 '24 at 22:18
  • Also, slightly off topic is Newtons method the most ideal way to find all roots or is there a better method I should consider? – notaorb Sep 27 '24 at 22:22
  • For my comment starting from original polynomial, I was describing starting the method over again for each root found as a starting point $x_0 = r_n, n=1,…,z$ where $z$ is total roots found earlier. – notaorb Sep 27 '24 at 22:25
1

Taking as example a simple polynomial $(x-a)(x-b)(x-z)\tag{1}$ with $z$ the first root that Newton found by chance. Then you may, after defining $x-z\ne0$, divide $(1)$ by $(x-z)$ and attack the remaining roots by solving $(x-a)(x-b)\tag{2}$ -- so far the theory.

But because Newton's method is an approximation it returns $z\pm r$ with $r$ a little error, simplified in the following as $r$. Now dividing $(1)$ by $(x-(z+r))$ will not reduce it, since $\displaystyle\frac{x-z}{x-z-r}\tag{3}$ is not $1$. Taking only its first three terms of Taylor at $z$ it's $\approx\displaystyle -\frac{1}{r}\left(x-z\right)-\frac{1}{r^2}\left(x-z\right)^2-\frac{1}{r^3}\left(x-z\right)^3\tag{4}$what is for sure close to $1$, alas not exactly. Thus, after Euclidean division of $(1)$ with approximated $z$ you'll try to solve $\displaystyle(x-a)(x-b)\left(-\frac{1}{r}\left(x-z\right)-\frac{1}{r^2}\left(x-z\right)^2-\frac{1}{r^3}\left(x-z\right)^3\right)\tag{5}$ -- no chance to get $a$ or $b$ of original polynomial $(1)$.

That is why it's a good idea to have Newton run $(1)$ again with a "near hit" found for $(5)$.

After you supplemented your query with details about Newton's method, some additional remarks.
Within the process of finding several or (if possible) all roots of a polynomial Newton's method is only one component to introduce errors, the second is polynomial division. If you "work off Newtons method" only, you ignore a source of errors.

Newton's method is an approximation. Thus if your pocket calculator (or system you use) returns an integer as root found by Newton, the error is smaller than your calculette with 10..12 mantissa digits may show -- in fact, the result is rounded and may by chance be an integer. If the following polynomial division, an Euclidean division, produces no rest (whew!), you may continue your quest for roots with the reduced polynomial.
If not, and you ignore/drop/neglect the remnant of the Euclidean division (as described by Yves Daoust and called "deflation"), the "deflated polynomial" will not have the same roots than the original polynomial.

Still not convinced? Here an example with numbers: The polynomial $(x-2/7)(x-9)^2=\displaystyle\frac{7x^3-128x^2+603x-162}{7}$ has deliberately one root not representable as decimal. This is to demonstrate the error of Newton running on a pocket calculator (or similar system).
The first root found starting with $x_0=1$ is $0.2857142857$, but since polynomial division is daunting if you do have to do it manually, you round this result to $0.2857143$. The polynomial division yields
$x^2-17.9999999857x+80.9999997469$ with rest $0.0000010848396137$
This rest shows, the reduced polynomial is only close to the original, its roots are not the same as those of the original, they must be verified using the original polynomial.
As the reduced polynomial is a quadratic I take the shortcut w/o Newton and get the roots $x_1=8.99964716175,x_2=9.00035282397$ while it should be $x_{1/2}=9$, an effect of dropping the remnant of the Euclidean division.

The situation may even be worse. To demonstrate this I simulate a slightly bigger error in the result of the first root approximation by cutting off few digits to $0.28571$. Then the polynomial division yields
$x^2-18.0000042857x+81.0000759184$ with a remnant of $-0.000325452215165$
This quadratic has no real roots while the original polynomial has.

m-stgt
  • 575
  • I don't follow you. After deflation, you work with a quadratic polynomial, which is an approximation of $(x-a)(x-b)$, not with your cubic $(5)$. –  Sep 21 '24 at 08:27
  • 1
    @YvesDaoust -- You only will get a quadratic polynomial by deflation iff Newton found $z$ exact, what may happen by chance but typically not since Newton's method is an approximation. Then deflation isn't what I tried to show with the Taylor expansion. BTW, $(5)$ is a bit more than just cubic.
    In short, $(5)$ is what you call "an approximation of $(x-a)(x-b)$"
    – m-stgt Sep 21 '24 at 08:49
  • 1
    No, this is not how deflation works. –  Sep 21 '24 at 09:25
  • 1
    @YvesDaoust -- is Euclidean division the same as deflation? OP asked for Euclidean division. Please explain. – m-stgt Sep 21 '24 at 10:25
  • Why don't you lookup deflation? –  Sep 21 '24 at 10:28
  • @YvesDaoust -- Why can't you show a link to a good explanation? I did look for "deflation, math" and got a German Wikipedia article about converting a matrix to "Blockdreiecksform", alas no translation found. Can't see a relation with Euclidean division. – m-stgt Sep 21 '24 at 10:44
  • Deflation: Use a numerical method (e.g., Newton's method, bisection, or other algorithms) to find one root of the polynomial, say

    r.

    Deflate the Polynomial: After finding the root

    r, divide the original polynomial

    (

    ) p(x) by (

    ) (x−r), which gives a reduced polynomial of lower degree. This step is called deflation because it "removes" the found root from the polynomial, simplifying the problem.

    Repeat: Apply the same root-finding method to the deflated polynomial to find additional roots. The process continues until all roots are found.

    –  Sep 21 '24 at 10:58
  • 2
    @YvesDaoust so deflation is the step the Wikipedia article refers to without actually calling it deflation? – notaorb Sep 21 '24 at 16:54