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