Last modified: August 27, 2024

This article is written in: 🇺🇸

Newton’s Polynomial

Newton’s Polynomial, often referred to as Newton’s Interpolation Formula, is another classical approach to polynomial interpolation. Given a set of data points (x0,y0),(x1,y1),,(xn,yn) with distinct xi values, Newton’s method constructs an interpolating polynomial in a form that makes it easy to add additional data points without recomputing the entire polynomial. This form involves divided differences, which are incremental ratio measures that help build the polynomial step by step.

While the end result is equivalent to that of Lagrange interpolation, Newton’s form is particularly convenient when data points are added incrementally. The polynomial can be updated by incorporating a new divided difference term without completely starting over.

newton_polynomial

Mathematical Formulation

A Newton interpolating polynomial for n+1 points (xi,yi) can be written as:

$$P(x) = f[x_0] + fx_0,x_1 + fx_0,x_1,x_2(x - x_1) + \cdots + f[x_0,x_1,\ldots,x_n] (x - x_0)(x - x_1)\cdots(x - x_{n-1})$$

where f[x0,x1,,xk] represents the k-th order divided difference of the function f evaluated at points x0,x1,,xk.

Divided Differences: For a set of points (xi,yi), the divided differences are defined recursively:

Zero-th order divided difference:

f[xi]=yi

First order divided difference:

For ij:

f[xi,xj]=f[xj]f[xi]xjxi

Higher order divided differences:

For i<j<k:

f[xi,xj,xk]=f[xj,xk]f[xi,xj]xkxi

and so forth for even higher orders.

Derivation

Consider the cubic case for intuition (the process generalizes to higher degrees):

P3(x)=a0+(xx0)a1+(xx0)(xx1)a2+(xx0)(xx1)(xx2)a3

I. At x=x0:

P3(x0)=a0=y0.

II. At x=x1:

Substitute x1 into P3(x):

y1=P3(x1)=a0+(x1x0)a1.

Since a0=y0:

a1=y1y0x1x0=f[x0,x1]

III. At x=x2:

Substitute x2:

y2=P3(x2)=a0+(x2x0)(a1+(x2x1)a2)

Rearranging terms leads to:

a2=y2y0x2x0y1y0x1x0x2x1=f[x0,x1,x2]

Similarly, higher order coefficients (a3,a4,) can be obtained, which correspond to higher order divided differences. In general:

ak=f[x0,x1,,xk]

Algorithm Steps

I. Data Preparation:

Given (x0,y0),(x1,y1),,(xn,yn) sorted so that x0<x1<<xn.

II. Compute Divided Differences:

f[xi,xi+1]=yi+1yixi+1xifor i=0n1

Usually, this is arranged in a divided difference table, where each column corresponds to divided differences of increasing order.

III. Form the Newton Polynomial:

Once you have all the divided differences:

P(x)=f[x0]+f[x0,x1](xx0)+f[x0,x1,x2](xx0)(xx1)+

IV. Use the Polynomial for Interpolation:

Substitute the desired x-value into P(x) to get the interpolated y-value.

Example

Consider points (1,2),(2,3),(3,5).

Zeroth order differences (just y-values):

f[x0]=2,f[x1]=3,f[x2]=5

First order differences:

f[x0,x1]=3221=1,f[x1,x2]=5332=2

Second order difference:

f[x0,x1,x2]=f[x1,x2]f[x0,x1]x2x0=2131=12=0.5

The Newton polynomial is:

$$P(x)=f[x_0] + fx_0,x_1 + fx_0,x_1,x_2(x - x_1)$$

Substitute the values:

P(x)=2+(1)(x1)+(0.5)(x1)(x2)

This matches exactly the polynomial you would get if you used Lagrange or any other method for these points.

Advantages

Limitations

Table of Contents

    Newton’s Polynomial
    1. Mathematical Formulation
    2. Derivation
    3. Algorithm Steps
    4. Example
    5. Advantages
    6. Limitations