SOLUTION OF NONLINEAR EQUATIONS f(x)=0

Figure 2.17 The starting approximations , and for Muller’s method, and the
differences and .

Muller’s Method
Muller’s method is a generalization of the secant method, in the sense that it does
not require the derivative of the function. It is an iterative method that requires three
starting points , and . A parabola is constructed
that passes through the three points; then the quadratic formula is used to find a root
of the quadratic for the next approximation. It has been proved that near a simple
root Muller ’s method converges faster than the secant method and almost as fast as
Newton’s method. The method can be used to find real or complex zeros of a function
and can be programmed to use complex arithmetic.

Without loss of generality, we assume that is the best approximation to the
root and consider the parabola through the three starting values , shown in Figure 2.17.
Make the change of variable



and use the differences

and .

Consider the quadratic polynomial involving the variable t :

(11) y = at2 + bt + c.

Each point is used to obtain an equation involving a, b, and c:

From the third equation in (12), we see that



Substituting (13) into the first two equations in (12) and using the definition
and results in the linear system

Solving the linear system for a and b results in

The quadratic formula is used to find the roots of (11):

Formula (16) is equivalent to the standard formula for the roots of a quadratic and is
better in this case because we know that .

To ensure the stability of the method, we choose the root in (16) that has the smallest
absolute value. If b > 0, use the positive sign with the square root, and if b < 0,
use the negative sign . Then is shown in Figure 2.17 and is given by



To update the iterates, choose the new and the new to be the two values
selected from among the old that lie closest to (i.e., throw out the one
that is farthest away). Then take new to be old . Although a lot of auxiliary
calculations are done in Muller’s method, it only requires one function evaluation per
iteration.

If Muller’s method is used to find the real roots of f (x) = 0, it is possible that
one may encounter complex approximations, because the roots of the quadratic in (16)
might be complex (nonzero imaginary components). In these cases the imaginary components
will have a small magnitude and can be set equal to zero so that the calculations
proceed with real numbers.

Table 2.12 Comparison of Convergences near a Simple Root

k Secant
method
Muller’s
method
Newton’s
method
Steffensen
with Newton

Comparison of Methods

Steffensen’s method can be used together with the Newton-Raphson fixed-point function
g(x) = x − f (x)/ f '(x). In the next two examples we look at the roots of
the polynomial f (x) = x3 − 3x + 2. The Newton-Raphson function is g(x) =
(2x3 − 2)/(3x2 − 3). When this function is used in Program 2.7, we get the calculations
under the heading Steffensen with Newton in Tables 2.12 and 2.13. For example,
starting with = −2.4, we would compute



and



Then Aitken’s improvement will give = −1.982618143.

Example 2.19 (Convergence near a Simple Root). This is a comparison of methods
for the function f (x) = x3 − 3x + 2 near the simple root p = −2.

Newton’s method and the secant method for this function were given in Examples 2.14
and 2.16, respectively. Table 2.12 provides a summary of calculations for the methods.

Example 2.20 (Convergence near a Double Root). This is a comparison of the methods
for the function f (x) = x3 − 3x + 2 near the double root p = 1. Table 2.13 provides a
summary of calculations.

Newton’s method is the best choice for finding a simple root (see Table 2.12). At a
double root, either Muller’s method or Steffensen’s method with the Newton-Raphson
formula is a good choice (see Table 2.13). Note in the Aitken’s acceleration formula (4)
that division by zero can occur as the sequence converges. In this case, the last
calculated approximation to zero should be used as the approximation to the zero of f .

Table 2.13 Comparison of Convergence Near a Double Root

k Secant
method
Muller’s
method
Newton’s
method
Steffensen
with Newton

In the following program the sequence , generated by Steffensen’s method
with the Newton-Raphson formula, is stored in a matrix Q that has max1 rows and
three columns. The first column of Q contains the initial approximation to the root,
, and the terms generated by Aitken’s acceleration method (4).
The second and third columns of Q contain the terms generated by Newton’s method.
The stopping criteria in the program are based on the difference between consecutive
terms from the first column of Q.

Numerical Methods Using Matlab, 4th Edition, 2004

Prev Next