cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A156744 Coefficients for estimation of derivative from equally spaced numerical data using the Lagrange interpolating polynomial.

Original entry on oeis.org

-1, 0, 1, 1, -8, 0, 8, -1, -1, 9, -45, 0, 45, -9, 1, 3, -32, 168, -672, 0, 672, -168, 32, -3
Offset: 1

Views

Author

Bruce Boghosian, Feb 14 2009

Keywords

Comments

An effective way to approximate the derivative of equally spaced numerical data is to differentiate its Lagrange interpolating polynomial. If y[x] is equally spaced data from x = -n to +n, its Lagrange interpolating polynomial P(x) has degree 2*n+1. Then P'(0) may be expressed as a weighted sum over the y[x]. This is the triangle of coefficients C[n,m] such that P'(0) = (1/d[n]) * Sum_{m=-n}^n C[n,m] y[m]. The denominator d[n] is given by sequence A099996. This is very useful in numerical analysis. For example, when n=1, this gives the centered difference approximation to the derivative.

Examples

			Irregular triangle begins:
  -1, 0, 1;
  1, -8, 0, 8, -1;
  -1, 9, -45, 0, 45, -9, 1;
  3, -32, 168, -672, 0, 672, -168, 32, -3;
  -2, 25, -150, 600, -2100, 0, 2100, -600, 150, -25, 2;  ...
		

Crossrefs

When divided by sequence A099996, this triangle gives the coefficients needed to estimate derivatives from equally spaced numerical data using Lagrange interpolation. The first and last entry of each row of the triangle has absolute value lcm{1, 2, ..., 2*n}/n*binomial(2n, n), as seen in A068553.

Programs

  • Mathematica
    facs[x_, j_, n_] := Product[If[k == j, 1, x - k], {k, -n, n}]
    coefs[x_, n_] := Table[facs[x, j, n]/facs[j, j, n], {j, -n, n}]
    d[n_] := Apply[LCM, Table[j, {j, 1, 2*n}]]
    dCoefs[x_, n_] := d[n] D[coefs[y, n], y] /. {y -> x}
    MatrixForm[Table[dCoefs[0, n], {n, 1, 5}]]