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 with distinct 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.
Mathematical Formulation
A Newton interpolating polynomial for points 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 represents the -th order divided difference of the function evaluated at points .
Divided Differences: For a set of points , the divided differences are defined recursively:
Zero-th order divided difference:
First order divided difference:
For :
Higher order divided differences:
For :
and so forth for even higher orders.
Derivation
Consider the cubic case for intuition (the process generalizes to higher degrees):
I. At :
II. At :
Substitute into :
Since :
III. At :
Substitute :
Rearranging terms leads to:
Similarly, higher order coefficients () can be obtained, which correspond to higher order divided differences. In general:
Algorithm Steps
I. Data Preparation:
Given sorted so that .
II. Compute Divided Differences:
- Start by listing the -values as the zeroth order divided differences.
- Compute the first order divided differences:
- Use these to compute the second order divided differences, and so on, until you have .
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:
IV. Use the Polynomial for Interpolation:
Substitute the desired -value into to get the interpolated -value.
Example
Consider points .
Zeroth order differences (just -values):
First order differences:
Second order difference:
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:
This matches exactly the polynomial you would get if you used Lagrange or any other method for these points.
Advantages
- When a new data point is added, you can perform incremental updating of the polynomial by computing a new set of divided differences without starting over from scratch.
- Newton’s polynomial produces the same interpolating polynomial as Lagrange interpolation or any other form of interpolation.
- The nested form of Newton’s polynomial, such as , is often numerically more stable for evaluating and updating the polynomial.
Limitations
- As the number of data points grows large, the computation and maintenance of higher order divided differences can become computationally intensive.
- Like any polynomial interpolation, Newton’s polynomial can suffer from Runge’s phenomenon if the points are not well-distributed, causing oscillations in the polynomial approximation.