Numerical Analysis
- Advanced Topics in Root
Finding -
Hanyang University
Jong-Il Park
Summary: Root Finding
Department of Computer Science and Engineering, Hanyang University
Error analysis of N-R method
Taylor series:
Newton-Raphson method:
--- (1)
At the true solution xr :
--- (2)
(1) (2) :
Let
Quadratic
convergence!
Department of Computer Science and Engineering, Hanyang University
Error Analysis of Secant Method
Convergence [Jeeves, 1958]
More efficient than N-R method if the calculation of f’(x)
is complex
Modified secant method
f ' ( xi )
x i 1 x i
f ( xi )
f ' ( xi )
f ( xi xi ) f ( xi )
xi
x i 1 x i
xi f ( xi )
f ( xi xi ) f ( xi )
Department of Computer Science and Engineering, Hanyang University
Multiple roots
Bracketing methods cannot cope with
multiple roots
Open methods can find multiple roots
But the speed is slow in many cases
f’(x)0 will cause a problem(divide by zero)
f(x) will always reach zero before f’(x)
[Ralston and Rabinowitz, 1978]
if a zero check for f(x) is incorporated into
the program, the computation can be
terminated before f’(x) reaches zero
Alternative way using u(x)=f(x)/f’(x)
x i 1 x i
f ( xi ) f ' ( xi )
[ f ' ( x i )] f ( x i ) f ' ' ( x i )
2
Department of Computer Science and Engineering, Hanyang University
Polynomial evaluation
Bad method
Worst method
Best method
C code
Department of Computer Science and Engineering, Hanyang University
Polynomial differentiation
or
Department of Computer Science and Engineering, Hanyang University
N-th derivatives
Department of Computer Science and Engineering, Hanyang University
Polynomial deflation
Multiplication by (x-a)
Synthetic division by (x-a)
Department of Computer Science and Engineering, Hanyang University
Bairstow’s method
Deflation method
f n ( x ) a 0 a1 x a n x
n
f n ( x ) ( x rx s )( b 2 b3 x b n x
2
n2
) b1 ( x r ) b0
Find r and s such that b0=b1=0
Efficient routine using synthetic division exists
Good initial guess of r, s is important
Complex roots can be evaluated
Suitable for root polishing
In Numerical Recipes in C
void qroot();
Read Sect.7.5.
Department of Computer Science and Engineering, Hanyang University
Laguerre method
Deflation method
Algorithm derivation
In Numerical Recipes in C: zroots() calls laguer();
Department of Computer Science and Engineering, Hanyang University
Application of Root Finding:
Electric circuit design(1/2)
Problem: Find the proper R to dissipate energy to 1%
at a specified rate(t=0.05s), given L=5H, C=10-4 F.
Solution:
f (R) e
Rt /( 2 L )
cos
2
R
q
t
LC 2 L q 0
1
Department of Computer Science and Engineering, Hanyang University
Application of Root Finding:
Electric circuit design(2/2)
f (R) e
0 . 005 R
cos
2000 0 . 01 R 0 . 05 0 . 01
2
• Reasonable initial range for R:
0< R < 400
• To achieve r.e. of 10-4 %
Bisection method: 21 iterations
Other methods: ?
• To achieve r.e. of 10-6 %
Bisection method: ? iterations
Other methods: ?
[Homework]
Department of Computer Science and Engineering, Hanyang University
Homework #4
[Due: 10/17]
Find the root of f(R)=0 and the number of iterations
when the r.e.=10-4 and 10-6 respectively.
f (R) e
0 . 005 R
cos
2000 0 . 01 R 0 . 05 0 . 01
2
Solve the problems: 8-31, 32
Explain the concept of “pointer to function” and
describe how you use it in your homework #3.
Department of Computer Science and Engineering, Hanyang University