Finite difference

Revision as of 05:49, 13 April 2025 by imported>Balthasar144 (→‎growthexperiments-addlink-summary-summary:3|0|0)
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

Template:Use American English Template:Short description Template:Use mdy dates A finite difference is a mathematical expression of the form Template:Math. Finite differences (or the associated difference quotients) are often used as approximations of derivatives, such as in numerical differentiation.

The difference operator, commonly denoted <math>\Delta</math>, is the operator that maps a function Template:Mvar to the function <math>\Delta[f]</math> defined by <math display="block">\Delta[f](x) = f(x+1)-f(x).</math> A difference equation is a functional equation that involves the finite difference operator in the same way as a differential equation involves derivatives. There are many similarities between difference equations and differential equations. Certain recurrence relations can be written as difference equations by replacing iteration notation with finite differences.

In numerical analysis, finite differences are widely used for approximating derivatives, and the term "finite difference" is often used as an abbreviation of "finite difference approximation of derivatives".<ref name="WilmottHowison1995">Template:Cite book</ref><ref name="Olver2013">Template:Cite book</ref><ref name="Chaudhry2007">Template:Cite book</ref>

Finite differences were introduced by Brook Taylor in 1715 and have also been studied as abstract self-standing mathematical objects in works by George Boole (1860), L. M. Milne-Thomson (1933), and Template:Interlanguage link (1939). Finite differences trace their origins back to one of Jost Bürgi's algorithms (Template:Circa) and work by others including Isaac Newton. The formal calculus of finite differences can be viewed as an alternative to the calculus of infinitesimals.<ref>Jordán, op. cit., p. 1 and Milne-Thomson, p. xxi. Milne-Thomson, Louis Melville (2000): The Calculus of Finite Differences (Chelsea Pub Co, 2000) Template:ISBN</ref>

Basic typesEdit

File:Finite difference method.svg
The three types of the finite differences. The central difference about x gives the best approximation of the derivative of the function at x.

Three basic types are commonly considered: forward, backward, and central finite differences.<ref name="WilmottHowison1995"/><ref name="Olver2013"/><ref name="Chaudhry2007"/>

A Template:Vanchor, denoted <math>\Delta_h[f],</math> of a function Template:Mvar is a function defined as <math display="block"> \Delta_h[f](x) = f(x + h) - f(x). </math>

Depending on the application, the spacing Template:Mvar may be variable or constant. When omitted, Template:Mvar is taken to be 1; that is, <math display="block"> \Delta[f](x) = \Delta_1[f](x) =f(x+1)-f(x) .</math>

A Template:Vanchor uses the function values at Template:Mvar and Template:Math, instead of the values at Template:Math and Template:Mvar: <math display="block"> \nabla_h[f](x) = f(x) - f(x-h)=\Delta_h[f](x-h). </math>

Finally, the Template:Vanchor is given by <math display="block"> \delta_h[f](x) = f(x+\tfrac{h}2)-f(x-\tfrac{h}2)=\Delta_{h/2}[f](x)+\nabla_{h/2}[f](x).</math>

Relation with derivativesEdit

{{#invoke:Labelled list hatnote|labelledList|Main article|Main articles|Main page|Main pages}} Template:Anchor The approximation of derivatives by finite differences plays a central role in finite difference methods for the numerical solution of differential equations, especially boundary value problems.

The derivative of a function Template:Mvar at a point Template:Mvar is defined by the limit <math display="block"> f'(x) = \lim_{h \to 0} \frac{f(x+h) - f(x)}{h}. </math>

If Template:Mvar has a fixed (non-zero) value instead of approaching zero, then the right-hand side of the above equation would be written <math display="block"> \frac{f(x + h) - f(x)}{h} = \frac{\Delta_h[f](x)}{h}. </math>

Hence, the forward difference divided by Template:Mvar approximates the derivative when Template:Mvar is small. The error in this approximation can be derived from Taylor's theorem. Assuming that Template:Mvar is twice differentiable, we have <math display="block"> \frac{\Delta_h[f](x)}{h} - f'(x) = o(h)\to 0 \quad \text{as }h \to 0. </math>

The same formula holds for the backward difference: <math display="block"> \frac{\nabla_h[f](x)}{h} - f'(x) = o(h)\to 0 \quad \text{as }h \to 0. </math>

However, the central (also called centered) difference yields a more accurate approximation. If Template:Mvar is three times differentiable, <math display="block"> \frac{\delta_h[f](x)}{h} - f'(x) = o\left(h^2\right) . </math>

The main problemTemplate:Citation needed with the central difference method, however, is that oscillating functions can yield zero derivative. If Template:Math for Template:Mvar odd, and Template:Math for Template:Mvar even, then Template:Math if it is calculated with the central difference scheme. This is particularly troublesome if the domain of Template:Mvar is discrete. See also Symmetric derivative.

Authors for whom finite differences mean finite difference approximations define the forward/backward/central differences as the quotients given in this section (instead of employing the definitions given in the previous section).<ref name="WilmottHowison1995"/><ref name="Olver2013"/><ref name="Chaudhry2007"/>

Higher-order differencesEdit

Template:More citations needed

In an analogous way, one can obtain finite difference approximations to higher order derivatives and differential operators. For example, by using the above central difference formula for Template:Math and Template:Math and applying a central difference formula for the derivative of Template:Math at Template:Mvar, we obtain the central difference approximation of the second derivative of Template:Mvar:

Second-order central
<math> f(x) \approx \frac{\delta_h^2[f](x)}{h^2} = \frac{ \frac{f(x+h) - f(x)}{h} - \frac{f(x) - f(x-h)}{h} }{h} = \frac{f(x+h) - 2 f(x) + f(x-h)}{h^{2}} . </math>

Similarly we can apply other differencing formulas in a recursive manner.

Second order forward
<math> f(x) \approx \frac{\Delta_h^2[f](x)}{h^2} = \frac{ \frac{f(x+2h) - f(x+h)}{h} - \frac{f(x+h) - f(x)}{h} }{h} = \frac{f(x+2h) - 2 f(x+h) + f(x)}{h^{2}} . </math>
Second order backward
<math> f(x) \approx \frac{\nabla_h^2[f](x)}{h^2} = \frac{ \frac{f(x) - f(x-h)}{h} - \frac{f(x-h) - f(x-2h)}{h} }{h} = \frac{f(x) - 2 f(x-h) + f(x - 2h)}{h^{2}} . </math>

More generally, the Template:Mvar-th order forward, backward, and central differences are given by, respectively,

Forward
<math>\Delta^n_h[f](x) = \sum_{i = 0}^{n} (-1)^{n-i} \binom{n}{i} f\bigl(x + i h\bigr),</math>
Backward
<math>\nabla^n_h[f](x) = \sum_{i = 0}^{n} (-1)^i \binom{n}{i} f(x - ih),</math>
Central
<math>\delta^n_h[f](x) = \sum_{i = 0}^{n} (-1)^i \binom{n}{i} f\left(x + \left(\frac{n}{2} - i\right) h\right).</math>

These equations use binomial coefficients after the summation sign shown as Template:Math. Each row of Pascal's triangle provides the coefficient for each value of Template:Mvar.

Note that the central difference will, for odd Template:Mvar, have Template:Mvar multiplied by non-integers. This is often a problem because it amounts to changing the interval of discretization. The problem may be remedied substituting the average of <math>\ \delta^n[f](\ x - \tfrac{\ h\ }{ 2 }\ )\ </math> and <math>\ \delta^n[f](\ x + \tfrac{\ h\ }{ 2 }\ ) ~.</math>

Forward differences applied to a sequence are sometimes called the binomial transform of the sequence, and have a number of interesting combinatorial properties. Forward differences may be evaluated using the Nörlund–Rice integral. The integral representation for these types of series is interesting, because the integral can often be evaluated using asymptotic expansion or saddle-point techniques; by contrast, the forward difference series can be extremely hard to evaluate numerically, because the binomial coefficients grow rapidly for large Template:Mvar.

The relationship of these higher-order differences with the respective derivatives is straightforward, <math display="block">\frac{d^n f}{d x^n}(x) = \frac{\Delta_h^n[f](x)}{h^n}+o(h) = \frac{\nabla_h^n[f](x)}{h^n}+o(h) = \frac{\delta_h^n[f](x)}{h^n} + o\left(h^2\right).</math>

Higher-order differences can also be used to construct better approximations. As mentioned above, the first-order difference approximates the first-order derivative up to a term of order Template:Mvar. However, the combination <math display="block"> \frac{\Delta_h[f](x) - \frac12 \Delta_h^2[f](x)}{h} = - \frac{f(x+2h)-4f(x+h)+3f(x)}{2h} </math> approximates Template:Math up to a term of order Template:Math. This can be proven by expanding the above expression in Taylor series, or by using the calculus of finite differences, explained below.

If necessary, the finite difference can be centered about any point by mixing forward, backward, and central differences.

PolynomialsEdit

For a given polynomial of degree Template:Math, expressed in the function Template:Math, with real numbers Template:Math and Template:Math and lower order terms (if any) marked as Template:Math: <math display="block">P(x) = ax^n + bx^{n-1} + l.o.t.</math>

After Template:Math pairwise differences, the following result can be achieved, where Template:Math is a real number marking the arithmetic difference:<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref> <math display="block">\Delta_h^n [P](x) = ah^nn!</math>

Only the coefficient of the highest-order term remains. As this result is constant with respect to Template:Math, any further pairwise differences will have the value Template:Math.

Inductive proofEdit

Base caseEdit

Let Template:Math be a polynomial of degree Template:Math: <math display=block>\Delta_h [Q](x) = Q(x + h) - Q(x) = [a(x + h) + b] - [ax + b] = ah = ah^11!</math>

This proves it for the base case.

Inductive stepEdit

Let Template:Math be a polynomial of degree Template:Math where Template:Math and the coefficient of the highest-order term be Template:Math. Assuming the following holds true for all polynomials of degree Template:Math: <math display="block">\Delta_h^{m-1} [R](x) = ah^{m-1}(m-1)!</math>

Let Template:Math be a polynomial of degree Template:Math. With one pairwise difference: <math display=block>\Delta_h [S](x) = [a(x+h)^{m} + b(x+h)^{m-1} + \text{l.o.t.}] - [ax^m + bx^{m-1} + \text{l.o.t.}] = ahmx^{m-1} + \text{l.o.t.} = T(x)</math>

As Template:Math, this results in a polynomial Template:Math of degree Template:Math, with Template:Math as the coefficient of the highest-order term. Given the assumption above and Template:Math pairwise differences (resulting in a total of Template:Math pairwise differences for Template:Math), it can be found that: <math display="block">\Delta_h^{m-1} [T](x) = ahm \cdot h^{m-1}(m-1)! = a h^m m!</math>

This completes the proof.

ApplicationEdit

This identity can be used to find the lowest-degree polynomial that intercepts a number of points Template:Math where the difference on the x-axis from one point to the next is a constant Template:Math. For example, given the following points:

x y
1 4
4 109
7 772
10 2641
13 6364

We can use a differences table, where for all cells to the right of the first Template:Math, the following relation to the cells in the column immediately to the left exists for a cell Template:Math, with the top-leftmost cell being at coordinate Template:Math: <math display="block">(a+1, b+1) = (a, b+1) - (a, b)</math>

To find the first term, the following table can be used:

Template:Math Template:Math Template:Math Template:Math Template:Math
1 4
4 109 105
7 772 663 558
10 2641 1869 1206 648
13 6364 3723 1854 648

This arrives at a constant Template:Math. The arithmetic difference is Template:Math, as established above. Given the number of pairwise differences needed to reach the constant, it can be surmised this is a polynomial of degree Template:Math. Thus, using the identity above: <math display="block">648 = a \cdot 3^3 \cdot 3! = a \cdot 27 \cdot 6 = a \cdot 162</math>

Solving for Template:Math, it can be found to have the value Template:Math. Thus, the first term of the polynomial is Template:Math.

Then, subtracting out the first term, which lowers the polynomial's degree, and finding the finite difference again:

Template:Mvar Template:Mvar Template:Math Template:Math
1 Template:Math
4 Template:Math −147
7 Template:Math −453 −306
10 Template:Math −759 −306
13 Template:Math −1065 −306

Here, the constant is achieved after only two pairwise differences, thus the following result: <math display="block">-306 = a \cdot 3^2 \cdot 2! = a \cdot 18</math>

Solving for Template:Math, which is Template:Math, the polynomial's second term is Template:Math.

Moving on to the next term, by subtracting out the second term:

Template:Math Template:Math Template:Math
1 Template:Math
4 Template:Math 108
7 Template:Math 108
10 Template:Math 108
13 Template:Math 108

Thus the constant is achieved after only one pairwise difference: <math display="block">108 = a \cdot 3^1 \cdot 1! = a \cdot 3</math>

It can be found that Template:Math and thus the third term of the polynomial is Template:Math. Subtracting out the third term:

Template:Math Template:Math
1 Template:Math
4 Template:Math
7 Template:Math
10 Template:Math
13 Template:Math

Without any pairwise differences, it is found that the 4th and final term of the polynomial is the constant Template:Math. Thus, the lowest-degree polynomial intercepting all the points in the first table is found: <math display="block">4x^3 - 17x^2 + 36x - 19</math>

Arbitrarily sized kernelsEdit

{{#invoke:Labelled list hatnote|labelledList|Main article|Main articles|Main page|Main pages}} Template:Further

Using linear algebra one can construct finite difference approximations which utilize an arbitrary number of points to the left and a (possibly different) number of points to the right of the evaluation point, for any order derivative. This involves solving a linear system such that the Taylor expansion of the sum of those points around the evaluation point best approximates the Taylor expansion of the desired derivative. Such formulas can be represented graphically on a hexagonal or diamond-shaped grid.<ref>Template:Cite journal</ref> This is useful for differentiating a function on a grid, where, as one approaches the edge of the grid, one must sample fewer and fewer points on one side.<ref>notes</ref> Finite difference approximations for non-standard (and even non-integer) stencils given an arbitrary stencil and a desired derivative order may be constructed.<ref>Finite Difference Coefficients Calculator</ref>

PropertiesEdit

  • For all positive Template:Mvar and Template:Mvar <math display="block">\Delta^n_{kh} (f, x) = \sum\limits_{i_1=0}^{k-1} \sum\limits_{i_2=0}^{k-1} \cdots \sum\limits_{i_n=0}^{k-1} \Delta^n_h \left(f, x+i_1h+i_2h+\cdots+i_nh\right).</math>
  • Leibniz rule: <math display="block">\Delta^n_h (fg, x) = \sum\limits_{k=0}^n \binom{n}{k} \Delta^k_h (f, x) \Delta^{n-k}_h(g, x+kh).</math>

In differential equationsEdit

Template:Main article An important application of finite differences is in numerical analysis, especially in numerical differential equations, which aim at the numerical solution of ordinary and partial differential equations. The idea is to replace the derivatives appearing in the differential equation by finite differences that approximate them. The resulting methods are called finite difference methods.

Common applications of the finite difference method are in computational science and engineering disciplines, such as thermal engineering, fluid mechanics, etc.

Newton's seriesEdit

The Newton series consists of the terms of the Newton forward difference equation, named after Isaac Newton; in essence, it is the Gregory–Newton interpolation formula<ref>Burkard Polster/Mathologer (2021). " Why don't they teach Newton's calculus of 'What comes next?' " on YouTube</ref> (named after Isaac Newton and James Gregory), first published in his Principia Mathematica in 1687,<ref>Newton, Isaac, (1687). Principia, Book III, Lemma V, Case 1</ref><ref>Template:Cite journal</ref> namely the discrete analog of the continuous Taylor expansion,

Template:Equation box 1 which holds for any polynomial function Template:Mvar and for many (but not all) analytic functions. (It does not hold when Template:Mvar is exponential type <math>\pi</math>. This is easily seen, as the sine function vanishes at integer multiples of <math>\pi</math>; the corresponding Newton series is identically zero, as all finite differences are zero in this case. Yet clearly, the sine function is not zero.) Here, the expression <math display="block">\binom{x}{k} = \frac{(x)_k}{k!}</math> is the binomial coefficient, and <math display="block">(x)_k=x(x-1)(x-2)\cdots(x-k+1)</math> is the "falling factorial" or "lower factorial", while the empty product Template:Math is defined to be 1. In this particular case, there is an assumption of unit steps for the changes in the values of Template:Math of the generalization below.

Note the formal correspondence of this result to Taylor's theorem. Historically, this, as well as the Chu–Vandermonde identity, <math display="block">(x+y)_n=\sum_{k=0}^n \binom{n}{k} (x)_{n-k} \,(y)_k ,</math> (following from it, and corresponding to the binomial theorem), are included in the observations that matured to the system of umbral calculus.

Newton series expansions can be superior to Taylor series expansions when applied to discrete quantities like quantum spins (see Holstein–Primakoff transformation), bosonic operator functions or discrete counting statistics.<ref name="Hucht">Template:Cite journal</ref>

To illustrate how one may use Newton's formula in actual practice, consider the first few terms of doubling the Fibonacci sequence Template:Math One can find a polynomial that reproduces these values, by first computing a difference table, and then substituting the differences that correspond to Template:Math (underlined) into the formula as follows, <math display=block> \begin{matrix}

\begin{array}{|c||c|c|c|} \hline

x & f=\Delta^0 & \Delta^1 & \Delta^2 \\

\hline 1&\underline{2}& & \\

& &\underline{0}& \\

2&2& &\underline{2} \\

& &2& \\

3&4& & \\ \hline \end{array}

&

\quad \begin{align} f(x) & =\Delta^0 \cdot 1 +\Delta^1 \cdot \dfrac{(x-x_0)_1}{1!} + \Delta^2 \cdot \dfrac{(x-x_0)_2}{2!} \quad (x_0=1)\\

\\

& =2 \cdot 1 + 0 \cdot \dfrac{x-1}{1} + 2 \cdot \dfrac{(x-1)(x-2)}{2} \\

\\

& =2 + (x-1)(x-2) \\ \end{align} \end{matrix} </math>

For the case of nonuniform steps in the values of Template:Mvar, Newton computes the divided differences, <math display=block>\Delta _{j,0}=y_j,\qquad \Delta _{j,k}=\frac{\Delta _{j+1,k-1}-\Delta _{j,k-1}}{x_{j+k}-x_j}\quad \ni \quad \left\{ k>0,\; j\le \max \left( j \right)-k \right\},\qquad \Delta 0_k = \Delta _{0,k}</math> the series of products, <math display="block">{P_0}=1,\quad \quad P_{k+1}=P_k\cdot \left( \xi -x_k \right) ,</math> and the resulting polynomial is the scalar product,<ref>Richtmeyer, D. and Morton, K.W., (1967). Difference Methods for Initial Value Problems, 2nd ed., Wiley, New York.</ref> <math display="block">f(\xi ) = \Delta 0 \cdot P\left( \xi \right).</math>

In analysis with [[p-adic number|Template:Mvar-adic numbers]], Mahler's theorem states that the assumption that Template:Mvar is a polynomial function can be weakened all the way to the assumption that Template:Mvar is merely continuous.

Carlson's theorem provides necessary and sufficient conditions for a Newton series to be unique, if it exists. However, a Newton series does not, in general, exist.

The Newton series, together with the Stirling series and the Selberg series, is a special case of the general difference series, all of which are defined in terms of suitably scaled forward differences.

In a compressed and slightly more general form and equidistant nodes the formula reads <math display="block">f(x) = \sum_{k=0}\binom{\frac{x-a}h}{k} \sum_{j=0}^k (-1)^{k-j}\binom{k}{j}f(a+j h).</math>

Calculus of finite differencesEdit

The forward difference can be considered as an operator, called the difference operator, which maps the function Template:Mvar to Template:Math.<ref>Template:Cite book Also, a Dover reprint edition, 1960.</ref><ref>Template:Cite book</ref> This operator amounts to <math display="block">\Delta_h = \operatorname{T}_h - \operatorname I\ ,</math> where Template:Math is the shift operator with step Template:Mvar, defined by Template:Nobr and Template:Math is the identity operator.

The finite difference of higher orders can be defined in recursive manner as Template:Nobr Another equivalent definition is Template:Nobr

The difference operator Template:Math is a linear operator, as such it satisfies Template:Nobr

It also satisfies a special Leibniz rule:

<math>\ \operatorname\Delta_h\bigl(\ f(x)\ g(x)\ \bigr)\ =
\ \bigl(\ \operatorname\Delta_h f(x)\ \bigr)\ g(x+h)\ +
\ f(x)\ \bigl(\ \operatorname\Delta_h g(x)\ \bigr) ~.</math>

Similar Leibniz rules hold for the backward and central differences.

Formally applying the Taylor series with respect to Template:Mvar, yields the operator equation <math display="block"> \operatorname{\Delta}_h = h\operatorname{D} + \frac{1}{2!} h^2\operatorname{D}^2 + \frac{1}{3!} h^3\operatorname{D}^3 + \cdots = e^{h\operatorname{D}} - \operatorname I\ ,</math> where Template:Math denotes the conventional, continuous derivative operator, mapping Template:Mvar to its derivative Template:Nobr The expansion is valid when both sides act on analytic functions, for sufficiently small Template:Mvar; in the special case that the series of derivatives terminates (when the function operated on is a finite polynomial) the expression is exact, for all finite stepsizes, Template:Nobr Thus Template:Nobr and formally inverting the exponential yields <math display="block"> h\operatorname D = \ln(1+\Delta_h) = \Delta_h - \tfrac{1}{2} \, \Delta_h^2 + \tfrac{1}{3} \, \Delta_h^3 - \cdots ~.</math> This formula holds in the sense that both operators give the same result when applied to a polynomial.

Even for analytic functions, the series on the right is not guaranteed to converge; it may be an asymptotic series. However, it can be used to obtain more accurate approximations for the derivative. For instance, retaining the first two terms of the series yields the second-order approximation to Template:Math mentioned at the end of the section Template:Slink.

The analogous formulas for the backward and central difference operators are <math display="block"> h\operatorname D = -\ln(1-\nabla_h) \quad \text{ and } \quad h\operatorname D = 2 \operatorname{arsinh}\left(\tfrac12 \, \delta_h\right) ~.</math>

The calculus of finite differences is related to the umbral calculus of combinatorics. This remarkably systematic correspondence is due to the identity of the commutators of the umbral quantities to their continuum analogs (Template:Math limits),

Template:Equation box 1

A large number of formal differential relations of standard calculus involving functions Template:Math thus systematically map to umbral finite-difference analogs involving Template:Nobr

For instance, the umbral analog of a monomial Template:Mvar is a generalization of the above falling factorial (Pochhammer k-symbol), <math display="block">\ (x)_n\equiv \left(\ x\ \operatorname T_h^{-1}\right)^n = x \left( x - h \right)\left( x - 2 h \right) \cdots \bigl( x - \left( n - 1 \right)\ h \bigr)\ ,</math> so that <math display="block">\ \frac{\Delta_h}{h} (x)_n = n\ (x)_{n-1}\ ,</math> hence the above Newton interpolation formula (by matching coefficients in the expansion of an arbitrary function Template:Math in such symbols), and so on.

For example, the umbral sine is <math display="block">\ \sin \left(x\ \operatorname T_h^{-1}\right) = x -\frac{(x)_3}{3!} + \frac{(x)_5}{5!} - \frac{(x)_7}{7!} + \cdots\ </math>

As in the continuum limit, the eigenfunction of Template:Math also happens to be an exponential,

<math>\ \frac{\Delta_h}{h}(1+\lambda h)^\frac{x}{h} =\frac{\Delta_h}{h} e^{\ln (1 + \lambda h) \frac{x}{h}}= \lambda e^{\ln (1 + \lambda h) \frac{x}{h}}\ ,</math>

and hence Fourier sums of continuum functions are readily, faithfully mapped to umbral Fourier sums, i.e., involving the same Fourier coefficients multiplying these umbral basis exponentials.<ref>Template:Cite journal</ref> This umbral exponential thus amounts to the exponential generating function of the Pochhammer symbols.

Thus, for instance, the Dirac delta function maps to its umbral correspondent, the cardinal sine function <math display="block">\ \delta (x) \mapsto \frac{\sin \left[ \frac{\pi}{2}\left(1+\frac{x}{h}\right) \right]}{ \pi (x+h) }\ ,</math> and so forth.<ref>Template:Cite journal</ref> Difference equations can often be solved with techniques very similar to those for solving differential equations.

The inverse operator of the forward difference operator, so then the umbral integral, is the indefinite sum or antidifference operator.

Rules for calculus of finite difference operatorsEdit

Analogous to rules for finding the derivative, we have:

All of the above rules apply equally well to any difference operator as to Template:Math, including Template:Math and Template:Nobr

\ \Delta (f g) &= f \,\Delta g + g \,\Delta f + \Delta f \,\Delta g \\[4pt] \nabla (f g) &= f \,\nabla g + g \,\nabla f - \nabla f \,\nabla g \ \end{align}</math>

  • Quotient rule: <math display="block">\ \nabla \left( \frac{f}{g} \right) = \left. \left( \det \begin{bmatrix} \nabla f & \nabla g \\ f & g \end{bmatrix} \right) \right/ \left( g \cdot \det {\begin{bmatrix} g & \nabla g \\ 1 & 1 \end{bmatrix}}\right) </math> or <math display="block"> \nabla\left( \frac{f}{g} \right)= \frac {g \,\nabla f - f \,\nabla g}{g \cdot (g - \nabla g)}\ </math>
  • Summation rules: <math display="block">\begin{align}

\ \sum_{n=a}^b \Delta f(n) &= f(b+1)-f(a) \\ \sum_{n=a}^{b} \nabla f(n) &= f(b)-f(a-1) \ \end{align}</math>

See references.<ref> Template:Cite book </ref><ref> Template:Cite book </ref><ref> Template:Cite book </ref><ref> Template:Cite journal </ref>

GeneralizationsEdit

Multivariate finite differencesEdit

Finite differences can be considered in more than one variable. They are analogous to partial derivatives in several variables.

Some partial derivative approximations are: <math display=block>\begin{align} f_{x}(x,y) &\approx \frac{f(x+h ,y) - f(x-h,y)}{2h} \\ f_{y}(x,y) &\approx \frac{f(x,y+k ) - f(x,y-k)}{2k} \\ f_{xx}(x,y) &\approx \frac{f(x+h ,y) - 2 f(x,y) + f(x-h,y)}{h^2} \\ f_{yy}(x,y) &\approx \frac{f(x,y+k) - 2 f(x,y) + f(x,y-k)}{k^2} \\ f_{xy}(x,y) &\approx \frac{f(x+h,y+k) - f(x+h,y-k) - f(x-h,y+k) + f(x-h,y-k)}{4hk} . \end{align}</math>

Alternatively, for applications in which the computation of Template:Mvar is the most costly step, and both first and second derivatives must be computed, a more efficient formula for the last case is <math display=block> f_{xy}(x,y) \approx \frac{f(x+h, y+k) - f(x+h, y) - f(x, y+k) + 2 f(x,y) - f(x-h, y) - f(x, y-k) + f(x-h, y-k)}{2hk},</math> since the only values to compute that are not already needed for the previous four equations are Template:Math and Template:Math.

See alsoEdit

Template:Columns-list

ReferencesEdit

<references/> Template:Refbegin

  • Richardson, C. H. (1954): An Introduction to the Calculus of Finite Differences (Van Nostrand (1954) online copy
  • Mickens, R. E. (1991): Difference Equations: Theory and Applications (Chapman and Hall/CRC) Template:ISBN

Template:Refend

External linksEdit

Template:Calculus topics