Longitude of the periapsis: Difference between revisions
en>Teapeat celestial mechanics rather than astrodynamics, it's wider than that |
|||
Line 1: | Line 1: | ||
In [[mathematics]], '''divided differences''' is a [[recursion|recursive]] [[division (mathematics)|division]] process. | |||
The method can be used to calculate the coefficients in the [[polynomial interpolation|interpolation polynomial]] in the [[Newton form]]. | |||
== | ==Definition== | ||
Given ''k+1'' data points | |||
:<math>(x_0, y_0),\ldots,(x_{k}, y_{k})</math> | |||
The '''forward divided differences''' are defined as: | |||
:<math>[y_\nu] := y_\nu, \qquad \nu \in \{ 0,\ldots,k\}</math> | |||
:<math>[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 \nu\in\{0,\ldots,k-j\},\ j\in\{1,\ldots,k\}.</math> | |||
The '''backward divided differences''' are defined as: | |||
:<math>[y_\nu] := y_{\nu},\qquad \nu \in \{ 0,\ldots,k\}</math> | |||
:<math>[y_\nu,\ldots,y_{\nu-j}] := \frac{[y_\nu,\ldots , y_{\nu-j+1}] - [y_{\nu-1},\ldots , y_{\nu-j}]}{x_\nu - x_{\nu-j}}, \qquad \nu\in\{j,\ldots,k\},\ j\in\{1,\ldots,k\}.</math> | |||
==Notation== | |||
If the data points are given as a function ''ƒ'', | |||
:<math>(x_0, f(x_0)),\ldots,(x_{k}, f(x_{k}))</math> | |||
one sometimes writes | |||
:<math>f[x_\nu] := f(x_{\nu}), \qquad \nu \in \{ 0,\ldots,k \}</math> | |||
:<math>f[x_\nu,\ldots,x_{\nu+j}] := \frac{f[x_{\nu+1},\ldots , x_{\nu+j}] - f[x_\nu,\ldots , x_{\nu+j-1}]}{x_{\nu+j}-x_\nu}, \qquad \nu\in\{0,\ldots,k-j\},\ j\in\{1,\ldots,k\}.</math> | |||
Several notations for the divided difference of the function ''ƒ'' on the nodes ''x''<sub>0</sub>, ..., ''x''<sub>''n''</sub> are used: | |||
: <math>[x_0,\ldots,x_n]f,</math> | |||
: <math>[x_0,\ldots,x_n;f],</math> | |||
: <math>D[x_0,\ldots,x_n]f</math> | |||
etc. | |||
==Example== | |||
For the first few values of <math>\nu</math>, this yields | |||
:<math> | |||
\begin{align} | |||
\mathopen[y_0] &= y_0 \\ | |||
\mathopen[y_0,y_1] &= \frac{y_1-y_0}{x_1-x_0} \\ | |||
\mathopen[y_0,y_1,y_2] | |||
&= \frac{\mathopen[y_1,y_2]-\mathopen[y_0,y_1]}{x_2-x_0} | |||
= \frac{\frac{y_2-y_1}{x_2-x_1}-\frac{y_1-y_0}{x_1-x_0}}{x_2-x_0} | |||
= \frac{y_2-y_1}{(x_2-x_1)(x_2-x_0)}-\frac{y_1-y_0}{(x_1-x_0)(x_2-x_0)} | |||
\\ | |||
\mathopen[y_0,y_1,y_2,y_3] &= \frac{\mathopen[y_1,y_2,y_3]-\mathopen[y_0,y_1,y_2]}{x_3-x_0} | |||
\end{align} | |||
</math> <!-- the \mathopen command is there because latex otherwise thinks that [...] denotes an optional argument --> | |||
To make the recursive process more clear the divided differences can be put in a tabular form | |||
:<math> | |||
\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} | |||
</math> | |||
== Properties == | |||
*[[Linear functional|Linearity]] | |||
:: <math>(f+g)[x_0,\dots,x_n] = f[x_0,\dots,x_n] + g[x_0,\dots,x_n]</math> | |||
:: <math>(\lambda\cdot f)[x_0,\dots,x_n] = \lambda\cdot f[x_0,\dots,x_n]</math> | |||
*[[Leibniz_rule_(generalized_product_rule)|Leibniz rule]] | |||
:: <math>(f\cdot g)[x_0,\dots,x_n] = f[x_0]\cdot g[x_0,\dots,x_n] + f[x_0,x_1]\cdot g[x_1,\dots,x_n] + \dots + f[x_0,\dots,x_n]\cdot g[x_n]</math> | |||
*From the [[mean value theorem for divided differences]] it follows that | |||
::<math>\lim_{(x_0,\dots,x_n)\to(\xi,\dots,\xi)} f[x_0,\dots,x_n] = \frac{f^{(n)}(\xi)}{n!}</math> | |||
=== Matrix form === | |||
The divided difference scheme can be put into an upper [[triangular matrix]]. | |||
Let <math>T_f(x_0,\dots,x_n)= | |||
\begin{pmatrix} | |||
f[x_0] & f[x_0,x_1] & f[x_0,x_1,x_2] & \ldots & f[x_0,\dots,x_n] \\ | |||
0 & f[x_1] & f[x_1,x_2] & \ldots & f[x_1,\dots,x_n] \\ | |||
\vdots & \ddots & \ddots & \ddots & \vdots \\ | |||
0 & \ldots & 0 & 0 & f[x_n] | |||
\end{pmatrix}</math>. | |||
Then it holds | |||
* <math>T_{f+g} x = T_f x + T_g x</math> | |||
* <math>T_{f\cdot g} x = T_f x \cdot T_g x</math> | |||
:: This follows from the Leibniz rule. It means that multiplication of such matrices is [[commutativity|commutative]]. Summarised, the matrices of divided difference schemes with respect to the same set of nodes form a [[commutative ring]]. | |||
* Since <math> T_f x </math> is a triangular matrix, its [[eigenvalue]]s are obviously <math> f(x_0), \dots, f(x_n) </math>. | |||
* Let <math>\delta_\xi</math> be a [[Kronecker delta]]-like function, that is | |||
:: <math>\delta_\xi(t) = \begin{cases}1 &: t=\xi , \\0 &: \mbox{else}.\end{cases}</math> | |||
: Obviously <math>f\cdot \delta_\xi = f(\xi)\cdot \delta_\xi</math>, thus <math>\delta_\xi</math> is an [[eigenfunction]] of the pointwise function multiplication. That is <math>T_{\delta_{x_i}} x</math> is somehow an "[[eigenmatrix]]" of <math>T_f x</math>: <math> T_f x \cdot T_{\delta_{x_i}} x = f(x_i) \cdot T_{\delta_{x_i}} x </math>. However, all columns of <math>T_{\delta_{x_i}} x</math> are multiples of each other, the [[matrix rank]] of <math>T_{\delta_{x_i}} x</math> is 1. So you can compose the matrix of all eigenvectors from the <math>i</math>-th column of each <math>T_{\delta_{x_i}} x</math>. Denote the matrix of eigenvectors with <math>U x</math>. Example | |||
:: <math> U(x_0,x_1,x_2,x_3) = \begin{pmatrix} | |||
1 & \frac{1}{(x_1-x_0)} & \frac{1}{(x_2-x_0)\cdot(x_2-x_1)} & \frac{1}{(x_3-x_0)\cdot(x_3-x_1)\cdot(x_3-x_2)} \\ | |||
0 & 1 & \frac{1}{(x_2-x_1)} & \frac{1}{(x_3-x_1)\cdot(x_3-x_2)} \\ | |||
0 & 0 & 1 & \frac{1}{(x_3-x_2)} \\ | |||
0 & 0 & 0 & 1 | |||
\end{pmatrix} </math> | |||
:The [[diagonalizable matrix|diagonalization]] of <math> T_f x </math> can be written as | |||
:: <math> U x \cdot \operatorname{diag}(f(x_0),\dots,f(x_n)) = T_f x \cdot U x </math>. | |||
== Alternative definitions == | |||
=== Expanded form === | |||
<math> | |||
\begin{align} | |||
f[x_0] &= f(x_0) \\ | |||
f[x_0,x_1] &= \frac{f(x_0)}{(x_0-x_1)} + \frac{f(x_1)}{(x_1-x_0)} \\ | |||
f[x_0,x_1,x_2] &= \frac{f(x_0)}{(x_0-x_1)\cdot(x_0-x_2)} + \frac{f(x_1)}{(x_1-x_0)\cdot(x_1-x_2)} + \frac{f(x_2)}{(x_2-x_0)\cdot(x_2-x_1)} \\ | |||
f[x_0,x_1,x_2,x_3] &= \frac{f(x_0)}{(x_0-x_1)\cdot(x_0-x_2)\cdot(x_0-x_3)} + \frac{f(x_1)}{(x_1-x_0)\cdot(x_1-x_2)\cdot(x_1-x_3)} + \frac{f(x_2)}{(x_2-x_0)\cdot(x_2-x_1)\cdot(x_2-x_3)} +\\&\quad\quad \frac{f(x_3)}{(x_3-x_0)\cdot(x_3-x_1)\cdot(x_3-x_2)} \\ | |||
f[x_0,\dots,x_n] &= | |||
\sum_{j=0}^{n} \frac{f(x_j)}{\prod_{k\in\{0,\dots,n\}\setminus\{j\}} (x_j-x_k)} | |||
\end{align} | |||
</math> | |||
With help of a [[polynomial function]] <math>q</math> with <math>q(\xi) = (\xi-x_0) \cdots (\xi-x_n)</math> | |||
this can be written as | |||
:<math> | |||
f[x_0,\dots,x_n] = \sum_{j=0}^{n} \frac{f(x_j)}{q'(x_j)}. | |||
</math> | |||
==== Partial fractions ====<!-- This section is linked from [[Partial fraction]] --> | |||
You can represent [[partial fraction]]s using the expanded form of divided differences. | |||
(This does not simplify computation, but is interesting in itself.) | |||
If <math>p</math> and <math>q</math> are [[polynomial function]]s, | |||
where <math>\mathrm{deg}\ p < \mathrm{deg}\ q</math> | |||
and <math>q</math> is given in terms of [[linear factor]]s by <math>q(\xi) = (\xi-x_1)\cdot \dots \cdot(\xi-x_n)</math>, | |||
then it follows from partial fraction decomposition that | |||
:<math>\frac{p(\xi)}{q(\xi)} = \left(t\to\frac{p(t)}{\xi-t}\right)[x_1,\dots,x_n].</math> | |||
If [[limit of a function|limits]] of the divided differences are accepted, | |||
then this connection does also hold, if some of the <math>x_j</math> coincide. | |||
If <math>f</math> is a polynomial function with arbitrary degree | |||
and it is decomposed by <math>f(x) = p(x) + q(x)\cdot d(x)</math> using [[polynomial division]] of <math>f</math> by <math>q</math>, | |||
then | |||
: <math>\frac{p(\xi)}{q(\xi)} = \left(t\to\frac{f(t)}{\xi-t}\right)[x_1,\dots,x_n].</math> | |||
=== Peano form === | |||
The divided differences can be expressed as | |||
:<math>f[x_0,\ldots,x_n] = \frac{1}{n!} \int_{x_0}^{x_n} f^{(n)}(t)B_{n-1}(t) \, dt</math> | |||
where <math>B_{n-1}</math> is a [[B-spline]] of degree <math>n-1</math> for the data points <math>x_0,\dots,x_n</math> and <math>f^{(n)}</math> is the <math>n</math>-th [[derivative]] of the function <math>f</math>. | |||
This is called the '''Peano form''' of the divided differences and <math>B_{n-1}</math> is called the [[Peano kernel]] for the divided differences, both named after [[Giuseppe Peano]]. | |||
=== Taylor form === | |||
==== First order ==== | |||
If nodes are cumulated, then the numerical computation of the divided differences is inaccurate, because you divide almost two zeros, each of which with a high [[relative error]] due to [[Loss_of_significance|differences of similar values]]. | |||
However we know, that [[difference quotient]]s approximate the [[derivative]] and vice versa: | |||
:<math>\frac{f(y)-f(x)}{y-x} \approx f'(x)</math> for <math>x \approx y</math> | |||
This approximation can be turned into an identity whenever [[Taylor's theorem]] applies. | |||
:<math>f(y) = f(x) + f'(x)\cdot(y-x) + f''(x)\cdot\frac{(y-x)^2}{2!} + f'''(x)\cdot\frac{(y-x)^3}{3!} + \dots </math> | |||
:<math>\Rightarrow \frac{f(y) - f(x)}{y-x} = f'(x) + f''(x)\cdot\frac{y-x}{2!} + f'''(x)\cdot\frac{(y-x)^2}{3!} + \dots </math> | |||
You can eliminate the odd powers of <math>y-x</math> by expanding the [[Taylor series]] at the center between <math>x</math> and <math>y</math>: | |||
:<math>x = m-h, y=m+h</math>, that is <math>m = \frac{x+y}{2}, h=\frac{y-x}{2}</math> | |||
:<math>f(m+h) = f(m) + f'(m)\cdot h + f''(m)\cdot\frac{h^2}{2!} + f'''(m)\cdot\frac{h^3}{3!} + \dots </math> | |||
:<math>f(m-h) = f(m) - f'(m)\cdot h + f''(m)\cdot\frac{h^2}{2!} - f'''(m)\cdot\frac{h^3}{3!} + \dots </math> | |||
:<math>\frac{f(y) - f(x)}{y-x} = \frac{f(m+h) - f(m-h)}{2\cdot h} = | |||
f'(m) + f'''(m)\cdot\frac{h^2}{3!} + \dots </math> | |||
==== Higher order ==== | |||
The Taylor series or any other representation with [[function series]] | |||
can in principle be used to approximate divided differences. | |||
Taylor series are infinite sums of [[monomial|power function]]s. | |||
The mapping from a function <math>f</math> to a divided difference <math>f[x_0,\dots,x_n]</math> is a [[linear functional]]. | |||
We can as well apply this functional to the function summands. | |||
Express power notation with an ordinary function: <math>p_n(x) = x^n.</math> | |||
Regular Taylor series is a weighted sum of power functions: <math>f = f(0)\cdot p_0 + f'(0)\cdot p_1 + \frac{f''(0)}{2!}\cdot p_2 + \frac{f'''(0)}{3!}\cdot p_3 + \dots </math> | |||
Taylor series for divided differences: <math>f[x_0,\dots,x_n] = f(0)\cdot p_0[x_0,\dots,x_n] + f'(0)\cdot p_1[x_0,\dots,x_n] + \frac{f''(0)}{2!}\cdot p_2[x_0,\dots,x_n] + \frac{f'''(0)}{3!}\cdot p_3[x_0,\dots,x_n] + \dots </math> | |||
We know that the first <math>n</math> terms vanish, | |||
because we have a higher difference order than polynomial order, | |||
and in the following term the divided difference is one: | |||
:<math> | |||
\begin{array}{llcl} | |||
\forall j<n & p_j[x_0,\dots,x_n] &=& 0 \\ | |||
& p_n[x_0,\dots,x_n] &=& 1 \\ | |||
& p_{n+1}[x_0,\dots,x_n] &=& x_0 + \dots + x_n \\ | |||
& p_{n+m}[x_0,\dots,x_n] &=& \sum_{a\in\{0,\dots,n\}^m \text{ with } a_1 \le a_2 \le \dots \le a_m} \prod_{j\in a} x_j. \\ | |||
\end{array} | |||
</math> | |||
It follows that the Taylor series for the divided difference essentially starts with | |||
<math>\frac{f^{(n)}(0)}{n!}</math> | |||
which is also a simple approximation of the divided difference, | |||
according to the [[mean value theorem for divided differences]]. | |||
If we would have to compute the divided differences for the power functions | |||
in the usual way, we would encounter the same numerical problems | |||
that we had when computing the divided difference of <math>f</math>. | |||
The nice thing is, that there is a simpler way. | |||
It holds | |||
:<math> | |||
t^n = (1 - x_0\cdot t) \dots \cdot (1 - x_n\cdot t) \cdot | |||
(p_0[x_0,\dots,x_n] + p_1[x_0,\dots,x_n]\cdot t + p_2[x_0,\dots,x_n]\cdot t^2 + \dots) . | |||
</math> | |||
Consequently we can compute the divided differences of <math>p_n</math> | |||
by a [[power series|division]] of [[formal power series]]. | |||
See how this reduces to the successive computation of powers | |||
when we compute <math>p_n[h]</math> for several <math>n</math>. | |||
Cf. an [http://darcs.haskell.org/htam/src/Numerics/Interpolation/DividedDifference.hs implementation] in [[Haskell (programming language)|Haskell]]. | |||
If you need to compute a whole divided difference scheme with respect to a Taylor series, | |||
see the section about divided differences of [[#Polynomials and power series|power series]]. | |||
==Polynomials and power series== | |||
Divided differences of polynomials are particularly interesting, because they can benefit from the Leibniz rule. | |||
The matrix <math>J</math> with | |||
:<math> | |||
J= | |||
\begin{pmatrix} | |||
x_0 & 1 & 0 & 0 & \cdots & 0 \\ | |||
0 & x_1 & 1 & 0 & \cdots & 0 \\ | |||
0 & 0 & x_2 & 1 & & 0 \\ | |||
\vdots & \vdots & & \ddots & \ddots & \\ | |||
0 & 0 & 0 & 0 & & x_n | |||
\end{pmatrix} | |||
</math> | |||
contains the divided difference scheme for the [[identity function]] with respect to the nodes <math>x_0,\dots,x_n</math>, | |||
thus <math>J^n</math> contains the divided differences for the [[monomial|power function]] with [[exponent]] <math>n</math>. | |||
Consequently you can obtain the divided differences for a [[polynomial function]] <math>\varphi(p)</math> | |||
with respect to the [[polynomial]] <math>p</math> | |||
by applying <math>p</math> (more precisely: its corresponding matrix polynomial function <math>\varphi_{\mathrm{M}}(p)</math>) to the matrix <math>J</math>. | |||
:<math>\varphi(p)(\xi) = a_0 + a_1\cdot \xi + \dots + a_n\cdot \xi^n</math> | |||
:<math>\varphi_{\mathrm{M}}(p)(J) = a_0 + a_1\cdot J + \dots + a_n\cdot J^n</math> | |||
::<math>= \begin{pmatrix} | |||
\varphi(p)[x_0] & \varphi(p)[x_0,x_1] & \varphi(p)[x_0,x_1,x_2] & \ldots & \varphi(p)[x_0,\dots,x_n] \\ | |||
0 & \varphi(p)[x_1] & \varphi(p)[x_1,x_2] & \ldots & \varphi(p)[x_1,\dots,x_n] \\ | |||
\vdots & \ddots & \ddots & \ddots & \vdots \\ | |||
0 & \ldots & 0 & 0 & \varphi(p)[x_n] | |||
\end{pmatrix} | |||
</math> | |||
This is known as ''Opitz' formula''. <ref>[[Carl de Boor|de Boor, Carl]], ''Divided Differences'', Surv. Approx. Theory 1 (2005), 46--69</ref> | |||
<ref>Opitz, G. ''Steigungsmatrizen'', Z. Angew. Math. Mech. (1964), 44, T52-T54</ref> | |||
Now consider increasing the degree of <math>p</math> to infinity, | |||
i.e. turn the Taylor polynomial to a [[Taylor series]]. | |||
Let <math>f</math> be a function which corresponds to a [[power series]]. | |||
You can compute a divided difference scheme by computing the according matrix series applied to <math>J</math>. | |||
If the nodes <math>x_0,\dots,x_n</math> are all equal, | |||
then <math>J</math> is a [[Jordan block]] and | |||
computation boils down to generalizing a scalar function to a [[matrix function]] using [[Jordan normal form|Jordan decomposition]]. | |||
==Forward differences== | |||
{{see details|Finite difference}} | |||
When the data points are equidistantly distributed we get the special case called '''forward differences'''. They are easier to calculate than the more general divided differences. | |||
===Definition=== | |||
Given ''n'' data points | |||
:<math>(x_0, y_0),\ldots,(x_{n-1}, y_{n-1})</math> | |||
with | |||
:<math>x_{\nu} = x_0 + \nu h \mbox{ , } h > 0 \mbox{ , } \nu=0,\ldots,n-1</math> | |||
the divided differences can be calculated via '''forward differences''' defined as | |||
:<math>\triangle^{(0)}y_{i} := y_{i}</math> | |||
:<math>\triangle^{(k)}y_{i} := \triangle^{(k-1)}y_{i+1} - \triangle^{(k-1)}y_{i} \mbox{ , } k \ge 1.</math> | |||
===Example=== | |||
:<math> | |||
\begin{matrix} | |||
y_0 & & & \\ | |||
& \triangle y_0 & & \\ | |||
y_1 & & \triangle^{2} y_0 & \\ | |||
& \triangle y_1 & & \triangle^{3} y_0\\ | |||
y_2 & & \triangle^{2} y_1 & \\ | |||
& \triangle y_2 & & \\ | |||
y_3 & & & \\ | |||
\end{matrix} | |||
</math> | |||
== Computer Program == | |||
* [https://s3.amazonaws.com/torkian/torkian/Site/Research/Entries/2008/3/13_Divided_differences.html Java code for Divided differences with GUI by Behzad Torkian] | |||
==Notes== | |||
{{reflist|1}} | |||
== See also == | |||
* [[Neville's algorithm]] | |||
* [[Polynomial interpolation]] | |||
* [[Mean value theorem for divided differences]] | |||
* [[Nörlund–Rice integral]] | |||
[[Category:Finite differences]] | |||
[[de:Polynominterpolation#Bestimmung der Koeffizienten: Schema der dividierten Differenzen]] |
Latest revision as of 14:13, 14 January 2014
In mathematics, divided differences is a recursive division process.
The method can be used to calculate the coefficients in the interpolation polynomial in the Newton form.
Definition
Given k+1 data points
The forward divided differences are defined as:
The backward divided differences are defined as:
Notation
If the data points are given as a function ƒ,
one sometimes writes
Several notations for the divided difference of the function ƒ on the nodes x0, ..., xn are used:
etc.
Example
For the first few values of , this yields
To make the recursive process more clear the divided differences can be put in a tabular form
Properties
- From the mean value theorem for divided differences it follows that
Matrix form
The divided difference scheme can be put into an upper triangular matrix. Let .
Then it holds
- This follows from the Leibniz rule. It means that multiplication of such matrices is commutative. Summarised, the matrices of divided difference schemes with respect to the same set of nodes form a commutative ring.
- Since is a triangular matrix, its eigenvalues are obviously .
- Let be a Kronecker delta-like function, that is
- Obviously , thus is an eigenfunction of the pointwise function multiplication. That is is somehow an "eigenmatrix" of : . However, all columns of are multiples of each other, the matrix rank of is 1. So you can compose the matrix of all eigenvectors from the -th column of each . Denote the matrix of eigenvectors with . Example
- The diagonalization of can be written as
Alternative definitions
Expanded form
With help of a polynomial function with this can be written as
Partial fractions
You can represent partial fractions using the expanded form of divided differences. (This does not simplify computation, but is interesting in itself.) If and are polynomial functions, where and is given in terms of linear factors by , then it follows from partial fraction decomposition that
If limits of the divided differences are accepted, then this connection does also hold, if some of the coincide.
If is a polynomial function with arbitrary degree and it is decomposed by using polynomial division of by , then
Peano form
The divided differences can be expressed as
where is a B-spline of degree for the data points and is the -th derivative of the function .
This is called the Peano form of the divided differences and is called the Peano kernel for the divided differences, both named after Giuseppe Peano.
Taylor form
First order
If nodes are cumulated, then the numerical computation of the divided differences is inaccurate, because you divide almost two zeros, each of which with a high relative error due to differences of similar values. However we know, that difference quotients approximate the derivative and vice versa:
This approximation can be turned into an identity whenever Taylor's theorem applies.
You can eliminate the odd powers of by expanding the Taylor series at the center between and :
Higher order
The Taylor series or any other representation with function series can in principle be used to approximate divided differences. Taylor series are infinite sums of power functions. The mapping from a function to a divided difference is a linear functional. We can as well apply this functional to the function summands.
Express power notation with an ordinary function:
Regular Taylor series is a weighted sum of power functions:
Taylor series for divided differences:
We know that the first terms vanish, because we have a higher difference order than polynomial order, and in the following term the divided difference is one:
It follows that the Taylor series for the divided difference essentially starts with which is also a simple approximation of the divided difference, according to the mean value theorem for divided differences.
If we would have to compute the divided differences for the power functions in the usual way, we would encounter the same numerical problems that we had when computing the divided difference of . The nice thing is, that there is a simpler way. It holds
Consequently we can compute the divided differences of by a division of formal power series. See how this reduces to the successive computation of powers when we compute for several .
Cf. an implementation in Haskell.
If you need to compute a whole divided difference scheme with respect to a Taylor series, see the section about divided differences of power series.
Polynomials and power series
Divided differences of polynomials are particularly interesting, because they can benefit from the Leibniz rule. The matrix with
contains the divided difference scheme for the identity function with respect to the nodes , thus contains the divided differences for the power function with exponent . Consequently you can obtain the divided differences for a polynomial function with respect to the polynomial by applying (more precisely: its corresponding matrix polynomial function ) to the matrix .
This is known as Opitz' formula. [1] [2]
Now consider increasing the degree of to infinity, i.e. turn the Taylor polynomial to a Taylor series. Let be a function which corresponds to a power series. You can compute a divided difference scheme by computing the according matrix series applied to . If the nodes are all equal, then is a Jordan block and computation boils down to generalizing a scalar function to a matrix function using Jordan decomposition.
Forward differences
34 year old Paediatrician Ronald from La Malbaie, has lots of hobbies that include vehicle, best property developers in singapore developers in singapore and base jumping. Will soon embark on a contiki trip that will cover going to the Pearling.
When the data points are equidistantly distributed we get the special case called forward differences. They are easier to calculate than the more general divided differences.
Definition
Given n data points
with
the divided differences can be calculated via forward differences defined as
Example
Computer Program
Notes
43 year old Petroleum Engineer Harry from Deep River, usually spends time with hobbies and interests like renting movies, property developers in singapore new condominium and vehicle racing. Constantly enjoys going to destinations like Camino Real de Tierra Adentro.
See also
- Neville's algorithm
- Polynomial interpolation
- Mean value theorem for divided differences
- Nörlund–Rice integral
de:Polynominterpolation#Bestimmung der Koeffizienten: Schema der dividierten Differenzen
- ↑ de Boor, Carl, Divided Differences, Surv. Approx. Theory 1 (2005), 46--69
- ↑ Opitz, G. Steigungsmatrizen, Z. Angew. Math. Mech. (1964), 44, T52-T54