In one dimension, if the spacing between points in the grid is
h, then the five-point stencil of a point
x in the grid is : \{x-2h, x-h, x, x+h, x+2h\}.
1D first derivative The first derivative of a
function f of a
real variable at a point
x can be approximated using a five-point stencil as: :f'(x) \approx \frac{-f(x+2 h)+8 f(x+h)-8 f(x-h)+f(x-2h)}{12 h} The center point
f(
x) itself is not involved, only the four neighboring points.
Derivation This formula can be obtained by writing out the four
Taylor series of f(x \pm h) and f(x \pm 2h) at the point a, up to terms of
h3 (or up to terms of
h5 to get an error estimation as well), evaluating each series at a = x \mp h and a = x \mp 2h respectively (to get everything in common terms of f^{(k)}(x)), and solving this system of four equations to get
f ′(
x). Actually, we have at points
x +
h and
x −
h: :f(x \pm h) = f(x) \pm h f'(x) + \frac{h^2}{2}f''(x) \pm \frac{h^3}{6} f^{(3)}(x) + O_{1\pm}(h^4). \qquad (E_{1\pm}). Evaluating (E_{1+})-(E_{1-}) gives us :f(x+h) - f(x-h) = 2hf'(x) + \frac{h^3}{3}f^{(3)}(x) + O_1(h^4). \qquad (E_1). The residual term O1(
h4) should be of the order of
h5 instead of
h4 because if the terms of
h4 had been written out in (
E1+) and (
E1−), it can be seen that they would have canceled each other out by . But for this calculation, it is left like that since the order of error estimation is not treated here (cf below). Similarly, we have :f(x \pm 2h) = f(x) \pm 2h f'(x) + \frac{4h^2}{2!} f''(x) \pm \frac{8h^3}{3!} f^{(3)}(x) + O_{2\pm}(h^4). \qquad (E_{2\pm}) and (E_{2+}) - (E_{2-}) gives us :f(x+2h) - f(x-2h) = 4hf'(x) + \frac{8h^3}{3}f^{(3)}(x) + O_2(h^5). \qquad (E_2). In order to eliminate the terms of
ƒ(3)(
x), calculate 8 × (
E1) − (
E2) :8f(x+h) - 8f(x-h) - f(x+2h) + f(x-2h) = 12h f'(x) + O(h^5) thus giving the formula as above. Note: the coefficients of f in this formula, (8, -8,-1,1), represent a specific example of the more general
Savitzky–Golay filter.
Error estimate The error in this approximation is of
order h 4. That can be seen from the expansion : \frac{-f(x+2 h)+8 f(x+h)-8 f(x-h)+f(x-2h)}{12 h}=f'(x)-\frac{1}{30} f^{(5)}(x) h^4+O(h^5) which can be obtained by expanding the left-hand side in a
Taylor series. Alternatively, apply
Richardson extrapolation to the
central difference approximation to f'(x) on grids with spacing 2
h and
h.
1D higher-order derivatives The centered difference formulas for five-point stencils approximating second, third, and fourth derivatives are : \begin{align} f''(x) &\approx \frac{-f(x+2 h)+16 f(x+h)-30 f(x) + 16 f(x-h) - f(x-2h)}{12 h^2} \\[1ex] f^{(3)}(x) &\approx \frac{f(x+2 h)-2 f(x+h) + 2 f(x-h) - f(x-2h)}{2 h^3} \\[1ex] f^{(4)}(x) &\approx \frac{f(x+2 h)-4 f(x+h)+6 f(x) - 4 f(x-h) + f(x-2h)}{h^4} \end{align} The errors in these approximations are
O(
h),
O(
h) and
O(
h) respectively.
Relationship to Lagrange interpolating polynomials As an alternative to deriving the finite difference weights from the Taylor series, they may be obtained by differentiating the
Lagrange polynomials :\ell_j(\xi) = \prod_{i=0,\, i\neq j}^{k} \frac{\xi-x_i}{x_j-x_i}, where the interpolation points are : x_0 = x-2h,\quad x_1 = x-h,\quad x_2 = x,\quad x_3 = x+h,\quad x_4 = x+2h. Then, the quartic polynomial p_4(x) interpolating at these five points is : p_4(x) = \sum_{j=0}^4 f(x_j) \ell_j(x) and its derivative is : p_4'(x) = \sum_{j=0}^4 f(x_j) \ell'_j(x). So, the finite difference approximation of at the middle point is : f'(x_2) = \ell_0'(x_2) f(x_0) + \ell_1'(x_2) f(x_1) + \ell_2'(x_2) f(x_2) + \ell_3'(x_2) f(x_3) + \ell_4'(x_2) f(x_4) + O(h^4) Evaluating the derivatives of the five Lagrange polynomials at gives the same weights as above. This method can be more flexible as the extension to a non-uniform grid is quite straightforward. ==In two dimensions==