3 Polynomial approximations - exact data

Here and in subsections 4 and 5 we consider cases where, rather than knowing an expression for the function, we have a list of point values. Sometimes it is good enough to find a polynomial that passes near these points (like putting a straight line through experimental data). Such a polynomial is an approximating polynomial and this case follows in subsection 4. Here and in subsection 5 we deal with the case where we want a polynomial to pass exactly through the given data, that is, an interpolating polynomial .

3.1 Lagrange interpolation

Suppose that we know (or choose to sample) a function f exactly at a few points and that we want to approximate how the function behaves between those points. In its simplest form this is equivalent to a dot-to-dot puzzle (see Figure 1(a)), but it is often more desirable to seek a curve that does not have“corners" in it (see Figure 1(b)).

Figure 1 :

{(a) Linear, or dot-to-dot, interpolation, with corners at all of the data points. (b) A smoother interpolation of the data points.}

Let us suppose that the data are in the form ( x 1 , f 1 ) , ( x 2 , f 2 ) , ( x 3 , f 3 ) , …, these are the points plotted as crosses on the diagrams above. (For technical reasons, and those of common sense, we suppose that the x -values in the data are all distinct.)

Our aim is to find a polynomial which passes exactly through the given data points. We want to find p ( x ) such that

p ( x 1 ) = f 1 , p ( x 2 ) = f 2 , p ( x 3 ) = f 3 ,

There is a mathematical trick we can use to achieve this. We define Lagrange polynomials L 1 , L 2 , L 3 , which have the following properties:

L 1 ( x ) = 1 , at  x = x 1 , L 1 ( x ) = 0 , at  x = x 2 , x 3 , x 4 L 2 ( x ) = 1 , at  x = x 2 , L 2 ( x ) = 0 , at  x = x 1 , x 3 , x 4 L 3 ( x ) = 1 , at  x = x 3 , L 3 ( x ) = 0 , at  x = x 1 , x 2 , x 4

Each of these functions acts like a filter which “turns off" if you evaluate it at a data point other than its own. For example if you evaluate L 2 at any data point other than x 2 , you will get zero.

Furthermore, if you evaluate any of these Lagrange polynomials at its own data point, the value you get is 1. These two properties are enough to be able to write down what p ( x ) must be:

p ( x ) = f 1 L 1 ( x ) + f 2 L 2 ( x ) + f 3 L 3 ( x ) +

and this does work, because if we evaluate   p   at one of the data points, let us take x 2 for example, then

p ( x 2 ) = f 1 L 1 ( x 2 ) = 0 + f 2 L 2 ( x 2 ) = 1 + f 3 L 3 ( x 2 ) = 0 + = f 2

as required. The filtering property of the Lagrange polynomials picks out exactly the right f -value for the current x -value. Between the data points, the expression for p above will give a smooth polynomial curve.

This is all very well as long as we can work out what the Lagrange polynomials are. It is not hard to check that the following definitions have the right properties.

Key Point 1

Lagrange Polynomials

L 1 ( x ) = ( x x 2 ) ( x x 3 ) ( x x 4 ) ( x 1 x 2 ) ( x 1 x 3 ) ( x 1 x 4 )

L 2 ( x ) = ( x x 1 ) ( x x 3 ) ( x x 4 ) ( x 2 x 1 ) ( x 2 x 3 ) ( x 2 x 4 )

L 3 ( x ) = ( x x 1 ) ( x x 2 ) ( x x 4 ) ( x 3 x 1 ) ( x 3 x 2 ) ( x 3 x 4 )

and so on.

The numerator of L i ( x ) does not contain ( x x i ) .

The denominator of L i ( x ) does not contain ( x i x i ) .

In each case the numerator ensures that the filtering property is in place, that is that the functions switch off at data points other than their own. The denominators make sure that the value taken at the remaining data point is equal to 1.

Figure 2

No alt text was set. Please request alt text from the person who provided you with this resource.

Figure 2 shows L 1 and L 2 in the case where there are five data points (the x positions of these data points are shown as large dots). Notice how both L 1 and L 2 are equal to zero at four of the data points and that L 1 ( x 1 ) = 1 and L 2 ( x 2 ) = 1 .

In an implementation of this idea, things are simplified by the fact that we do not generally require an expression for p ( x ) . (This is good news, for imagine trying to multiply out all the algebra in the expressions for L 1 , L 2 , ….) What we do generally require is   p   evaluated at some specific value. The following Example should help show how this can be done.

Example 3

Let p ( x ) be the polynomial of degree 3 which interpolates the data

x 0.8 1 1.4 1.6 ̲ ̲ ̲ ̲ ̲ f ( x ) 1.82 1.73 1.40 1.11

Evaluate p ( 1.1 ) .

Solution

We are interested in the Lagrange polynomials at the point x = 1.1 so we consider

L 1 ( 1.1 ) = ( 1.1 x 2 ) ( 1.1 x 3 ) ( 1.1 x 4 ) ( x 1 x 2 ) ( x 1 x 3 ) ( x 1 x 4 ) = ( 1.1 1 ) ( 1.1 1.4 ) ( 1.1 1.6 ) ( 0.8 1 ) ( 0.8 1.4 ) ( 0.8 1.6 ) = 0 . 15625 .

Similar calculations for the other Lagrange polynomials give

L 2 ( 1.1 ) = 0.93750 , L 3 ( 1.1 ) = 0.31250 , L 4 ( 1.1 ) = 0.09375 ,

and we find that our interpolated polynomial, evaluated at x = 1.1 is

p ( 1.1 ) = f 1 L 1 ( 1.1 ) + f 2 L 2 ( 1.1 ) + f 3 L 3 ( 1.1 ) + f 4 L 4 ( 1.1 ) = 1.82 × 0.15625 + 1.73 × 0.9375 + 1.4 × 0.3125 + 1.11 × 0.09375 = 1.670938 = 1.67 to the number of decimal places to which the data were given.
Key Point 2

Quote the answer only to the same number of decimal places as the given data (or to less places).

Task!

Let p ( x ) be the polynomial of degree 3 which interpolates the data

x 0.1 0.2 0.3 0.4 ̲ ̲ ̲ ̲ ̲ f ( x ) 0.91 0.70 0.43 0.52

Evaluate p ( 0.15 ) .

We are interested in the Lagrange polynomials at the point x = 0.15 so we consider

L 1 ( 0.15 ) = ( 0.15 x 2 ) ( 0.15 x 3 ) ( 0.15 x 4 ) ( x 1 x 2 ) ( x 1 x 3 ) ( x 1 x 4 ) = ( 0.15 0.2 ) ( 0.15 0.3 ) ( 0.15 0.4 ) ( 0.1 0.2 ) ( 0.1 0.3 ) ( 0.1 0.4 ) = 0 . 3125 .

Similar calculations for the other Lagrange polynomials give

L 2 ( 0.15 ) = 0.9375 , L 3 ( 0.15 ) = 0.3125 , L 4 ( 0.15 ) = 0.0625 ,

and we find that our interpolated polynomial, evaluated at x = 0.15 is

p ( 0.15 ) = f 1 L 1 ( 0.15 ) + f 2 L 2 ( 0.15 ) + f 3 L 3 ( 0.15 ) + f 4 L 4 ( 0.15 ) = 0.91 × 0.3125 + 0.7 × 0.9375 + 0.43 × 0.3125 + 0.52 × 0.0625 = 0.838750 = 0.84 , to 2 decimal places.

The next Example is very much the same as Example 3 and the Task above. Try not to let the specific application, and the slight change of notation, confuse you.

Example 4

A designer wants a curve on a diagram he is preparing to pass through the points

x 0.25 0.5 0.75 1 ̲ ̲ ̲ ̲ ̲ y 0.32 0.65 0.43 0.10

He decides to do this by using an interpolating polynomial p ( x ) . What is the y -value corresponding to x = 0.8 ?

Solution

We are interested in the Lagrange polynomials at the point x = 0.8 so we consider

L 1 ( 0.8 ) = ( 0.8 x 2 ) ( 0.8 x 3 ) ( 0.8 x 4 ) ( x 1 x 2 ) ( x 1 x 3 ) ( x 1 x 4 ) = ( 0.8 0.5 ) ( 0.8 0.75 ) ( 0.8 1 ) ( 0.25 0.5 ) ( 0.25 0.75 ) ( 0.25 1 ) = 0 . 032 .

Similar calculations for the other Lagrange polynomials give

L 2 ( 0.8 ) = 0.176 , L 3 ( 0.8 ) = 1.056 , L 4 ( 0.8 ) = 0.088 ,

and we find that our interpolated polynomial, evaluated at x = 0.8 is

p ( 0.8 ) = y 1 L 1 ( 0.8 ) + y 2 L 2 ( 0.8 ) + y 3 L 3 ( 0.8 ) + y 4 L 4 ( 0.8 ) = 0.32 × 0.032 + 0.65 × 0.176 + 0.43 × 1.056 + 0.1 × 0.088 = 0.358720 = 0.36 to 2 decimal places.

In this next Task there are five points to interpolate. It therefore takes a polynomial of degree 4 to interpolate the data and this means we must use five Lagrange polynomials.

Task!

The hull drag f of a racing yacht as a function of the hull speed, v , is known to be

v 0.0 0.5 1.0 1.5 2.0 ̲ ̲ ̲ ̲ ̲ ̲ f 0.00 19.32 90.62 175.71 407.11

(Here, the units for f and v are N and m s 1 , respectively.)

Use Lagrange interpolation to fit this data and hence approximate the drag corresponding to a hull speed of 2.5 m s 1 .

We are interested in the Lagrange polynomials at the point v = 2.5 so we consider

L 1 ( 2.5 ) = ( 2.5 v 2 ) ( 2.5 v 3 ) ( 2.5 v 4 ) ( 2.5 v 5 ) ( v 1 v 2 ) ( v 1 v 3 ) ( v 1 v 4 ) ( v 1 v 5 ) = ( 2.5 0.5 ) ( 2.5 1.0 ) ( 2.5 1.5 ) ( 2.5 2.0 ) ( 0.0 0.5 ) ( 0.0 1.0 ) ( 0.0 1.5 ) ( 0.0 2.0 ) = 1.0

Similar calculations for the other Lagrange polynomials give

L 2 ( 2.5 ) = 5.0 , L 3 ( 2.5 ) = 10.0 , L 4 ( 2.5 ) = 10.0 , L 5 ( 2.5 ) = 5.0

and we find that our interpolated polynomial, evaluated at x = 2.5 is

p ( 2.5 ) = f 1 L 1 ( 2.5 ) + f 2 L 2 ( 2.5 ) + f 3 L 3 ( 2.5 ) + f 4 L 4 ( 2.5 ) + f 5 L 5 ( 2.5 ) = 0.00 × 1.0 + 19.32 × 5.0 + 90.62 × 10.0 + 175.71 × 10.0 + 407.11 × 5.0 = 1088.05

This gives us the approximation that the hull drag on the yacht at 2.5 m s 1 is about 1100 N.

The following Example has time t as the independent variable, and two quantities, x and y , as dependent variables to be interpolated. We will see however that exactly the same approach as before works.

Example 5

An animator working on a computer generated cartoon has decided that her main character’s right index finger should pass through the following ( x , y ) positions on the screen at the following times t

t 0 0.2 0.4 0.6 ̲ ̲ ̲ ̲ ̲ x 1.00 1.20 1.30 1.25 y 2.00 2.10 2.30 2.60

Use Lagrange polynomials to interpolate these data and hence find the ( x , y ) position at time t = 0.5 . Give x and y to 2 decimal places.

Solution

In this case t is the independent variable, and there are two dependent variables: x and y . We are interested in the Lagrange polynomials at the time t = 0.5 so we consider

L 1 ( 0.5 ) = ( 0.5 t 2 ) ( 0.5 t 3 ) ( 0.5 t 4 ) ( t 1 t 2 ) ( t 1 t 3 ) ( t 1 t 4 ) = ( 0.5 0.2 ) ( 0.5 0.4 ) ( 0.5 0.6 ) ( 0 0.2 ) ( 0 0.4 ) ( 0 0.6 ) = 0.0625

Similar calculations for the other Lagrange polynomials give

L 2 ( 0.5 ) = 0.3125 , L 3 ( 0.5 ) = 0.9375 , L 4 ( 0.5 ) = 0.3125

These values for the Lagrange polynomials can be used for both of the interpolations we need to do. For the x -value we obtain

x ( 0.5 ) = x 1 L 1 ( 0.5 ) + x 2 L 2 ( 0.5 ) + x 3 L 3 ( 0.5 ) + x 4 L 4 ( 0.5 ) = 1.00 × 0.0625 + 1.20 × 0.3125 + 1.30 × 0.9375 + 1.25 × 0.3125 = 1.30 to 2 decimal places

and for the y value we get

y ( 0.5 ) = y 1 L 1 ( 0.5 ) + y 2 L 2 ( 0.5 ) + y 3 L 3 ( 0.5 ) + y 4 L 4 ( 0.5 ) = 2.00 × 0.0625 + 2.10 × 0.3125 + 2.30 × 0.9375 + 2.60 × 0.3125 = 2.44 to 2 decimal places

3.2 Error in Lagrange interpolation

When using Lagrange interpolation through n points ( x 1 , f 1 ) , ( x 2 , f 2 ) , , ( x n , f n ) the error, in the estimate of f ( x ) is given by

E ( x ) = ( x x 1 ) ( x x 2 ) ( x x n ) n ! f ( n ) ( η ) where η [ x , x 1 , x n ]

N.B. The value of η is not known precisely, only the interval in which it lies. Normally x will lie in the interval [ x 1 , x n ] (that’s interpolation ). If x lies outside the interval [ x 1 , x n ] then that’s called extrapolation and a larger error is likely.

Of course we will not normally know what f is (indeed no f may exist for experimental data). However, sometimes f can at least be estimated. In the following (somewhat artificial) example we will be told f and use it to check that the above error formula is reasonable.

Example 6

In an experiment to determine the relationship between power gain ( G ) and power output ( P ) in an amplifier, the following data were recorded.

P 5 7 8 11
G 0.00 1.46 2.04 3.42
  1. Use Lagrange interpolation to fit an appropriate quadratic, q ( x ) , to estimate the gain when the output is 6.5. Give your answer to an appropriate accuracy.
  2. Given that G 10 log 10 ( P 5 ) show that the actual error which occurred in the Lagrange interpolation in 1. lies withing the theoretical error limits.
Solution
  1. For a quadratic, q ( x ) , we need to fit three points and those most appropriate (nearest 6.5 ) are for P at 5 , 7 , 8 : q ( 6.5 ) = ( 6.5 7 ) ( 6.5 8 ) ( 5 7 ) ( 5 8 ) × 0.00 + ( 6.5 5 ) ( 6.5 8 ) ( 7 5 ) ( 7 8 ) × 1.46 + ( 6.5 5 ) ( 6.5 7 ) ( 8 5 ) ( 8 7 ) × 2.04 = 0 + 1.6425 0.5100 = 1.1325 working to  4 d.p. 1.1 (rounding to sensible accuracy)
  2. We use the error formula

    E ( x ) = ( x x 1 ) ( x x n ) n ! f ( n ) ( η ) , η [ x , x 1 , , x n ]

    Here f ( x ) G ( x ) = log 10 ( P 5 ) and n = 3 :

    d ( log 10 ( P 5 ) ) d P = d ( log 10 ( P ) log 10 ( 5 ) ) d P = d ( log 10 ( P ) ) d P = d d P ln P ln 10 = 1 ln 10 1 P

    So d 3 d P 3 log 10 ( P 5 ) = 1 ln 10 2 P 3 .

    Substituting for f ( 3 ) ( η ) :

    E ( 6.5 ) = ( 6.5 6 ) ( 6.5 7 ) ( 6.5 8 ) 6 × 10 ln 10 × 2 η 3 , η [ 5 , 8 ] = 1.6286 η 3 η [ 5 , 8 ]

    Taking η = 5 : E max = 0.0131

    Taking η = 8 :      E min = 0.0031

    Taking  x = 6.5 : E actual = G ( 6.5 ) q ( 6.5 ) = 10 log 10 ( 6.5 5 ) 1.1325 = 1.1394 1.1325 = 0.0069

    The theory is satisfied because E min < E actual < E max .

Task!
  1. Use Lagrange interpolation to estimate f ( 8 ) to appropriate accuracy given the table of values below, by means of the appropriate cubic interpolating polynomial

    x 2 5 7 9 10
    f ( x ) 0.980067 0.8775836 0.764842 0.621610 0.540302

    The most appropriate cubic passes through x at 5 , 7 , 9 , 10

    x = 8 x 1 = 5 , x 2 = 7 , x 3 = 9 , x 4 = 10

    p ( 8 ) = ( 8 7 ) ( 8 9 ) ( 8 10 ) ( 5 7 ) ( 5 9 ) ( 5 10 ) × 0.877583 + ( 8 5 ) ( 8 9 ) ( 8 10 ) ( 7 5 ) ( 7 9 ) ( 7 10 ) × 0.764842 + ( 8 5 ) ( 8 7 ) ( 8 10 ) ( 9 5 ) ( 9 7 ) ( 9 10 ) × 0.621610 + ( 8 5 ) ( 8 7 ) ( 8 9 ) ( 10 5 ) ( 10 7 ) ( 10 9 ) × 0.540302 = 1 20 × 0.877583 + 1 2 × 0.764842 + 3 4 × 0.621610 1 5 × 0.540302 = 0.6966689

    Suitable accuracy is 0.6967 (rounded to 4  d.p.).

  2. Given that the table in 1. represents f ( x ) cos ( x 10 ) , calculate theoretical bounds for the estimate obtained:

    E ( 8 ) = ( 8 5 ) ( 8 7 ) ( 8 9 ) ( 8 10 ) 4 ! f ( 4 ) ( η ) , 5 η 10

    f ( η ) = cos η 10 so f ( 4 ) ( η ) = 1 1 0 4 cos η 10

    E ( 8 ) = 1 4 × 1 0 4 cos η 10 , η [ 5 , 10 ]

    E min = 1 4 × 1 0 4 cos ( 1 ) E max = 1 4 × 1 0 4 cos ( 0.5 )

    This leads to

    0.696689 + 0.000014 True Value 0.696689 + 0.000022

    0.696703 True Value 0.696711

    We can conclude that the True Value is 0.69670 or 0.69671 to 5  d.p. or 0.6967 to 4  d.p. (actual value is 0.696707 ).