3.3 Müller’s method
Newton’s method and the secant method approximate \(f\) by a straight line. Müller’s method approximates it by the parabola through the last three iterates and takes the root of the parabola that is nearer to the last iterate. Because a parabola can have complex roots, the method moves off the real axis on its own and can find complex roots of a real polynomial from real starting values.
Given \(x_0, x_1, x_2\), write the parabola through \((x_k,f(x_k))\), \(k = 0,1,2\), in the form \[p(x) = a(x-x_2)^2+b(x-x_2)+c .\] The three conditions give \(c = f(x_2)\) and, with \(h_1 = x_1-x_0\), \(h_2 = x_2-x_1\), \(\delta _1 = \frac {f(x_1)-f(x_0)}{h_1}\), \(\delta _2 = \frac {f(x_2)-f(x_1)}{h_2}\), \[a = \frac {\delta _2-\delta _1}{h_2+h_1},\qquad b = \delta _2+h_2a .\] The roots of \(p\) satisfy \(x-x_2 = \frac {-2c}{b\pm \sqrt {b^2-4ac}}\) (the rationalized quadratic formula of Example 1.2.10). Choosing the sign that makes the denominator larger in modulus gives the root nearer to \(x_2\) and avoids cancellation: \begin {equation} \label {eq:muller} x_3 = x_2-\frac {2c}{b+\sgn (b)\sqrt {b^2-4ac}}, \end {equation} where, for complex \(b\), the sign is chosen so that \(|b\pm \sqrt {b^2-4ac}|\) is the larger of the two. The process is then repeated with \(x_1, x_2, x_3\).
Example 3.3.1. Apply Müller’s method to \(f(x) = x^4-3x^3+x^2+x+1\) with (a) \(x_0 = 0.5\), \(x_1 = -0.5\), \(x_2 = 0\); (b) \(x_0 = 0.5\), \(x_1 = 1\), \(x_2 = 1.5\); (c) \(x_0 = 2.5\), \(x_1 = 2\), \(x_2 = 2.25\).
Solution. (a) First step by hand: \(f(0.5) = 1.4375\), \(f(-0.5) = 1.1875\), \(f(0) = 1\). So \(h_1 = -1\), \(h_2 = 0.5\), \(\delta _1 = 0.25\), \(\delta _2 = -0.375\), and \[a = \frac {-0.375-0.25}{-0.5} = 1.25,\qquad b = -0.375+0.5(1.25) = 0.25,\qquad c = 1 .\] Then \(b^2-4ac = -4.9375\), whose square root is \(2.2220i\): the parabola has no real roots. Both choices of sign give denominators \(0.25\pm 2.2220i\) of equal modulus; taking \(0.25-2.2220i\), \[x_3 = 0-\frac {2}{0.25-2.2220i} = -\frac {2(0.25+2.2220i)}{0.0625+4.9375} = -0.1-0.8888i .\] The method has left the real axis. Continuing:
| \(n\) | \(x_n\) | \(|f(x_n)|\) |
| \(3\) | \(-0.1000000-0.8888194i\) | \(3.0\) |
| \(4\) | \(-0.4921457-0.4470307i\) | \(0.76\) |
| \(5\) | \(-0.3522257-0.4841324i\) | \(0.18\) |
| \(6\) | \(-0.3402286-0.4430356i\) | \(1.6\times 10^{-2}\) |
| \(7\) | \(-0.3390947-0.4466565i\) | \(1.1\times 10^{-4}\) |
| \(8\) | \(-0.3390928-0.4466301i\) | \(1.9\times 10^{-8}\) |
The limit \(-0.3390928-0.4466301i\) is a root, and so is its conjugate.
(b) From these real starting values the parabolas have real roots and the iterates \(1.4063\), \(1.38878\), \(1.3893896\), \(1.3893907\) converge to the real root \(1.3893907\).
(c) The iterates \(2.2866683\), \(2.2888169\), \(2.2887950\) converge to the real root \(2.2887950\).
So the quartic has the four roots \(2.2887950\), \(1.3893907\) and \(-0.3390928\pm 0.4466301i\), all found by one method.
Note. Müller’s method is not guaranteed to converge from every starting point, but in practice it rarely fails, which makes it a standard first method for polynomial roots. Near a simple root its order of convergence is about \(1.84\) (the positive root of \(\alpha ^3 = \alpha ^2+\alpha +1\)), between that of the secant method and Newton’s method, and it needs only one new function value per step.
Questions on this section
Stuck on something here? Ask below and it stays attached to this topic.