In the mathematical subfield of numerical analysis, a Newton polynomial, named after its inventor Isaac Newton, is the interpolation polynomial for a given set of data points.
The Newton polynomial is sometimes called Newton interpolation polynomial. This is a bit misleading as there is only one interpolation polynomial for a given set of knots. The more precise name is interpolation polynomial in the Newton form.
Solving an interpolation problems leads to a problem in linear algebra where we have to solve a matrix. 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 much simpler lower triangular matrix which can solved faster.
We construct the Newton basis as
![{\displaystyle n_{n}(x):=\prod _{\nu =0}^{n}(x-x_{\nu -1})\qquad n=0,\ldots ,N}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d6fb56cb7136e6b5a9a2d7a3ead15dd344512c31)
Using this basis we we to solve
![{\displaystyle \mathbf {A} \mathbf {a} ={\begin{pmatrix}1&&&&0\\1&x_{1}-x_{0}&&&\\1&x_{2}-x_{1}&\ddots &&\\\vdots &\vdots &&\ddots &\\1&x_{N}-x_{0}&\ldots &\ldots &\prod _{n=0}^{N-1}(x_{N}-x_{n})\end{pmatrix}}{\begin{pmatrix}a_{0}\\\vdots \\a_{N}\end{pmatrix}}={\begin{pmatrix}y_{0}\\\vdots \\y_{N}\end{pmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/4632878b4c9bd6f41853f2de2cb5a0898fed8edd)
to solve the polynomial interpolation problem.
This matrix can be solved recursively by solving the following equations
![{\displaystyle \sum _{\nu =0}^{n}a_{\nu }n_{\nu }(x_{n})=y_{n}\qquad n=0,...,N}](https://wikimedia.org/api/rest_v1/media/math/render/svg/12fbab5d7f07af07420daa626ca963737c2b9862)
Given a set of N+1 data points
![{\displaystyle (x_{0},y_{0}),\ldots ,(x_{N},y_{N})}](https://wikimedia.org/api/rest_v1/media/math/render/svg/7efaa1a102a0c4f7d76ee91245e1cfc0c4eab164)
where no two xn are the same, the interpolation polynomial is a polynomial function N(x) of degree N with
![{\displaystyle N(x_{n})=y_{n}\qquad n=0,\ldots ,N}](https://wikimedia.org/api/rest_v1/media/math/render/svg/712edad40ec312e70b9029a58bf3bff351ada056)
According to the Stone-Weierstrass theorem such a function exists and is unique.
The Newton polynomial is the solution to the interpolation problem. It is given by the a linear combination of Newton basis polynomials:
![{\displaystyle N(x):=\sum _{n=0}^{N}a_{n}n_{n}(x)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/fdef0026363fc474e68db764a7997bf5f143101e)
with the Newton basis polynomials defined as
![{\displaystyle n_{n}(x):=\prod _{\nu =0}^{n}(x-x_{\nu -1})}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c098c33bd46bf8aeafafebf53e56aa2751751181)
and the coefficients defined as
![{\displaystyle a_{n}:=[y_{0},\ldots ,y_{n}]}](https://wikimedia.org/api/rest_v1/media/math/render/svg/8b464e824f254a7a2bbf7e5d2ea6aa19ee82bad9)
where
![{\displaystyle [y_{0},\ldots ,y_{n}]}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f2099171473fbea6ebdd23b5e4049c485df359e4)
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})+\ldots +[y_{0},\ldots ,y_{N}](x-x_{0})\ldots (x-x_{N-1})}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3354718f610bdfc4fe4a8eb0d763365a666d14d0)
Divided differences
[edit]
The notion of divided differences is a recursive division process.
We define
![{\displaystyle [y_{\nu }]:=y_{\nu }\qquad {\mbox{ , }}\nu =0,\ldots ,n}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3b64ba1b4e4ddfcc46d916fd0f20f3b4b815f0ff)
![{\displaystyle [y_{\nu },\ldots ,y_{\nu +j}]:={\frac {[y_{\nu +1},\ldots y_{\nu +j}]-[y_{\nu },\ldots y_{\nu +j-1}]}{x_{\nu +j}-x_{\nu }}}\qquad {\mbox{ , }}\nu =0,\ldots ,n-j,j=1,\ldots ,n}](https://wikimedia.org/api/rest_v1/media/math/render/svg/fdae88acbe3e283b394c33ea174047b676bdf398)
For the first few [yn] this yields
![{\displaystyle [y_{0}]=y_{0}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/be6b71d95d874915cb8659f9bd97988482733218)
![{\displaystyle [y_{0},y_{1}]={\frac {y_{2}-y_{1}}{x_{2}-x_{1}}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/1dcb42df9864feb4c15781ed49a4c850a7975d53)
![{\displaystyle [y_{0},y_{1},y_{2}]={\frac {y_{3}-y_{1}-{\frac {x_{3}-x_{1}}{x_{2}-x_{1}}}(y_{2}-y_{1})}{(x_{3}-x_{1})(x_{3}-x_{2})}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/9bab24cac80d0cb03e56bf8342634c636f80a56a)
To make the recurive process more clear the divided differences can be put in a tabular form
![{\displaystyle {\begin{matrix}x_{0}&y_{0}=[y_{0}]&&&\\&&[y_{0},y_{1}]&&\\x_{1}&y_{1}=[y_{1}]&&[y_{0},y_{1},y_{2}]&\\&&[y_{1},y_{2}]&&[y_{0},y_{1},y_{2},y_{3}]\\x_{2}&y_{2}=[y_{2}]&&[y_{1},y_{2},y_{3}]&\\&&[y_{2},y_{3}]&&\\x_{3}&y_{3}=[y_{3}]&&&\\\end{matrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d60ef92b00038923edcedaecccbadd25373b07c1)
On the diagonal of this table you will find the coefficients, as
![{\displaystyle a_{0}=y_{0}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/57eceec8d7ff488214a4ad492d4d7619f42030c5)
![{\displaystyle a_{1}=[y_{0},y_{1}]}](https://wikimedia.org/api/rest_v1/media/math/render/svg/af1325e761bd5bc6ebfe05b820c33904835a86ea)
![{\displaystyle a_{2}=[y_{0},y_{1},y_{2}]}](https://wikimedia.org/api/rest_v1/media/math/render/svg/8b373b7fab41b626c14d032e3ebaa3d2f36e7220)
![{\displaystyle a_{3}=[y_{0},y_{1},y_{2},y_{3}]}](https://wikimedia.org/api/rest_v1/media/math/render/svg/25b9d21d1b65b528b22cffc8747be6cfc6db737d)