Solving Nonlinear Equations
Root r
Nonlinear Equations
Given function f, we find value x for which
Solution x is a root of equation, or zero of
function f
So problem is known as root finding or zero
finding
Numerical Methods © Wen-Chieh Lin 2
Nonlinear Equations: two cases
Single nonlinear equation in one unknown, where
Solution is scalar x for which f(x) = 0
System of n coupled nonlinear equations in n
unknowns, where
Solution is vector x for which all components of f
are zero simultaneously, f(x) = 0
Numerical Methods © Wen-Chieh Lin 3
Examples: Nonlinear Equations
Example of 1-D nonlinear equation
for which x = 0.3604 is one approximate solution
Example of system of nonlinear equations in two
dimensions
for which x = [-1.8, 0.8] is one approximate
solution vector
Numerical Methods © Wen-Chieh Lin 4
Multiplicity
If f(R) = f’(R) = f”(R) = … = f(m-1)(R) = 0 but f(m)
(R) ≠ 0, then root R has multiplicity m
If m = 1 (f(R) = 0, f’(R) ≠ 0 ), then R is simple
root
Numerical Methods © Wen-Chieh Lin 5
Interval Halving (Bisection)
Bisection method begins with initial bracket and
repeatedly halves its length until solution has been
isolated as accurately as desired
while |b-a| > tol,
m = (b+a)/2;
If f(a)*f(m) < 0,
b = m;
else a m b
a = m;
end;
end;
Numerical Methods © Wen-Chieh Lin 6
Properties of Bisection
Simple and guaranteed to work if
f is continuous in [a, b]
[a, b] brackets a root
Needed iterations to achieve a specified
accuracy is known in advance
Error after n iterations < |b - a| / 2n
Slow to converge
Numerical Methods © Wen-Chieh Lin 7
Proper Use of Bisection
Good for initial guess for other root finding
algorithms
Finding the initial bracket may be a problem if
f is not given explicitly
Use graphing to assist root finding
Set the initial bracket
Detect multiple roots
Numerical Methods © Wen-Chieh Lin 8
Can we find a root in a better way?
Bisection only utilizes function values f(x)
We can find a root with fewer iterations if
other information is used
Linear approximation of f(x)
Secant line secant method
Tangent line Newton’s method
Polynomial approximation of f(x)
Muller’s method
Numerical Methods © Wen-Chieh Lin 9
Secant Method
Approximate a function by a straight line
Compute the intersection of the line and x-axis
Root r
Numerical Methods © Wen-Chieh Lin 10
Secant Method (cont.)
Update endpoints
Repeat
Root r
Numerical Methods © Wen-Chieh Lin 11
Example
f(x) = 3x + sin(x) – exp(x)
Find the root in [0, 1]
1.5
0.5
-0.5
-1
0 0.5 1 1.5 2
Numerical Methods © Wen-Chieh Lin 12
Problem of secant method
Remedy
Always bracket a root in the interval [x0, x1]
How to do this?
Numerical Methods © Wen-Chieh Lin 13
Method of False Position
Update the intersection as the bisection does
Start with [x0, x1] that bracket a root
Repeat
If f(x2)f(x0) < 0, Set x1 = x2
Else x0 = x2
Root r
Until |f(x2)| < tolerance value
Numerical Methods © Wen-Chieh Lin 14
Newton’s method
Better approximation using the first derivative
Numerical Methods © Wen-Chieh Lin 15
Interpretation of Newton’s method
Truncated Taylor series
is a linear function of h approximating f near x
Replace the nonlinear function f by this linear
function, whose zero is h = - f(x)/f’(x)
Zeros of the original function and linear
approximation are not identical, so repeat
process
Numerical Methods © Wen-Chieh Lin 16
Comparison of Secant and
Newton’s methods
Secant method Newton’s method
Numerical Methods © Wen-Chieh Lin 17
Pros and Cons of Newton’s method
Pros
efficient
Cons
Need to know the derivative function
Numerical Methods © Wen-Chieh Lin 18
When will Newton’s method not converge?
passing
maximum/minimum
x1=x6, loop
Numerical Methods © Wen-Chieh Lin 19
Muller’s method
Instead of linear approximation, Muller’s
method uses quadratic approximate
Evaluation of derivatives are not required
See the textbook for details
Numerical Methods © Wen-Chieh Lin 20