Polynomials used for interpolation
この画像は、4 つの点 ( (−9, 5) 、 (−4, 2) 、 (−1, −2) 、 (7, 9) ) について、 尺度化された基底多項式 y 0 ℓ 0 ( x )、y 1 ℓ 1 ( x )、y 2 ℓ 2 ( x )、および y 3 ℓ 3 ( x ) の合計である (3 次) 補間多項式 L ( x ) ( 破線 、 黒 ) を 示し て い ます 。 補間 多項式 は 4 つ の 制御 点 を すべて 通過 し 、 各 尺度 化 さ れ た 基底 多項式 は それぞれ の 制御 点を通過し、 x が 他の 3 つの制御点に対応するところで 0 になります。 数値解析 において 、 ラグランジュ補間多項式は 、与えられたデータセット を補間する 唯一 の 最低 次 多項式です。
座標ペア の データセットが与えられ 、 は ノード 、 は 値 と呼ばれます 。ラグランジュ多項式は 次数を持ち 、対応するノードの各値は、 ( x j , y j ) {\displaystyle (x_{j},y_{j})} 0 ≤ j ≤ k , {\displaystyle 0\leq j\leq k,} x j {\displaystyle x_{j}} y j {\displaystyle y_{j}} L ( x ) {\displaystyle L(x)} ≤ k {\textstyle \leq k} L ( x j ) = y j . {\displaystyle L(x_{j})=y_{j}.}
この方法は1795年に発表したジョゼフ=ルイ・ラグランジュ にちなんで名付けられましたが 、 [1] 、 1779年に エドワード・ウェアリング によって初めて発見されました 。 [2]また、これは レオンハルト・オイラー が1783年に発表した公式から容易に導かれる結果でもあります 。 [3]
ラグランジュ多項式の用途としては、 数値積分 の ニュートン・コーツ法 、 暗号 における シャミアの秘密分散法 、 符号理論 における リード・ソロモン誤り訂正法 などがあります。
等間隔のノードの場合、ラグランジュ補間は ルンゲの 大振動現象の影響を受けやすくなります。
意味 インデックス について 、 すべて異なる ノード の集合 が与えられた場合、それらのノード の 次数 の多項式の ラグランジュ基底は、 および の ときに 値を取る、 それぞれ 次数 の 多項式の集合です。 クロネッカーのデルタ を用いると、これは次のように書けます 。 各基底多項式は、次の積で明示的に記述できます。 k + 1 {\textstyle k+1} { x 0 , x 1 , … , x k } {\displaystyle \{x_{0},x_{1},\ldots ,x_{k}\}} x j ≠ x m {\displaystyle x_{j}\neq x_{m}} j ≠ m {\displaystyle j\neq m} ≤ k {\textstyle \leq k} { ℓ 0 ( x ) , ℓ 1 ( x ) , … , ℓ k ( x ) } {\textstyle \{\ell _{0}(x),\ell _{1}(x),\ldots ,\ell _{k}(x)\}} k {\textstyle k} ℓ j ( x m ) = 0 {\textstyle \ell _{j}(x_{m})=0} m ≠ j {\textstyle m\neq j} ℓ j ( x j ) = 1 {\textstyle \ell _{j}(x_{j})=1} ℓ j ( x m ) = δ j m . {\textstyle \ell _{j}(x_{m})=\delta _{jm}.}
ℓ j ( x ) = ( x − x 0 ) ( x j − x 0 ) ⋯ ( x − x j − 1 ) ( x j − x j − 1 ) ( x − x j + 1 ) ( x j − x j + 1 ) ⋯ ( x − x k ) ( x j − x k ) = ∏ 0 ≤ m ≤ k m ≠ j x − x m x j − x m | . {\displaystyle {\begin{aligned}\ell _{j}(x)&={\frac {(x-x_{0})}{(x_{j}-x_{0})}}\cdots {\frac {(x-x_{j-1})}{(x_{j}-x_{j-1})}}{\frac {(x-x_{j+1})}{(x_{j}-x_{j+1})}}\cdots {\frac {(x-x_{k})}{(x_{j}-x_{k})}}\\[8mu]&=\prod _{\begin{smallmatrix}0\leq m\leq k\\m\neq j\end{smallmatrix}}{\frac {x-x_{m}}{x_{j}-x_{m}}}{\vphantom {\Bigg |}}.\end{aligned}}}
分子は 節点に根 を持ち、 分母は 結果として得られる多項式をスケールするので、 ∏ m ≠ j ( x − x m ) {\textstyle \prod _{m\neq j}(x-x_{m})} k {\textstyle k} { x m } m ≠ j {\textstyle \{x_{m}\}_{m\neq j}} ∏ m ≠ j ( x j − x m ) {\textstyle \prod _{m\neq j}(x_{j}-x_{m})} ℓ j ( x j ) = 1. {\textstyle \ell _{j}(x_{j})=1.}
対応する値 を通るこれらのノードのラグランジュ補間多項式は 線形結合 です 。 { y 0 , y 1 , … , y k } {\displaystyle \{y_{0},y_{1},\ldots ,y_{k}\}}
L ( x ) = ∑ j = 0 k y j ℓ j ( x ) . {\displaystyle L(x)=\sum _{j=0}^{k}y_{j}\ell _{j}(x).}
各基底多項式は次数 なので、和は 次数 となり 、データの補間は次のように行われます。 k {\textstyle k} L ( x ) {\textstyle L(x)} ≤ k {\textstyle \leq k} L ( x m ) = ∑ j = 0 k y j ℓ j ( x m ) = ∑ j = 0 k y j δ m j = y m . {\textstyle L(x_{m})=\sum _{j=0}^{k}y_{j}\ell _{j}(x_{m})=\sum _{j=0}^{k}y_{j}\delta _{mj}=y_{m}.}
補間多項式は一意である。証明: 次数の多項式がデータを補間すると仮定する。すると、 異なるノードにおける 差は ゼロとなる。しかし、次数 以上の根を持つ 多項式は 定数ゼロ関数のみであるため、 または M ( x ) {\textstyle M(x)} ≤ k {\textstyle \leq k} M ( x ) − L ( x ) {\textstyle M(x)-L(x)} k + 1 {\textstyle k+1} { x 0 , x 1 , … , x k } . {\textstyle \{x_{0},x_{1},\ldots ,x_{k}\}.} ≤ k {\textstyle \leq k} k {\textstyle k} M ( x ) − L ( x ) = 0 , {\textstyle M(x)-L(x)=0,} M ( x ) = L ( x ) . {\textstyle M(x)=L(x).}
各ラグランジュ基底多項式は、 すべての基底多項式に共通する関数、ノード固有の定数 ( 重心重み と呼ばれる)、および からへ の変位を表す部分 の3つの部分の積として書き直すことができる。 [4] ℓ j ( x ) {\textstyle \ell _{j}(x)} ℓ ( x ) = ∏ m ( x − x m ) {\textstyle \ell (x)=\prod _{m}(x-x_{m})} w j = ∏ m ≠ j ( x j − x m ) − 1 {\textstyle w_{j}=\prod _{m\neq j}(x_{j}-x_{m})^{-1}} x j {\textstyle x_{j}} x {\textstyle x}
ℓ j ( x ) = ℓ ( x ) w j x − x j {\displaystyle \ell _{j}(x)=\ell (x){\dfrac {w_{j}}{x-x_{j}}}}
和から因数分解することで 、ラグランジュ多項式をいわゆる 第一重心形式 で書くことができます。 ℓ ( x ) {\textstyle \ell (x)}
L ( x ) = ℓ ( x ) ∑ j = 0 k w j x − x j y j . {\displaystyle L(x)=\ell (x)\sum _{j=0}^{k}{\frac {w_{j}}{x-x_{j}}}y_{j}.} 重みが 事前に計算されている場合は、 各ラグランジュ基底多項式を個別に評価する場合 と比較した操作のみが必要です 。 w j {\displaystyle w_{j}} O ( k ) {\displaystyle {\mathcal {O}}(k)} O ( k 2 ) {\displaystyle {\mathcal {O}}(k^{2})} ℓ j ( x ) {\displaystyle \ell _{j}(x)}
重心補間式は、 、 をそれぞれ で割り、上記のように新しい を構築することで、 新しい ノードを組み込むように簡単に更新できます 。 x k + 1 {\displaystyle x_{k+1}} w j {\displaystyle w_{j}} j = 0 … k {\displaystyle j=0\dots k} ( x j − x k + 1 ) {\displaystyle (x_{j}-x_{k+1})} w k + 1 {\displaystyle w_{k+1}}
任意の定数関数は データを補間する 次数の唯一の多項式である ため、 重心式をさらに簡略化して、 x , {\textstyle x,} ∑ j = 0 k ℓ j ( x ) = 1 {\textstyle \sum _{j=0}^{k}\ell _{j}(x)=1} g ( x ) = 1 {\textstyle g(x)=1} ≤ k {\displaystyle \leq k} { ( x 0 , 1 ) , ( x 1 , 1 ) , … , ( x k , 1 ) } . {\textstyle \{(x_{0},1),(x_{1},1),\ldots ,(x_{k},1)\}.} L ( x ) = L ( x ) / g ( x ) : {\displaystyle L(x)=L(x)/g(x)\colon }
L ( x ) = ℓ ( x ) ∑ j = 0 k w j x − x j y j / ℓ ( x ) ∑ j = 0 k w j x − x j = ∑ j = 0 k w j x − x j y j / ∑ j = 0 k w j x − x j . {\displaystyle {\begin{aligned}L(x)&=\ell (x)\sum _{j=0}^{k}{\frac {w_{j}}{x-x_{j}}}y_{j}{\Bigg /}\ell (x)\sum _{j=0}^{k}{\frac {w_{j}}{x-x_{j}}}\\[10mu]&=\sum _{j=0}^{k}{\frac {w_{j}}{x-x_{j}}}y_{j}{\Bigg /}\sum _{j=0}^{k}{\frac {w_{j}}{x-x_{j}}}.\end{aligned}}} これは、重心補間式の 2 番目の形式 または 真の形式 と呼ばれます。
この 2 番目の形式には、計算コストと精度の面で利点があります。 の評価を回避できます 。分母の各項を計算する作業は 計算で既に行われている ため、分母の合計を計算するには 加算演算のみが必要です。評価ポイントが ノードの 1 つに近い場合 、通常は値 の 壊滅的なキャンセルが 問題になります が、この量は分子と分母の両方に表示され、2 つがキャンセルされるため、最終結果の相対精度は良好になります。 ℓ ( x ) {\displaystyle \ell (x)} w j / ( x − x j ) {\displaystyle w_{j}/(x-x_{j})} ( w j / ( x − x j ) ) y j {\displaystyle {\bigl (}w_{j}/(x-x_{j}){\bigr )}y_{j}} k {\textstyle k} x {\textstyle x} x j {\textstyle x_{j}} ( x − x j ) {\textstyle (x-x_{j})}
この式をノードの1つで 評価すると 不確定な 結果となる 。コンピュータ実装では、このような結果を次のように置き換える必要がある。 L ( x ) {\displaystyle L(x)} x j {\displaystyle x_{j}} ∞ y j / ∞ {\displaystyle \infty y_{j}/\infty } L ( x j ) = y j . {\displaystyle L(x_{j})=y_{j}.}
各ラグランジュ基底多項式は重心形式でも表すことができます。
ℓ j ( x ) = w j x − x j / ∑ m = 0 k w m x − x m . {\displaystyle \ell _{j}(x)={\frac {w_{j}}{x-x_{j}}}{\Bigg /}\sum _{m=0}^{k}{\frac {w_{m}}{x-x_{m}}}.}
線形代数からの視点 補間問題 を解くことは、 線形代数 における行列の逆行列を求める 問題につながります。 補間多項式 の標準的な 単項式基底 を用いると、の 係数を 求めるには ヴァンデルモンド行列 を 逆行列化する必要があります 。より適切な基底であるラグランジュ基底 を選択すれば 、単に 単位行列 が得られます。 これはそれ自体の逆行列です。ラグランジュ基底は、ヴァンデルモンド行列の類似物を自動的に 逆行列化します 。 L ( x ) = ∑ j = 0 k x j m j {\textstyle L(x)=\sum _{j=0}^{k}x^{j}m_{j}} ( x i ) j {\displaystyle (x_{i})^{j}} L ( x i ) = y i {\displaystyle L(x_{i})=y_{i}} m j {\displaystyle m_{j}} L ( x ) {\displaystyle L(x)} L ( x ) = ∑ j = 0 k l j ( x ) y j {\textstyle L(x)=\sum _{j=0}^{k}l_{j}(x)y_{j}} δ i j {\displaystyle \delta _{ij}}
この構成は 中国式剰余定理 に類似しています。素数を法とする整数の剰余を調べるのではなく、多項式を線型で割ったときの剰余を調べます。
さらに、次数が大きい場合は、 高速フーリエ変換を 使用して補間多項式の係数を解くことができます。
例 3つのノードで ドメイン を補間したいとします 。 f ( x ) = x 2 {\displaystyle f(x)=x^{2}} 1 ≤ x ≤ 3 {\displaystyle 1\leq x\leq 3} { 1 , 2 , 3 } {\displaystyle \{1,\,2,\,3\}}
x 0 = 1 , y 0 = f ( x 0 ) = 1 , x 1 = 2 , y 1 = f ( x 1 ) = 4 , x 2 = 3 , y 2 = f ( x 2 ) = 9. {\displaystyle {\begin{aligned}x_{0}&=1,&&&y_{0}=f(x_{0})&=1,\\[3mu]x_{1}&=2,&&&y_{1}=f(x_{1})&=4,\\[3mu]x_{2}&=3,&&&y_{2}=f(x_{2})&=9.\end{aligned}}} ノード多項式 は ℓ {\displaystyle \ell }
ℓ ( x ) = ( x − 1 ) ( x − 2 ) ( x − 3 ) = x 3 − 6 x 2 + 11 x − 6. {\displaystyle \ell (x)=(x-1)(x-2)(x-3)=x^{3}-6x^{2}+11x-6.} 重心重みは
w 0 = ( 1 − 2 ) − 1 ( 1 − 3 ) − 1 = 1 2 , w 1 = ( 2 − 1 ) − 1 ( 2 − 3 ) − 1 = − 1 , w 2 = ( 3 − 1 ) − 1 ( 3 − 2 ) − 1 = 1 2 . {\displaystyle {\begin{aligned}w_{0}&=(1-2)^{-1}(1-3)^{-1}={\tfrac {1}{2}},\\[3mu]w_{1}&=(2-1)^{-1}(2-3)^{-1}=-1,\\[3mu]w_{2}&=(3-1)^{-1}(3-2)^{-1}={\tfrac {1}{2}}.\end{aligned}}} ラグランジュ基底多項式は
ℓ 0 ( x ) = x − 2 1 − 2 ⋅ x − 3 1 − 3 = 1 2 x 2 − 5 2 x + 3 , ℓ 1 ( x ) = x − 1 2 − 1 ⋅ x − 3 2 − 3 = − x 2 + 4 x − 3 , ℓ 2 ( x ) = x − 1 3 − 1 ⋅ x − 2 3 − 2 = 1 2 x 2 − 3 2 x + 1. {\displaystyle {\begin{aligned}\ell _{0}(x)&={\frac {x-2}{1-2}}\cdot {\frac {x-3}{1-3}}={\tfrac {1}{2}}x^{2}-{\tfrac {5}{2}}x+3,\\[5mu]\ell _{1}(x)&={\frac {x-1}{2-1}}\cdot {\frac {x-3}{2-3}}=-x^{2}+4x-3,\\[5mu]\ell _{2}(x)&={\frac {x-1}{3-1}}\cdot {\frac {x-2}{3-2}}={\tfrac {1}{2}}x^{2}-{\tfrac {3}{2}}x+1.\end{aligned}}} ラグランジュ補間多項式は次のとおりです。
L ( x ) = y 0 ⋅ ℓ 0 ( x ) + y 1 ⋅ ℓ 1 ( x ) + y 2 ⋅ ℓ 2 ( x ) = x 2 . {\displaystyle {\begin{aligned}L(x)&=y_{0}\cdot \ell _{0}(x)+y_{1}\cdot \ell _{1}(x)+y_{2}\cdot \ell _{2}(x)=x^{2}.\end{aligned}}} (第2)重心形式では、
L ( x ) = ∑ j = 0 2 w j x − x j y j ∑ j = 0 2 w j x − x j = 1 2 x − 1 + − 4 x − 2 + 9 2 x − 3 1 2 x − 1 + − 1 x − 2 + 1 2 x − 3 . {\displaystyle L(x)={\frac {\displaystyle \sum _{j=0}^{2}{\frac {w_{j}}{x-x_{j}}}y_{j}}{\displaystyle \sum _{j=0}^{2}{\frac {w_{j}}{x-x_{j}}}}}={\frac {\displaystyle {\frac {\tfrac {1}{2}}{x-1}}+{\frac {-4}{x-2}}+{\frac {\tfrac {9}{2}}{x-3}}}{\displaystyle {\frac {\tfrac {1}{2}}{x-1}}+{\frac {-1}{x-2}}+{\frac {\tfrac {1}{2}}{x-3}}}}.}
注記 ラグランジュ多項式セットの補間発散の例。 補間多項式のラグランジュ形は、多項式補間の線形性と補間多項式の一意性を示す。そのため、証明や理論的議論において好んで用いられる。また、ヴァンデルモンド行列の逆行列式が零でないことによる、ヴァンデル モンド行列 の一意性からも、この一意性が分かる。
しかし、構築からわかるように、ノード x k が 変化するたびに、すべてのラグランジュ基底多項式を再計算する必要があります。実用的(または計算的)な補間多項式のより適切な形式は、ラグランジュ補間の重心形式(下記参照)または ニュートン多項式 です。
上記の例のように、等間隔の点におけるラグランジュ補間やその他の補間法では、真の関数の上下に振動する多項式が得られます。この挙動は点の数が増えるにつれて大きくなり、 ルンゲ現象として知られる発散を引き起こします。この問題は 、チェビシェフノード に補間点を選択することで解消できます 。 [5]
ラグランジュ基底多項式は 数値積分において ニュートン・コーツの公式 を導くために使用することができます 。
ラグランジュ補間式の剰余 与えられた関数 fを k 次の多項式で ノードに補間すると、 次のように表される 剰余が得られる [6]。 x 0 , . . . , x k {\displaystyle x_{0},...,x_{k}} R ( x ) = f ( x ) − L ( x ) {\displaystyle R(x)=f(x)-L(x)}
R ( x ) = f [ x 0 , … , x k , x ] ℓ ( x ) = ℓ ( x ) f ( k + 1 ) ( ξ ) ( k + 1 ) ! , x 0 < ξ < x k , {\displaystyle R(x)=f[x_{0},\ldots ,x_{k},x]\ell (x)=\ell (x){\frac {f^{(k+1)}(\xi )}{(k+1)!}},\quad \quad x_{0}<\xi <x_{k},} ここでは 差分商 の表記である 。あるいは、剰余は複素領域における周回積分として次のように表すこともできる。 f [ x 0 , … , x k , x ] {\displaystyle f[x_{0},\ldots ,x_{k},x]}
R ( x ) = ℓ ( x ) 2 π i ∫ C f ( t ) ( t − x ) ( t − x 0 ) ⋯ ( t − x k ) d t = ℓ ( x ) 2 π i ∫ C f ( t ) ( t − x ) ℓ ( t ) d t . {\displaystyle R(x)={\frac {\ell (x)}{2\pi i}}\int _{C}{\frac {f(t)}{(t-x)(t-x_{0})\cdots (t-x_{k})}}dt={\frac {\ell (x)}{2\pi i}}\int _{C}{\frac {f(t)}{(t-x)\ell (t)}}dt.} 残りは次のように制限される。
| R ( x ) | ≤ ( x k − x 0 ) k + 1 ( k + 1 ) ! max x 0 ≤ ξ ≤ x k | f ( k + 1 ) ( ξ ) | . {\displaystyle |R(x)|\leq {\frac {(x_{k}-x_{0})^{k+1}}{(k+1)!}}\max _{x_{0}\leq \xi \leq x_{k}}|f^{(k+1)}(\xi )|.}
導出 明らかに、はノードで零です。 点 を 求めるには 、新しい関数 を定義し 、 を選びます。 は、与えられた に対して決定する必要がある定数です 。 が (すべてのノードと で )零点を 持つ ように選びます (端点を含む)。 が回微分可能で ある と仮定すると 、 と は 多項式であり、したがって は無限微分可能であるため、は 回微分 可能です 。 ロールの定理 により、は零点 を持ち 、は零点 を持ち … は1つの零点を持ちます( とします )。 を明示的に書き表すと : R ( x ) {\displaystyle R(x)} R ( x ) {\displaystyle R(x)} x p {\displaystyle x_{p}} F ( x ) = R ( x ) − R ~ ( x ) = f ( x ) − L ( x ) − R ~ ( x ) {\displaystyle F(x)=R(x)-{\tilde {R}}(x)=f(x)-L(x)-{\tilde {R}}(x)} R ~ ( x ) = C ⋅ ∏ i = 0 k ( x − x i ) {\textstyle {\tilde {R}}(x)=C\cdot \prod _{i=0}^{k}(x-x_{i})} C {\displaystyle C} x p {\displaystyle x_{p}} C {\displaystyle C} F ( x ) {\displaystyle F(x)} k + 2 {\displaystyle k+2} x p {\displaystyle x_{p}} x 0 {\displaystyle x_{0}} x k {\displaystyle x_{k}} f ( x ) {\displaystyle f(x)} k + 1 {\displaystyle k+1} L ( x ) {\displaystyle L(x)} R ~ ( x ) {\displaystyle {\tilde {R}}(x)} F ( x ) {\displaystyle F(x)} k + 1 {\displaystyle k+1} F ( 1 ) ( x ) {\displaystyle F^{(1)}(x)} k + 1 {\displaystyle k+1} F ( 2 ) ( x ) {\displaystyle F^{(2)}(x)} k {\displaystyle k} F ( k + 1 ) {\displaystyle F^{(k+1)}} ξ , x 0 < ξ < x k {\displaystyle \xi ,\,x_{0}<\xi <x_{k}} F ( k + 1 ) ( ξ ) {\displaystyle F^{(k+1)}(\xi )}
F ( k + 1 ) ( ξ ) = f ( k + 1 ) ( ξ ) − L ( k + 1 ) ( ξ ) − R ~ ( k + 1 ) ( ξ ) {\displaystyle F^{(k+1)}(\xi )=f^{(k+1)}(\xi )-L^{(k+1)}(\xi )-{\tilde {R}}^{(k+1)}(\xi )} L ( k + 1 ) = 0 , R ~ ( k + 1 ) = C ⋅ ( k + 1 ) ! {\displaystyle L^{(k+1)}=0,{\tilde {R}}^{(k+1)}=C\cdot (k+1)!} (の 最高べき乗は であるため ) x {\displaystyle x} R ~ ( x ) {\displaystyle {\tilde {R}}(x)} k + 1 {\displaystyle k+1} 0 = f ( k + 1 ) ( ξ ) − C ⋅ ( k + 1 ) ! {\displaystyle 0=f^{(k+1)}(\xi )-C\cdot (k+1)!} この式は次のように変形できる [7]
C = f ( k + 1 ) ( ξ ) ( k + 1 ) ! {\displaystyle C={\frac {f^{(k+1)}(\xi )}{(k+1)!}}} 私 たちは F ( x p ) = 0 {\displaystyle F(x_{p})=0} R ( x p ) = R ~ ( x p ) = f k + 1 ( ξ ) ( k + 1 ) ! ∏ i = 0 k ( x p − x i ) {\displaystyle R(x_{p})={\tilde {R}}(x_{p})={\frac {f^{k+1}(\xi )}{(k+1)!}}\prod _{i=0}^{k}(x_{p}-x_{i})}
デリバティブ ラグランジュ補間多項式のd 次導 関数は 、 基底多項式の導関数を使って次のように表すことができます。
L ( d ) ( x ) := ∑ j = 0 k y j ℓ j ( d ) ( x ) . {\displaystyle L^{(d)}(x):=\sum _{j=0}^{k}y_{j}\ell _{j}^{(d)}(x).} それぞれのラグランジュ基底多項式は、
ℓ j ( x ) = ∏ m = 0 m ≠ j k x − x m x j − x m . {\displaystyle {\begin{aligned}\ell _{j}(x)&=\prod _{\begin{smallmatrix}m=0\\m\neq j\end{smallmatrix}}^{k}{\frac {x-x_{m}}{x_{j}-x_{m}}}.\end{aligned}}}
1次導関数は 積の法則 を使って求めることができます。
ℓ j ′ ( x ) = ∑ i = 0 i ≠ j k [ 1 x j − x i ∏ m = 0 m ≠ ( i , j ) k x − x m x j − x m ] = ℓ j ( x ) ∑ i = 0 i ≠ j k 1 x − x i . {\displaystyle {\begin{aligned}\ell _{j}'(x)&=\sum _{\begin{smallmatrix}i=0\\i\not =j\end{smallmatrix}}^{k}{\Biggl [}{\frac {1}{x_{j}-x_{i}}}\prod _{\begin{smallmatrix}m=0\\m\not =(i,j)\end{smallmatrix}}^{k}{\frac {x-x_{m}}{x_{j}-x_{m}}}{\Biggr ]}\\[5mu]&=\ell _{j}(x)\sum _{\begin{smallmatrix}i=0\\i\not =j\end{smallmatrix}}^{k}{\frac {1}{x-x_{i}}}.\end{aligned}}} 2次導関数は
ℓ j ″ ( x ) = ∑ i = 0 i ≠ j k 1 x j − x i [ ∑ m = 0 m ≠ ( i , j ) k ( 1 x j − x m ∏ n = 0 n ≠ ( i , j , m ) k x − x n x j − x n ) ] = ℓ j ( x ) ∑ 0 ≤ i < m ≤ k 2 ( x − x i ) ( x − x m ) = ℓ j ( x ) [ ( ∑ i = 0 i ≠ j k 1 x − x i ) 2 − ∑ i = 0 i ≠ j k 1 ( x − x i ) 2 ] . {\displaystyle {\begin{aligned}\ell _{j}''(x)&=\sum _{\begin{smallmatrix}i=0\\i\neq j\end{smallmatrix}}^{k}{\frac {1}{x_{j}-x_{i}}}{\Biggl [}\sum _{\begin{smallmatrix}m=0\\m\neq (i,j)\end{smallmatrix}}^{k}{\Biggl (}{\frac {1}{x_{j}-x_{m}}}\prod _{\begin{smallmatrix}n=0\\n\neq (i,j,m)\end{smallmatrix}}^{k}{\frac {x-x_{n}}{x_{j}-x_{n}}}{\Biggr )}{\Biggr ]}\\[10mu]&=\ell _{j}(x)\sum _{0\leq i<m\leq k}{\frac {2}{(x-x_{i})(x-x_{m})}}\\[10mu]&=\ell _{j}(x){\Biggl [}{\Biggl (}\sum _{\begin{smallmatrix}i=0\\i\not =j\end{smallmatrix}}^{k}{\frac {1}{x-x_{i}}}{\Biggr )}^{2}-\sum _{\begin{smallmatrix}i=0\\i\not =j\end{smallmatrix}}^{k}{\frac {1}{(x-x_{i})^{2}}}{\Biggr ]}.\end{aligned}}} 3次導関数は
ℓ j ‴ ( x ) = ℓ j ( x ) ∑ 0 ≤ i < m < n ≤ k 3 ! ( x − x i ) ( x − x m ) ( x − x n ) {\displaystyle {\begin{aligned}\ell _{j}'''(x)&=\ell _{j}(x)\sum _{0\leq i<m<n\leq k}{\frac {3!}{(x-x_{i})(x-x_{m})(x-x_{n})}}\end{aligned}}} 高次の導関数についても同様です。
これらの導関数の公式はすべて、ノードまたはその近傍では無効であることに注意してください。ラグランジュ多項式のすべての次数の導関数を、ノードを含む領域のすべての点で効率的に評価する方法は、ラグランジュ多項式をべき基底形式に変換してから導関数を評価することです。
有限体 ラグランジュ多項式は 有限体上 でも計算できます。これは シャミールの秘密分散 法などの 暗号学 に応用されています。
参照
参考文献 ^ ラグランジュ、ジョゼフ=ルイ (1795)。 「Leçon Cinquième. Sur l'usage des courbes dans la solution des problèmes」。 Leçons Elémentaires sur les Mathématiques (フランス語)。パリ。 Serret、Joseph-Alfred 編に再掲載 。 (1877年)。 ラグランジュ作品集 。 Vol. 7. ゴーティエ・ヴィラール。 271–287ページ。 「第5講義 問題解決における曲線の利用について」 として翻訳。 初等数学講義 。マコーマック、トーマス・J.訳(第2版)。オープンコート。1901年。127 ~ 149頁。 ^ ウォーリング、エドワード (1779). 「補間に関する問題」. 王立協会哲学論文集 . 69 : 59–67 . doi :10.1098/rstl.1779.0008. ^ マイヤーリング、エリック (2002). 「補間の年表:古代天文学から現代の信号・画像処理まで」 (PDF) . Proceedings of the IEEE . 90 (3): 319– 342. doi :10.1109/5.993400. ^ Berrut, Jean-Paul ; Trefethen, Lloyd N. (2004). 「重心ラグランジュ補間」 (PDF) . SIAM Review . 46 (3): 501– 517. Bibcode :2004SIAMR..46..501B. doi : 10.1137/S0036144502417715 . ^ Quarteroni, Alfio ; Saleri, Fausto (2003). MATLABによる科学計算. 計算科学と工学のテキスト. 第2巻. Springer. p. 66. ISBN 978-3-540-44363-6 。 。 ^ アブラモウィッツ、ミルトン 、 ステガン、アイリーン・ アン編 (1983) [1964年6月]。「第25章 式25.2.3」。 『数式、グラフ、数表付き数学関数ハンドブック 』 。応用数学シリーズ。第55巻(1972年12月発行の第10刷に訂正を加えた第9刷、初版)。ワシントンD.C.、ニューヨーク:米国商務省国立標準局、ドーバー出版。878頁 。ISBN 978-0-486-61272-0 LCCN 64-60036. MR 0167642. LCCN 65-12253 . ^ 「補間」 (PDF) pp. 12– 15。2017年2月15日時点のオリジナル (PDF) からのアーカイブ。
外部リンク Wikibook アルゴリズム実装には、 多項式補間 に関するページがあります。
「ラグランジュ補間公式」、 数学百科事典 、 EMSプレス 、2001 [1994] ALGLIB には C++ / C# / VBA / Pascal の実装があります。 GSLにはC言語で多項式補間コードがある SOには、アルゴリズムを実証し、この記事の最初の画像を再現するMATLABの例があります。 ラグランジュ補間法 — ノート、PPT、Mathcad、Mathematica、MATLAB、Maple www.math-linux.com のラグランジュ補間多項式 ワイスタイン、エリック・W. 「ラグランジュ補間多項式」 。MathWorld 。 双三次ラグランジュ補間の Excel ワークシート関数 Pythonにおけるラグランジュ多項式