補間に使用される多項式
この画像は、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
じゅう
、
ええ
じゅう
)
{\displaystyle (x_{j},y_{j})}
0
≤
じゅう
≤
け
、
{\displaystyle 0\leq j\leq k,}
x
じゅう
{\displaystyle x_{j}}
ええ
じゅう
{\displaystyle y_{j}}
ら
(
x
)
{\displaystyle L(x)}
≤
け
{\textstyle \leq k}
ら
(
x
じゅう
)
=
ええ
じゅう
。
{\displaystyle L(x_{j})=y_{j}.}
この方法は1795年に発表したジョゼフ=ルイ・ラグランジュ にちなんで名付けられましたが 、 [1] 最初に発見されたのは1779年に エドワード・ワーリング でした。 [2]また、これは レオンハルト・オイラー が1783年に発表した公式から簡単に導かれた結果でもあります 。 [3]
ラグランジュ多項式の用途としては、 数値積分 の ニュートン・コーツ法 、 暗号 におけるシャミア の秘密分散法 、 符号理論 における リード・ソロモン誤り訂正法 などがあります。
等間隔のノードの場合、ラグランジュ補間は ルンゲの大振動現象 の影響を受けやすくなります。
意味
インデックス について 、すべて異なる ノード の集合がある場合 、 それらのノードの 次数の多項式の ラグランジュ基底は 、 および の 場合に 値を取る、 それぞれ 次数の多項式の集合です 。 クロネッカーのデルタ を使用すると、これは次のように記述できます 。各基底多項式は、次の積で明示的に記述できます。
け
+
1
{\textstyle k+1}
{
x
0
、
x
1
、
…
、
x
け
}
{\displaystyle \{x_{0},x_{1},\ldots ,x_{k}\}}
x
じゅう
≠
x
メートル
{\displaystyle x_{j}\neq x_{m}}
じゅう
≠
メートル
{\displaystyle j\neq m}
≤
け
{\textstyle \leq k}
{
ℓ
0
(
x
)
、
ℓ
1
(
x
)
、
…
、
ℓ
け
(
x
)
}
{\textstyle \{\ell _{0}(x),\ell _{1}(x),\ldots ,\ell _{k}(x)\}}
け
{\textstyle k}
ℓ
じゅう
(
x
メートル
)
=
0
{\textstyle \ell _{j}(x_{m})=0}
メートル
≠
じゅう
{\textstyle m\neq j}
ℓ
じゅう
(
x
じゅう
)
=
1
{\textstyle \ell _{j}(x_{j})=1}
ℓ
じゅう
(
x
メートル
)
=
δ
じゅう
メートル
。
{\textstyle \ell _{j}(x_{m})=\delta _{jm}.}
ℓ
じゅう
(
x
)
=
(
x
−
x
0
)
(
x
じゅう
−
x
0
)
⋯
(
x
−
x
じゅう
−
1
)
(
x
じゅう
−
x
じゅう
−
1
)
(
x
−
x
じゅう
+
1
)
(
x
じゅう
−
x
じゅう
+
1
)
⋯
(
x
−
x
け
)
(
x
じゅう
−
x
け
)
=
∏
0
≤
メートル
≤
け
メートル
≠
じゅう
x
−
x
メートル
x
じゅう
−
x
メートル
|
。
{\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}}}
分子は 節点に根 を持ち 、分母は 結果として得られる多項式をスケーリングするので、
∏
メートル
≠
じゅう
(
x
−
x
メートル
)
{\textstyle \prod _{m\neq j}(x-x_{m})}
け
{\textstyle k}
{
x
メートル
}
メートル
≠
じゅう
{\textstyle \{x_{m}\}_{m\neq j}}
∏
メートル
≠
じゅう
(
x
じゅう
−
x
メートル
)
{\textstyle \prod _{m\neq j}(x_{j}-x_{m})}
ℓ
じゅう
(
x
じゅう
)
=
1.
{\textstyle \ell _{j}(x_{j})=1.}
対応する値 を通るこれらのノードのラグランジュ補間多項式 は線形結合です。
{
ええ
0
、
ええ
1
、
…
、
ええ
け
}
{\displaystyle \{y_{0},y_{1},\ldots ,y_{k}\}}
ら
(
x
)
=
∑
じゅう
=
0
け
ええ
じゅう
ℓ
じゅう
(
x
)
。
{\displaystyle L(x)=\sum _{j=0}^{k}y_{j}\ell _{j}(x).}
各基底多項式の次数は なので、和は 次数となり 、データを補間する。
け
{\textstyle k}
ら
(
x
)
{\textstyle L(x)}
≤
け
{\textstyle \leq k}
ら
(
x
メートル
)
=
∑
じゅう
=
0
け
ええ
じゅう
ℓ
じゅう
(
x
メートル
)
=
∑
じゅう
=
0
け
ええ
じゅう
δ
メートル
じゅう
=
ええ
メートル
。
{\textstyle L(x_{m})=\sum _{j=0}^{k}y_{j}\ell _{j}(x_{m})=\sum _{j=0}^{ k}y_{j}\delta _{mj}=y_{m}.}
補間多項式は一意です。証明: 次数の多項式が データを補間すると仮定します。この場合、 異なるノード での差はゼロになります。ただし、次 数以上の根を持つ 唯一の多項式は 定数ゼロ関数であるため、 または
ま
(
x
)
{\textstyle M(x)}
≤
け
{\textstyle \leq k}
ま
(
x
)
−
ら
(
x
)
{\textstyle M(x)-L(x)}
け
+
1
{\textstyle k+1}
{
x
0
、
x
1
、
…
、
x
け
}
。
{\textstyle \{x_{0},x_{1},\ldots ,x_{k}\}.}
≤
け
{\textstyle \leq k}
け
{\textstyle k}
ま
(
x
)
−
ら
(
x
)
=
0
、
{\textstyle M(x)-L(x)=0,}
ま
(
x
)
=
ら
(
x
)
。
{\textstyle M(x)=L(x).}
各ラグランジュ基底多項式は 、すべての基底多項式に共通する関数、ノード固有の定数 ( 重心重み と呼ばれる)、 およびからへの変位を表す部分 の3つの部分の積として書き直すことができる 。 [4]
ℓ
じゅう
(
x
)
{\textstyle \ell _{j}(x)}
ℓ
(
x
)
=
∏
メートル
(
x
−
x
メートル
)
{\textstyle \ell (x)=\prod _{m}(x-x_{m})}
わ
じゅう
=
∏
メートル
≠
じゅう
(
x
じゅう
−
x
メートル
)
−
1
{\textstyle w_{j}=\prod _{m\neq j}(x_{j}-x_{m})^{-1}}
x
じゅう
{\textstyle x_{j}}
x
{\textstyle x}
ℓ
じゅう
(
x
)
=
ℓ
(
x
)
わ
じゅう
x
−
x
じゅう
{\displaystyle \ell _{j}(x)=\ell (x){\dfrac {w_{j}}{x-x_{j}}}}
和から因数分解することで 、ラグランジュ多項式をいわゆる 第一重心形式 で表すことができます。
ℓ
(
x
)
{\textstyle \ell (x)}
ら
(
x
)
=
ℓ
(
x
)
∑
じゅう
=
0
け
わ
じゅう
x
−
x
じゅう
ええ
じゅう
。
{\displaystyle L(x)=\ell (x)\sum _{j=0}^{k}{\frac {w_{j}}{x-x_{j}}}y_{j}.}
重み が事前に計算されている場合は、 各ラグランジュ基底多項式を個別に評価するための 操作のみが必要になります 。
わ
じゅう
{\displaystyle w_{j}}
お
(
け
)
{\displaystyle {\mathcal {O}}(k)}
お
(
け
2
)
{\displaystyle {\mathcal {O}}(k^{2})}
ℓ
じゅう
(
x
)
{\displaystyle \ell_{j}(x)}
重心補間式は、 のそれぞれを で割り 、 上記のように
新しい を構築する ことで、 新しいノードを組み込むように簡単に更新することもできます。
x
け
+
1
{\displaystyle x_{k+1}}
わ
じゅう
{\displaystyle w_{j}}
じゅう
=
0
…
け
{\displaystyle j=0\dots k}
(
x
じゅう
−
x
け
+
1
)
{\displaystyle (x_{j}-x_{k+1})}
わ
け
+
1
{\displaystyle w_{k+1}}
任意の定数関数は データを補間する 次数の唯一の多項式である ため、 重心式を次のようにさらに簡略化することができます。
x
、
{\textstyle x,}
∑
じゅう
=
0
け
ℓ
じゅう
(
x
)
=
1
{\textstyle \sum _{j=0}^{k}\ell _{j}(x)=1}
グ
(
x
)
=
1
{\textstyle g(x)=1}
≤
け
{\displaystyle \leq k}
{
(
x
0
、
1
)
、
(
x
1
、
1
)
、
…
、
(
x
け
、
1
)
}
。
{\textstyle \{(x_{0},1),(x_{1},1),\ldots ,(x_{k},1)\}.}
ら
(
x
)
=
ら
(
x
)
/
グ
(
x
)
:
{\displaystyle L(x)=L(x)/g(x)\colon }
ら
(
x
)
=
ℓ
(
x
)
∑
じゅう
=
0
け
わ
じゅう
x
−
x
じゅう
ええ
じゅう
/
ℓ
(
x
)
∑
じゅう
=
0
け
わ
じゅう
x
−
x
じゅう
=
∑
じゅう
=
0
け
わ
じゅう
x
−
x
じゅう
ええ
じゅう
/
∑
じゅう
=
0
け
わ
じゅう
x
−
x
じゅう
。
{\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
)
=
1
⋅
x
−
2
1
−
2
⋅
x
−
3
1
−
3
+
4
⋅
x
−
1
2
−
1
⋅
x
−
3
2
−
3
+
9
⋅
x
−
1
3
−
1
⋅
x
−
2
3
−
2
=
x
2
.
{\displaystyle {\begin{aligned}L(x)&=1\cdot {\frac {x-2}{1-2}}\cdot {\frac {x-3}{1-3}}+4\cdot {\frac {x-1}{2-1}}\cdot {\frac {x-3}{2-3}}+9\cdot {\frac {x-1}{3-1}}\cdot {\frac {x-2}{3-2}}\\[6mu]&=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ページ。 「講義 V. 問題解決における曲線の使用について」 として翻訳。 初等数学講義 。マコーマック、トーマス J. 訳 (第 2 版)。オープン コート。1901 年。127 ~ 149 ページ。
^ ウォーリング、エドワード(1779)。 「 補間に関する問題」。 王立協会哲学論文集 。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). 「重心ラグランジュ補間」 (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 巻 (訂正を含む第 10 回目の初版 (1972 年 12 月) の追加訂正を含む第 9 回目の再版、初版)。ワシントン DC、ニューヨーク: 米国商務省、国立標準局、ドーバー出版。p. 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 Press 、2001 [1994]
ALGLIB には C++ / C# / VBA / Pascal の実装があります。
GSLにはC言語の多項式補間コードがある
SOには、アルゴリズムを実証し、この記事の最初の画像を再現するMATLABの例があります。
ラグランジュ補間法 — ノート、PPT、Mathcad、Mathematica、MATLAB、Maple
www.math-linux.com のラグランジュ補間多項式
Weisstein、Eric W. 「ラグランジュ補間多項式」 。MathWorld 。
ProofWiki のラグランジュ多項式
双三次ラグランジュ補間の Excel ワークシート関数
Python でのラグランジュ多項式