意味 与えられた一連の k + 1 {\displaystyle k+1} ノード { x 0 、 x 1 、 … 、 x k } {\displaystyle \{x_{0},x_{1},\ldots ,x_{k}\}} これら はすべて別個のものでなければならない。 x j ≠ x m {\displaystyle \textstyle x_{j}\neq x_{m}} インデックス 用 j ≠ m {\displaystyle j\neq m} 、次数 の多項式のラグランジュ基底 ≤ k {\displaystyle \leq k} これらのノードについては、多項式の集合である。 { ℓ 0 ( x ) 、 ℓ 1 ( x ) 、 … 、 ℓ k ( x ) } {\displaystyle \textstyle \{\ell _{0}(x),\ell _{1}(x),\ldots ,\ell _{k}(x)\}} それぞれの度数 k {\displaystyle k} 値を 取る ℓ j ( x m ) = 0 {\displaystyle \textstyle \ell _{j}(x_{m})=0} もし m ≠ j {\displaystyle m\neq j} そして ℓ j ( x j ) = 1 {\displaystyle \textstyle \ell _{j}(x_{j})=1} クロネッカーのデルタ を用いると、これ は次のように書ける。 ℓ j ( x m ) = δ j m {\displaystyle \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 ) {\displaystyle \textstyle \prod _{m\neq j}(x-x_{m})} 持っている k {\displaystyle k} ノードの根 { x m } m ≠ j {\displaystyle \textstyle \{x_{m}\}_{m\neq j}} 分母は ∏ m ≠ j ( x j − x m ) {\displaystyle \textstyle \prod _{m\neq j}(x_{j}-x_{m})} 結果として得られる多項式を次のようにスケーリングします 。 ℓ j ( x j ) = 1 {\displaystyle \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 {\displaystyle k} 、したがって合計は L ( x ) {\displaystyle L(x)} 学位を持って いる ≤ k {\displaystyle \leq k} 、そしてデータを補間するのは、 L ( x m ) = ∑ j = 0 k y j ℓ j ( x m ) = ∑ j = 0 k y j δ m j = y m {\displaystyle \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 ) {\displaystyle M(x)} 程度の ≤ k {\displaystyle \leq k} データを補間します。次に 差分 M ( x ) − L ( x ) {\displaystyle M(x)-L(x)} は ゼロです k + 1 {\displaystyle k+1} 異なる ノード{ x 0 、 x 1 、 … 、 x k } {\textstyle \{x_{0},x_{1},\ldots ,x_{k}\}} しかし、 次数 の唯一の多項式は ≤ k {\displaystyle \leq k} より多く k {\displaystyle k} 根は定数ゼロ関数なので、 M ( x ) − L ( x ) = 0 {\displaystyle M(x)-L(x)=0} 、または M ( x ) = L ( x ) {\displaystyle M(x)=L(x)} .
例 補間したいf ( x ) = x 2 {\displaystyle f(x)=x^{2}} ドメイン全体にわたって1 ≤ x ≤ 3 {\displaystyle 1\leq x\leq 3} 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}}}
(第二の)重心形式では、
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 の多項式でノードで補間する場合x 0 、 … 、 x k {\displaystyle x_{0},\dots ,x_{k}} 残りはR ( x ) = f ( x ) − L ( x ) {\displaystyle R(x)=f(x)-L(x)} これは次のように表現できます[ 6 ]
R ( x ) = f [ x 0 、 … 、 x k 、 x ] ℓ ( x ) = ℓ ( x ) f ( k + 1 ) ( ξ ) ( k + 1 ) ! 、 x 0 < ξ < x k 、 {\displaystyle {\begin{aligned}R(x)&=f[x_{0},\ldots ,x_{k},x]\ell (x)\\[1ex]&=\ell (x){\frac {f^{(k+1)}(\xi )}{(k+1)!}},&x_{0}<\xi <x_{k},\end{aligned}}}
どこf [ x 0 、 … 、 x k 、 x ] {\displaystyle f[x_{0},\ldots ,x_{k},x]} は分割差分 を表す表記です。あるいは、剰余は複素領域における経路積分として次のように表すことができます。
R ( x ) = ℓ ( x ) 2 π 私 ∫ C f ( t ) ( t − x ) ( t − x 0 ) ⋯ ( t − x k ) d t = ℓ ( x ) 2 π 私 ∫ C f ( t ) ( t − x ) ℓ ( t ) d t 。 {\displaystyle {\begin{aligned}R(x)&={\frac {\ell (x)}{2\pi i}}\int _{C}{\frac {f(t)}{(t-x)(t-x_{0})\cdots (t-x_{k})}}dt\\[1ex]&={\frac {\ell (x)}{2\pi i}}\int _{C}{\frac {f(t)}{(t-x)\ell (t)}}dt.\end{aligned}}}
残りは次のように束ねることができます
| R ( x ) | ≤ ( x k − x 0 ) k + 1 ( k + 1 ) ! 最大 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 )|.}
デリバティブ ラグランジュ補間多項式の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}}}
一次導関数は積の法則 を用いて求めることができる。
ℓ j ′ ( x ) = ∑ 私 = 0 私 ≠ j k [ 1 x j − x 私 ∏ m = 0 m ≠ ( 私 、 j ) k x − x m x j − x m ] = ℓ j ( x ) ∑ 私 = 0 私 ≠ j k 1 x − x 私 。 {\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 ) = ∑ 私 = 0 私 ≠ j k 1 x j − x 私 [ ∑ m = 0 m ≠ ( 私 、 j ) k ( 1 x j − x m ∏ n = 0 n ≠ ( 私 、 j 、 m ) k x − x n x j − x n ) ] = ℓ j ( x ) ∑ 0 ≤ 私 < m ≤ k 2 ( x − x 私 ) ( x − x m ) = ℓ j ( x ) [ ( ∑ 私 = 0 私 ≠ j k 1 x − x 私 ) 2 − ∑ 私 = 0 私 ≠ j k 1 ( x − x 私 ) 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 ≤ 私 < m < n ≤ k 3 ! ( x − x 私 ) ( 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ページ。 ↑ Waring, Edward (1779). "挿入に関する問題" . Philosophical Transactions of the Royal Society . 69 : 59– 67. doi : 10.1098/rstl.1779.0008 . ↑ Meijering, Erik (2002). "補間の年代記: 古代天文学から現代の信号処理と画像処理まで" (PDF) . Proceedings of the IEEE . 90 (3): 319– 342. doi : 10.1109/5.993400 . ↑ Berrut, Jean-Paul ; Trefethen, Lloyd N. (2004). "Barycentric Lagrange Interpolation" (PDF) . SIAM Review . 46 (3): 501– 517. Bibcode : 2004SIAMR..46..501B . doi : 10.1137/S0036144502417715 . ↑ Quarteroni, Alfio ; Saleri, Fausto (2003). Scientific Computing with MATLAB . Texts in computational science and engineering. Vol. 2. Springer. p. 66. ISBN 978-3-540-44363-6 。 。↑ アブラモウィッツ、ミルトン ; ステガン、アイリーン・アン 編(1983年)[1964年6月]。 「第25章、式25.2.3」 。 『数式、グラフ、数表付き数学関数ハンドブック 』 。応用数学シリーズ。第55巻 ( 第10版(1972年12月)の修正を加えた第9版再版;初版 )。ワシントンDC;ニューヨーク:米国商務省国立標準局;ドーバー出版。p. 878。ISBN 978-0-486-61272-0 . LCCN 64-60036 . MR 0167642 . LCCN 65-12253 . ↑ 「補間」 (PDF) 12~ 15ページ。 2017年2月15日に オリジナル (PDF) からアーカイブされました 。
外部リンク 「ラグランジュ補間公式」、数学百科事典 、EMS Press、2001年 [1994年] ALGLIBには、C++、C#、VBA、Pascalによる実装があります。 GSLにはC言語で書かれた多項式補間コードがある。 Stack Overflowには、このアルゴリズムを実演し、この記事の最初の画像を再現するMATLABの例があります。 ラグランジュ補間法— ノート、PPT、Mathcad、Mathematica、MATLAB、Maple ラグランジュ補間多項式(www.math-linux.com) ワイススタイン、エリック W. 「ラグランジュ補間多項式」 . MathWorld .双三次ラグランジュ補間のためのExcelワークシート関数 Pythonにおけるラグランジュ多項式