差分の数学的意味と誤差

数学では、なんとなく同じような値になるからといって、無条件に使えるような都合のいい話はゆるされません。
差分が微分の近似として使えるのにもちゃんとした理由があります。
ここで、テイラー展開を持ってきます
\sum_{n=0}^\infty\frac{f^{(n)}(a)}{n!}(x-a)^n


ここで、x=x0+d、a=x0と置くと、次のようになります。
f(x_0+d)=f(x_0)+df'(x_0)+\frac{d^2}{2}f''(x_0)+\frac{d^3}{6}f'''(x_0)+\cdots
この式を変形すると
f'(x_0)=\frac{f(x_0+d)-f(x_0)}{d}-(\frac{d}{2}f''(x_0)+\frac{d^2}{6}f'''(x_0)+\cdots)
となります。dを十分小さい数値とするので
O(d)=\frac{d}{2}f''(x_0)+\frac{d^2}{6}f'''(x_0)+\cdots
は、誤差として切り捨てると、前進差分の式
f'(x_0)\approx\frac{f(x_0+d)-f(x_0)}{d}
が残ります。
つまり、この場合は、O(d)が誤差になります。


また、x=x0-d, a=x0と置いてテイラー展開すると次のようになります。
f(x_0-d)=f(x_0)-df'(x_0)+\frac{d^2}{2}f''(x_0)-\frac{d^3}{6}f'''(x_0)+\cdots
これをx=x0+d, a=x0と置いたテイラー展開から引くと
f(x_0+d)-f(x_0-d)=2df'(x_0)+2\frac{d^3}{6}f'''(x_0)+\cdots
となって、これを変形すると
f'(x_0)=\frac{f(x_0+d)-f(x_0-d)}{2d}-(\frac{d^2}{6}f'''(x_0)+\cdots)
となり、
O(d^2)=\frac{d^2}{6}f'''(x_0)+\cdots
を誤差として切り捨てると、中心差分の式
f'(x_0)\approx\frac{f(x_0+d)-f(x_0-d)}{2d}
が残ります。
この場合は、O(d^2)が誤差になります。


このとき、dは十分小さい値で、d>>d^2となるので、O(d)>>O(d^2)となります。
このことから、中心差分の方が前進差分より誤差が小さいといえることがわかります。