Chapter 3 Interpolation and Polynomial Approximation 3.1 Interpolation and the Lagrange Polynomial 3.1.1 Lagrangian Form Consider a polynomial of degree (n 1): P(x) = a1x n-1 + a2x n-2 +... + an-1x + an where the ai are constants. The polynomial can be written in Lagrangian form: P(x) = c1(x 2) (x 3)... (x n) + c2(x 1) (x 3)... (x n) + ... ci(x 1) (x 2) ... (x i-1) (x i+1) ... (x n) + ... cn(x 1) (x 2)... (x n-1) where i, i = 1, 2, ..., n are arbitrary scalars, while the constants ci are related to the constants ai. Example 3.1-1 _____________________________________________________ Write the polynomial P(x) = x 2 4x + 3 in the Lagrangian form. Solution The Lagrangian form for P(x) = x 2 4x + 3 is P(x) = c1(x 2) (x 3) + c2(x 1) (x 3) + c3(x 1) (x 2) where i, i = 1, 2, 3 are arbitrary scalars. Let 1 = 1, 2 = 2, 3 = 3, then P(x) = c1(x 2) (x 3) + c2(x 1) (x 3) + c3(x 1) (x 2) The constants c1 can be evaluated from the above relation by substituting x = 1 = 1 P(x = 1) = 1 4 + 3 = c1(1 2) (1 3) c1 = 0 For x = 2 = 2 P(x = 2) = 4 8 + 3 = c2(2 1) (2 3) c2 = 1 For x = 3 = 3 P(x = 3) = 9 12 + 3 = c3(3 1) (3 2) c3 = 0 3-1 The Lagrangian form for the polynomial is P(x) = (x 1)(x 3) Let 1 = 2, 2 = 1, 3 = 2, then P(x) = c1(x + 1) (x 2) + c2(x + 2) (x 2) + c3(x + 2) (x + 1) The constants ci can be evaluated to obtain: c1 = 3.7500, c2 = -2.6667, and c3 = -0.0833. The Lagrangian form for the polynomial is P(x) = 3.7500 (x + 1) (x 2) 2.6667 (x + 2) (x 2) 0.0833 (x + 2) (x + 1) A short form notation for P(x) is n n c (x P(x) = i 1 n where (x k 1,#i k i k 1,#i k ) ) denotes product of all terms (x k), for k varying from 1 to n except i. Let x = i then P(i) = ci(i 1) (i 2) ... (i i-1) (i i+1) ... (i n) The constant ci can be expressed as ci = P( i ) n ( k 1,#i i k ) 3.1.2 Polynomial Approximation Consider a function f(x) that passes through the two distinct points (x0, f(x0)) and (x1, f(x1)) as shown in Figure 3.1-1. The first order polynomial that approximates the function between these two points can be expressed as P(x) = a + bx where a and b are constants. P(x) can also be written in Lagrangian form as P(x) = c0(x x1) + c1(x x0) 3-2 f(x2) f(x1) f(x) f(x) f(x1) f(x0) f(x0) x2 x1 x0 x0 x1 x Figure 3.1-1 First and second order polynomial approximation. x where ci = P ( xi ) n (x k 0 ,#i i xk ) or c0 = P ( x0 ) f ( x0 ) = , and ( x 0 x1 ) ( x 0 x1 ) c1 = P ( x1 ) f ( x1 ) = ( x1 x0 ) ( x1 x0 ) The approximating polynomial is finally P(x) = ( x x0 ) ( x x1 ) f(x0) + f(x1) ( x 0 x1 ) ( x1 x 0 ) The first order polynomial basis function L0(x) is defined as L0(x) = 1 at x x0 ( x x1 ) = ( x 0 x1 ) 0 at x x1 Similarly, the first order polynomial basis function L1(x) is defined as L1(x) = 1 at ( x x0 ) = ( x1 x 0 ) 0 at x x1 x x0 In terms of the basis function, P(x) can be written as P(x) = L0(x) f(x0) + L1(x) f(x1) If a second order polynomial is used to approximate the function using three points (x0, f(x0)), (x1, f(x1)), and (x2, f(x2)) then 3-3 P(x) = ( x x0 )( x x1 ) ( x x0 )( x x 2 ) ( x x1 )( x x 2 ) f(x0) + f(x1) + f(x2) ( x0 x1 )( x0 x 2 ) ( x 2 x0 )( x 2 x1 ) ( x1 x0 )( x1 x 2 ) P(x) can also be written in terms of the second order polynomial basis function L2,k(x) P(x) = L2,0(x) f(x0) + L2,1(x)f(x1) + L2,2(x)f(x2) where L2,0(x) = ( x x1 )( x x 2 ) = ( x0 x1 )( x0 x 2 ) 0 at 1 at x x0 x x1 and x x2 at In general: L2,k(xk) = 1 at node k, L2,k(xi) = 0 at other nodes. We now seek a polynomial P(x) of degree n that interpolates a given function f(x) between the node xi of the grid for which there are n+1 nodes x0, x1, , xn and P(xk) = f(xk) for each k = 1, 2, , n The polynomial is given by P(x) = Ln,0(x) f(x0) + Ln,1(x) f(x1) + + Ln,n(x)f(xn) = n L n ,k ( x ) f(xk) k 0 n where Ln,k(x) = ( x xi ) ; Ln,k(xi) = 0 and Ln,k(xk) = 1 k xi ) (x i 0, k Polynomial approximation constitutes the foundation upon which we shall build the various numerical methods. The approximation P(x) to f(x) is known as a Lagrange interpolation polynomial, and the function Ln,k(x) is called a Lagrange basis polynomial. Example 3.1-2 _____________________________________________________ Find the Lagrange interpolation polynomial that takes the values prescribed below xk 0 1 f(xk) 1 1 2 2 Solution 3 P(x) = L k 0 3, k ( x ) f(xk) P(x) = ( x 1)( x 2)( x 4) ( x 0)( x 2)( x 4) (1) + (1) (0 1)( 0 2)( 0 4) (1 0)(1 2)(1 4) + ( x 0)( x 1)( x 2) ( x 0)( x 1)( x 4) (2) + (5) ( 2 0)( 2 1)( 2 4) ( 4 0)( 4 1)( 4 2) 3-4 4 5 When working with grids having large numbers of intervals one typically assigns a set of low degree (n = 1, 2, or 3) basis functions to each adjacent set of n+1 = 2, 3, or 4 nodes. Example 3.1-3 _____________________________________________________ Use global interpolation by one polynomial and piecewise polynomial interpolation with quadratic for the following nodes. xk 0 0 f(xk) 1 16 2 48 4 88 5 0 Solution 4 Global interpolation by one polynomial: P(x) = L 4 ,k ( x ) f(xk) k 0 P(x) = ( x 1)( x 2)( x 4)( x 5) ( x 0)( x 2)( x 4)( x 5) (0) + (16) (0 1)( 0 2)( 0 4)( 0 5) (1 0)(1 2)(1 4)(1 5) + ( x 0)( x 1)( x 4)( x 5) ( x 0)( x 1)( x 2)( x 5) (48) + (88) + 0 (2 0)( 2 1)( 2 4)( 2 5) (4 0)( 4 1)( 4 3)( 4 5) Piecewise polynomial interpolation with quadratic P(x) = ( x 0)( x 2) ( x 0)( x 1) ( x 1)( x 2) (0) + (16) + (48); ( 2 0)( 2 1) (0 1)( 0 2) (1 0)(1 2) 0x2 P(x) = ( x 4)( x 5) ( x 2)( x 5) ( x 2)( x 4) (48) + (88) + (0); (2 4)( 2 5) (4 2)( 4 5) (5 2)(5 4) 2x5 The error En(x) associated with the interpolation of f(x) by Pn(x) over the interval [x0, xn] can be estimated as En(x) = f(x) Pn(x) = Wn ( x ) d n 1 f () (n 1)! dx n 1 where is some number lying in the open interval (x0, xn) and Wn(x) = (x x0)(x x1) (x xn) When the spacial increments are uniform xk+1 xk = h, k = 0, 1, 2, , n-1 3-5 Let x = x0 + h, since x1 = x0 + h x x1 = ( 1)h xn = x0 + nh x xn = ( n)h Wn(x) = (x x0)(x x1) (x xn) = (h)[( 1)h] [( n)h] The error associated with interpolation is then En(x) = Wn ( x ) d n 1 f d n 1 f 1 ( ) = ( h)[( 1)h] [( n)h] () (n 1)! dx n 1 (n 1)! dx n 1 The only variable in the above expression is h the spacing of the nodes, therefore En(x) = Chn+1, x0 < < xn where C is a coefficient independent of h. We can therefore write En(x) = O(hn+1) meaning that the ratio En(x)/ hn+1 is bounded by a constant as h 0. As the increment h decreases, so also will the interpolation error En. Example 3.1-4 _____________________________________________________ For the function f(x) = ln(x + 1), construct interpolation polynomials of degree one and two to approximate f(0.45) from the given nodes. Find the error bound and the actual error. xk ln(x + 1) 0 1 0.6 0.47000 0.9 0.64185 Solution First degree polynomial P1(x) = x 0 .6 x0 (0) + (0.47) = 0.78334x 0 0 .6 0.6 0 P1(0.45) = 0.3525 Error bound: En(x) = E1(x) = | d n 1 f 1 (x x0)(x x1) (x xn) () dx n 1 (n 1)! f " ( ) (x x0)(x x1)| 2! 3-6 f(x) = ln(x + 1) f’(x) = E1(x) = | 1 1 1 f”(x) = f””(x) = 2 x 1 ( x 1) 3 ( x 1) 1 1 (0.45 0)(0.45 0.6)| = 3.37510-2 2 (0 1) 2 Actual error = |ln(1 + 0.45) P1(0.45)| = 1.90610-2 Second degree polynomial ( x 0.6)( x 0.9) ( x 0)( x 0.9) (0) + (0.47) (0 0.6)( 0 0.9) (0.6 0)( 0.6 0.9) ( x 0)( x 0.6) + (0.64185) (0.9 0.6)( 0.9 0.6) P2(x) = P2(0.45) = 0.36829 Error bound: E2(x) = | E2(x) = | f " ' ( ) (x x0)(x x1)(x x2)| 3! 1 1 (0.45 0)(0.45 0.6)(0.45 0.9)| = 1.012510-2 2 (0 1) 6 Actual error = |ln(1 + 0.45) P2(0.45)| = 3.272910-3 3-7