ラグランジュの補間多項式とは
ラグランジュの補間多項式の目的
二つの点$ (x_0, y_0), (x_1, y_1) $が与えられたときそれらの点を通る直線は1つに定まります。同じように点が三つ与えられたときはそれらを通る放物線は1つに定まりますね。これを一般化すると、$
( n + 1 ) $個の点が与えられた時、それらを通るn次関数は一つに定まりますよね。これを求めるのがラグランジュ多項式です。
具体的にどういう風に求めるか
まず与えられた点の数だけ
3つの点$ (x_0, y_0), (x_1, y_1), (x_2, y_2) $が与えらえてるとします。まず、与えられた点の数だけ関数を作ります
- $ f_0(x) = (x - x_1) (x - x_2) $
- $ f_1(x) = (x - x_2) (x - x_0) $
- $ f_2(x) = (x - x_0) (x - x_1) $
これらの方程式には次のような特徴があります - $ f_0(x_1) = f_1(x_2) = 0 $
- $ f_1(x_2) = f_1(x_0) = 0 $
- $ f_2(x_0) = f_2(x_1) = 0 $
なので、次の式が成り立ちます
\begin{eqnarray}
\frac{y_0 f_0(x_i)}{f_0(x_0)} = \left\{
\begin{array}{l}
y_0, i = 0\\
0, i \in \{1, 2\}
\end{array}\right. \\
\frac{ y_1 f_1(x_i)}{f_1(x_1)} = \left\{
\begin{array}{l}
y_1, i = 1\\
0, i \in \{0, 2\}
\end{array}\right. \\
\frac{ y_2 f_2(x_i)}{f_2(x_2)} = \left\{
\begin{array}{l}
y_2, i = 2\\
0, i \in \{0, 1\}
\end{array}\right.
\end{eqnarray}
なので$ g(x) = \sum_{k = 0}^{2} y_k \frac{f_k(x)}{f_k(x_k)} $とすると、
g(x_0) = y_0 \\
g(x_1) = y_1 \\
g(x_2) = y_2 \\
きちんと$ g(x) $は$(x_0, y_0), (x_1, y_1), (x_2, y_2) $を通っているのがわかります。
一般化
$ n + 1 $個の点$ (x_0, y_0), (x_1, y_1) ..... (x_n, y_n) $まず、$ f_i(x) $の一般化ですね。
f_i(x) = \frac{\prod_{k = 0}^n(x - x_k) }{ (x - x_i) }
この関数は先ほど確かめた通り次の特徴を持ちます。
k \neq i \Rightarrow f_i(x_k) = 0
なので、求めたい関数は
\sum_{ k = 0 }^n \frac{ y_i f_k(x) }{ f_k(x_k) }
になります。