# Newton polynomial

(Redirected from Newton form)

In the mathematical field of numerical analysis, a Newton polynomial, named after its inventor Isaac Newton,[citation needed] is an interpolation polynomial for a given set of data points. The Newton polynomial is sometimes called Newton's divided differences interpolation polynomial because the coefficients of the polynomial are calculated using Newton's divided difference method.

## Definition

Given a set of k + 1 data points

${\displaystyle (x_{0},y_{0}),\ldots ,(x_{j},y_{j}),\ldots ,(x_{k},y_{k})}$

where no two xj are the same, the Newton interpolation polynomial is a linear combination of Newton basis polynomials

${\displaystyle N(x):=\sum _{j=0}^{k}a_{j}n_{j}(x)}$

with the Newton basis polynomials defined as

${\displaystyle n_{j}(x):=\prod _{i=0}^{j-1}(x-x_{i})}$

for j > 0 and ${\displaystyle n_{0}(x)\equiv 1}$.

The coefficients are defined as

${\displaystyle a_{j}:=[y_{0},\ldots ,y_{j}]}$

where

${\displaystyle [y_{0},\ldots ,y_{j}]}$

is the notation for divided differences.

Thus the Newton polynomial can be written as

${\displaystyle N(x)=[y_{0}]+[y_{0},y_{1}](x-x_{0})+\cdots +[y_{0},\ldots ,y_{k}](x-x_{0})(x-x_{1})\cdots (x-x_{k-1}).}$

### Newton forward divided difference formula

The Newton polynomial can be expressed in a simplified form when

${\displaystyle x_{0},x_{1},\dots ,x_{k}}$


are arranged consecutively with equal spacing. Introducing the notation ${\displaystyle h=x_{i+1}-x_{i}}$ for each ${\displaystyle i=0,1,\dots ,k-1}$

and ${\displaystyle x=x_{0}+sh}$,


the difference ${\displaystyle x-x_{i}}$ can be written as ${\displaystyle (s-i)h}$. So the Newton polynomial becomes

{\displaystyle {\begin{aligned}N(x)&=[y_{0}]+[y_{0},y_{1}]sh+\cdots +[y_{0},\ldots ,y_{k}]s(s-1)\cdots (s-k+1){h}^{k}\\&=\sum _{i=0}^{k}s(s-1)\cdots (s-i+1){h}^{i}[y_{0},\ldots ,y_{i}]\\&=\sum _{i=0}^{k}{s \choose i}i!{h}^{i}[y_{0},\ldots ,y_{i}].\end{aligned}}}

This is called the Newton forward divided difference formula[citation needed].

### Newton backward divided difference formula

If the nodes are reordered as ${\displaystyle {x}_{k},{x}_{k-1},\dots ,{x}_{0}}$, the Newton polynomial becomes

${\displaystyle N(x)=[y_{k}]+[{y}_{k},{y}_{k-1}](x-{x}_{k})+\cdots +[{y}_{k},\ldots ,{y}_{0}](x-{x}_{k})(x-{x}_{k-1})\cdots (x-{x}_{1}).}$

If ${\displaystyle {x}_{k},\;{x}_{k-1},\;\dots ,\;{x}_{0}}$ are equally spaced with ${\displaystyle x={x}_{k}+sh}$ and ${\displaystyle {x}_{i}={x}_{k}-(k-i)h}$ for i = 0, 1, ..., k, then,

{\displaystyle {\begin{aligned}N(x)&=[{y}_{k}]+[{y}_{k},{y}_{k-1}]sh+\cdots +[{y}_{k},\ldots ,{y}_{0}]s(s+1)\cdots (s+k-1){h}^{k}\\&=\sum _{i=0}^{k}{(-1)}^{i}{-s \choose i}i!{h}^{i}[{y}_{k},\ldots ,{y}_{k-i}].\end{aligned}}}

is called the Newton backward divided difference formula[citation needed].

## Significance

Newton's formula is of interest because it is the straightforward and natural differences-version of Taylor's polynomial. Taylor's polynomial tells where a function will go, based on its y value, and its derivatives (its rate of change, and the rate of change of its rate of change, etc.) at one particular x value. Newton's formula is Taylor's polynomial based on finite differences instead of instantaneous rates of change.

As with other difference formulas, the degree of a Newton interpolating polynomial can be increased by adding more terms and points without discarding existing ones. Newton's form has the simplicity that the new points are always added at one end: Newton's forward formula can add new points to the right, and Newton's backward formula can add new points to the left.

The accuracy of polynomial interpolation depends on how close the interpolated point is to the middle of the x values of the set of points used. Obviously, as new points are added at one end, that middle becomes farther and farther from the first data point. Therefore, if it isn't known how many points will be needed for the desired accuracy, the middle of the x-values might be far from where the interpolation is done.

Gauss, Stirling, and Bessel all developed formulae to remedy that problem.[1]

Gauss's formula alternately adds new points at the left and right ends, thereby keeping the set of points centered near the same place (near the evaluated point). When so doing, it uses terms from Newton's formula, with data points and x values renamed in keeping with one's choice of what data point is designated as the x0 data point.

Stirling's formula remains centered about a particular data point, for use when the evaluated point is nearer to a data point than to a middle of two data points.

Bessel's formula remains centered about a particular middle between two data points, for use when the evaluated point is nearer to a middle than to a data point.

Bessel and Stirling achieve that by sometimes using the average of two differences, and sometimes using the average of two products of binomials in x, where Newton's or Gauss's would use just one difference or product. Stirling's uses an average difference in odd-degree terms (whose difference uses an even number of data points); Bessel's uses an average difference in even-degree terms (whose difference uses an odd number of data points).

## Strengths and weaknesses of various formulae

For any given finite set of data points, there is only one polynomial of least possible degree that passes through all of them. Thus, it is appropriate to speak of the "Newton form", or Lagrange form, etc., of the interpolation polynomial. However, the way the polynomial is obtained matters. There are several similar methods, such as those of Gauss, Bessel and Stirling. (They can be derived from Newton's by renaming the x-values of the data points, but in practice they are important in their own right.)

### Gauss vs. Bessel & Stirling

Bessel and Stirling require a bit more work than Gauss does. The desirability of using Bessel or Stirling depends on whether or not their small improvement in accuracy is needed.

### Bessel vs. Stirling

The choice between Bessel and Stirling depends on whether the interpolated point is closer to a data point, or closer to a middle between two data points.

But it should be pointed out that a polynomial interpolation's error approaches zero, as the interpolation point approaches a data-point. Therefore, Stirling's formula brings its accuracy improvement where it's least needed and Bessel brings its accuracy improvement where it's most needed.

So, Bessel's formula could be said to be the most consistently accurate difference formula, and, in general, the most consistently accurate of the familiar polynomial interpolation formulas.

### Divided-Difference Methods vs. Lagrange

Lagrange is sometimes said to require less work, and is sometimes recommended for problems in which it's known, in advance, from previous experience, how many terms are needed for sufficient accuracy.

The divided difference method have the advantage that more data points can be added, for improved accuracy, without re-doing the whole problem. The terms based on the previous data points can continue to be used. With the ordinary Lagrange formula, to do the problem with more data points would require re-doing the whole problem.

There is a "barycentric" version of Lagrange that avoids the need to re-do the entire calculation when adding a new data point. But it requires that the values of each term be recorded.

But the ability, of Gauss, Bessel and Stirling, to keep the data points centered close to the interpolated point gives them an advantage over Lagrange, when it isn't known, in advance, how many data points will be needed.

Additionally, suppose that one wants to find out if, for some particular type of problem, linear interpolation is sufficiently accurate. That can be determined by evaluating the quadratic term of a divided difference formula. If the quadratic term is negligible--meaning that the linear term is sufficiently accurate without adding the quadratic term--then linear interpolation is sufficiently accurate. (If the problem is sufficiently important, or if the quadratic term is nearly big enough to matter, then one might want to determine whether the _sum_ of the quadratic and cubic terms is large enough to matter in the problem.)

Of course only a divided-difference method can be used for such a determination.

For that purpose, the divided-difference formula and/or its x0 point should be chosen so that the formula will use, for its linear term, the two data points between which the linear interpolation of interest would be done.

The divided difference formulas are more versatile, useful in more kinds of problems.

The Lagrange formula is at its best when all the interpolation will be done at one x value, with only the data points' y values varying from one problem to another, and when it's known, from past experience, how many terms are needed for sufficient accuracy.

With the Newton form of the interpolating polynomial a compact and effective algorithm exists for combining the terms to find the coefficients of the polynomial.[2]

### Accuracy

When, with Stirling's or Bessel's, the last term used includes the average of two differences, then one more point is being used than Newton's or other polynomial interpolations would use for the same polynomial degree. So, in that instance, Stirling's or Bessel's is not putting an N−1 degree polynomial through N points, but is, instead, trading equivalence with Newton's for better centering and accuracy, giving those methods sometimes potentially greater accuracy, for a given polynomial degree, than other polynomial interpolations.

## General case

For the special case of xi = i, there is a closely related set of polynomials, also called the Newton polynomials, that are simply the binomial coefficients for general argument. That is, one also has the Newton polynomials ${\displaystyle p_{n}(z)}$ given by

${\displaystyle p_{n}(z)={z \choose n}={\frac {z(z-1)\cdots (z-n+1)}{n!}}}$

In this form, the Newton polynomials generate the Newton series. These are in turn a special case of the general difference polynomials which allow the representation of analytic functions through generalized difference equations.

## Main idea

Solving an interpolation problem leads to a problem in linear algebra where we have to solve a system of linear equations. Using a standard monomial basis for our interpolation polynomial we get the very complicated Vandermonde matrix. By choosing another basis, the Newton basis, we get a system of linear equations with a much simpler lower triangular matrix which can be solved faster.

For k + 1 data points we construct the Newton basis as

${\displaystyle n_{j}(x):=\prod _{i=0}^{j-1}(x-x_{i})\qquad j=0,\ldots ,k.}$

Using these polynomials as a basis for ${\displaystyle \Pi _{k}}$ we have to solve

${\displaystyle {\begin{bmatrix}1&&\ldots &&0\\1&x_{1}-x_{0}&&&\\1&x_{2}-x_{0}&(x_{2}-x_{0})(x_{2}-x_{1})&&\vdots \\\vdots &\vdots &&\ddots &\\1&x_{k}-x_{0}&\ldots &\ldots &\prod _{j=0}^{k-1}(x_{k}-x_{j})\end{bmatrix}}{\begin{bmatrix}a_{0}\\\\\vdots \\\\a_{k}\end{bmatrix}}={\begin{bmatrix}y_{0}\\\\\vdots \\\\y_{k}\end{bmatrix}}}$

to solve the polynomial interpolation problem.

This system of equations can be solved iteratively by solving

${\displaystyle \sum _{i=0}^{j}a_{i}n_{i}(x_{j})=y_{j}\qquad j=0,\dots ,k.}$

## Taylor polynomial

The limit of the Newton polynomial if all nodes coincide is a Taylor polynomial, because the divided differences become derivatives.

${\displaystyle \lim _{(x_{0},\dots ,x_{n})\to (z,\dots ,z)}f[x_{0}]+f[x_{0},x_{1}]\cdot (\xi -x_{0})+\dots +f[x_{0},\dots ,x_{n}]\cdot (\xi -x_{0})\cdot \dots \cdot (\xi -x_{n-1})=}$
${\displaystyle =f(z)+f'(z)\cdot (\xi -z)+\dots +{\frac {f^{(n)}(z)}{n!}}\cdot (\xi -z)^{n}}$

## Application

As can be seen from the definition of the divided differences new data points can be added to the data set to create a new interpolation polynomial without recalculating the old coefficients. And when a data point changes we usually do not have to recalculate all coefficients. Furthermore if the xi are distributed equidistantly the calculation of the divided differences becomes significantly easier. Therefore the divided-difference formulas are usually preferred over the Lagrange form for practical purposes.

### Examples

The divided differences can be written in the form of a table. For example, for a function f is to be interpolated on points ${\displaystyle x_{0},\ldots ,x_{n}}$. Write

${\displaystyle {\begin{matrix}x_{0}&f(x_{0})&&\\&&{f(x_{1})-f(x_{0}) \over x_{1}-x_{0}}&\\x_{1}&f(x_{1})&&{{f(x_{2})-f(x_{1}) \over x_{2}-x_{1}}-{f(x_{1})-f(x_{0}) \over x_{1}-x_{0}} \over x_{2}-x_{0}}\\&&{f(x_{2})-f(x_{1}) \over x_{2}-x_{1}}&\\x_{2}&f(x_{2})&&\vdots \\&&\vdots &\\\vdots &&&\vdots \\&&\vdots &\\x_{n}&f(x_{n})&&\\\end{matrix}}}$

Then the interpolating polynomial is formed as above using the topmost entries in each column as coefficients.

For example, suppose we are to construct the interpolating polynomial to f(x) = tan(x) using divided differences, at the points

 ${\displaystyle x_{0}=-{\tfrac {3}{2}}}$ ${\displaystyle x_{1}=-{\tfrac {3}{4}}}$ ${\displaystyle x_{2}=0}$ ${\displaystyle x_{3}={\tfrac {3}{4}}}$ ${\displaystyle x_{4}={\tfrac {3}{2}}}$ ${\displaystyle f(x_{0})=-14.1014}$ ${\displaystyle f(x_{1})=-0.931596}$ ${\displaystyle f(x_{2})=0}$ ${\displaystyle f(x_{3})=0.931596}$ ${\displaystyle f(x_{4})=14.1014}$

Using six digits of accuracy, we construct the table

${\displaystyle {\begin{matrix}-{\tfrac {3}{2}}&-14.1014&&&&\\&&17.5597&&&\\-{\tfrac {3}{4}}&-0.931596&&-10.8784&&\\&&1.24213&&4.83484&\\0&0&&0&&0\\&&1.24213&&4.83484&\\{\tfrac {3}{4}}&0.931596&&10.8784&&\\&&17.5597&&&\\{\tfrac {3}{2}}&14.1014&&&&\\\end{matrix}}}$

Thus, the interpolating polynomial is

${\displaystyle -14.1014+17.5597(x+{\tfrac {3}{2}})-10.8784(x+{\tfrac {3}{2}})(x+{\tfrac {3}{4}})+4.83484(x+{\tfrac {3}{2}})(x+{\tfrac {3}{4}})(x)+0(x+{\tfrac {3}{2}})(x+{\tfrac {3}{4}})(x)(x-{\tfrac {3}{4}})=}$
${\displaystyle =-0.00005-1.4775x-0.00001x^{2}+4.83484x^{3}}$

Given more digits of accuracy in the table, the first and third coefficients will be found to be zero.

Another example:

The sequence ${\displaystyle f_{0}}$ such that ${\displaystyle f_{0}(1)=6,f_{0}(2)=9,f_{0}(3)=2}$ and ${\displaystyle f_{0}(4)=5}$, i.e., they are ${\displaystyle 6,9,2,5}$ from ${\displaystyle x_{0}=1}$ to ${\displaystyle x_{3}=4}$.

You obtain the slope of order ${\displaystyle 1}$ in the following way:

• ${\displaystyle f_{1}(x_{0},x_{1})={\frac {f_{0}(x_{1})-f_{0}(x_{0})}{x_{1}-x_{0}}}={\frac {9-6}{2-1}}=3}$
• ${\displaystyle f_{1}(x_{1},x_{2})={\frac {f_{0}(x_{2})-f_{0}(x_{1})}{x_{2}-x_{1}}}={\frac {2-9}{3-2}}=-7}$
• ${\displaystyle f_{1}(x_{2},x_{3})={\frac {f_{0}(x_{3})-f_{0}(x_{2})}{x_{3}-x_{2}}}={\frac {5-2}{4-3}}=3}$

As we have the slopes of order ${\displaystyle 1}$, it's possible to obtain the next order:

• ${\displaystyle f_{2}(x_{0},x_{1},x_{2})={\frac {f_{1}(x_{1},x_{2})-f_{1}(x_{0},x_{1})}{x_{2}-x_{0}}}={\frac {-7-3}{3-1}}=-5}$
• ${\displaystyle f_{2}(x_{1},x_{2},x_{3})={\frac {f_{1}(x_{2},x_{3})-f_{1}(x_{1},x_{2})}{x_{3}-x_{1}}}={\frac {3-(-7)}{4-2}}=5}$

Finally, we define the slope of order ${\displaystyle 3}$:

• ${\displaystyle f_{3}(x_{0},x_{1},x_{2},x_{3})={\frac {f_{2}(x_{1},x_{2},x_{3})-f_{2}(x_{0},x_{1},x_{2})}{x_{3}-x_{0}}}={\frac {5-(-5)}{4-1}}={\frac {10}{3}}}$

Once we have the slope, we can define the consequent polynomials:

• ${\displaystyle p_{0}(x)=6}$.
• ${\displaystyle p_{1}(x)=6+3(x-1)}$
• ${\displaystyle p_{2}(x)=6+3(x-1)-5(x-1)(x-2)}$.
• ${\displaystyle p_{3}(x)=6+3(x-1)-5(x-1)(x-2)+{\frac {10}{3}}(x-1)(x-2)(x-3)}$