数値近似で使用される係数
数学では、導関数を任意の精度のオーダーに近似するために、有限差分を使用できます。有限差分は、中心差分、 前方差分、または後方差分のいずれかになります。
中心差分
この表には、中心差分の係数がいくつかの精度のオーダーと均一なグリッド間隔で含まれています。[1]
例えば、2次の精度を持つ3次導関数は

ここで、は各有限差分区間間の均一なグリッド間隔を表し、 です。


精度 の 次導関数には中心係数がある。これらは線形方程式系の解によって与えられる。





ここで、右側の唯一のゼロ以外の値は- 行目にあります。

1次元で任意の導関数と精度オーダーの差分係数を計算するオープンソース実装が利用可能です。[2]
左側の行列が転置されたヴァンデルモンド行列であることを考えると、並べ替えにより、係数は基本的に、点のウィンドウに - 次多項式をフィッティングして導出することによって計算されることがわかります。したがって、係数は、多項式次数とウィンドウサイズ を持つ完全に決定されたSavitzky–Golay フィルタの - 次導関数として計算することもできます。このために、オープンソース実装も利用できます。[3]係数の順序が異なる2つの定義が考えられます。離散畳み込みを介してフィルタリングするフィルタ、または行列ベクトル積を介してフィルタリングするフィルタです。上の表に示されている係数は、後者の定義に対応しています。






ラグランジュ多項式理論は差分係数の明示的な公式を提供する。[4]最初の6つの導関数は次のようになる。
ここで、 は一般化調和数です。

前進差分
この表には、いくつかの精度のオーダーと均一なグリッド間隔での前方差分の係数が含まれています。[1]
例えば、3次精度の1次導関数と2次精度の2次導関数は、


対応する逆近似は次のように与えられる。


後方差分
前方近似の係数から後方近似の係数を得るには、前のセクションの表にリストされているすべての奇数導関数に反対の符号を与え、偶数導関数の符号は同じままにします。次の表はこれを示しています。[5]
任意のステンシルポイント
任意のステンシル点と、ステンシル点の数より1少ない次までの任意の微分に対して、差分係数は線形方程式を解くことによって得られる[6]。


ここで、はクロネッカーのデルタであり、 の場合は 1 、それ以外の場合は 0 になります。


たとえば、 の場合、微分次数は次のようになります。
![{\displaystyle s=[-3,-2,-1,0,1]}](https://wikimedia.org/api/rest_v1/media/math/render/svg/0755a78dd45f6b4c6e64c8fc2f2d15a68dee9893)


近似の精度の順序は通常の形式(中心差分の場合はそれより良い形式)をとる[要出典]。

参照
参考文献
- ^ ab Fornberg, Bengt (1988)、「任意間隔のグリッド上での有限差分式の生成」、Mathematics of Computation、51 (184): 699–706、doi : 10.1090/S0025-5718-1988-0935077-0、ISSN 0025-5718。
- ^ 「任意の次元数の有限差分数値導関数のための Python パッケージ」。GitHub。2021年 10 月 14 日。
- ^ "scipy.signal.savgol_filter". Scipyオンラインドキュメント. 2008–2024.
- ^ 「有限差分係数」。StackExchange。2023年6月5日。
- ^ Taylor, Cameron (2019年12月12日). 「有限差分係数計算機」. MIT.
- ^ 「差分係数計算機」。