ビジネス

ラグランジュ補間の公式は?導出方法や証明も!(多項式の一意性:基底関数:n次補間など)

ラグランジュ補間公式の全体像
当サイトでは記事内に広告を含みます

ラグランジュ補間は、複数の既知の点をすべて通る多項式を直接つくるための代表的な手法です。

数値計算やデータ解析で登場する一方、公式だけを見ると分数や積の記号が並び、どのような意味があるのか分かりにくいかもしれません。

この記事では、ラグランジュ補間の公式を出発点として、基底関数の役割、導出の考え方、多項式の一意性、証明、具体例まで順番に整理します。

n次補間や誤差の考え方も押さえることで、公式を暗記するだけではなく、必要な場面で使える知識へとつなげましょう。

ラグランジュ補間公式の全体像

ラグランジュ補間公式の全体像

それではまずラグランジュ補間公式の全体像について解説していきます。

補間点を通る多項式

ラグランジュ補間とは、異なる横座標をもつ複数の点に対して、それらをすべて通過する多項式を求める方法です。

たとえば、\(x_0,x_1,\ldots,x_n\) がすべて異なり、各点での関数値が \(y_0,y_1,\ldots,y_n\) と分かっている場合を考えます。

このとき、各条件 \(P_n(x_i)=y_i\) を満たす高々n次の多項式 \(P_n(x)\) が、ラグランジュ補間多項式です。

公式は次のように表せます。

\(P_n(x)=\sum_{i=0}^{n}y_iL_i(x)\)

\(L_i(x)=\prod_{j=0,j\neq i}^{n}\dfrac{x-x_j}{x_i-x_j}\)

ここで重要なのは、\(L_i(x)\) が各データ値 \(y_i\) に対応する重みのような働きをする点です。

各項を足し合わせるだけで、与えられたすべての点を正確に通る多項式が完成します。

基底関数の値の特徴

\(L_i(x)\) はラグランジュの基本多項式、または基底関数と呼ばれます。

この関数は、補間点 \(x_i\) では1となり、それ以外の補間点では0になるように設計されています。

つまり、\(L_i(x_k)\) は、\(i=k\) のとき1、\(i\neq k\) のとき0です。

この性質のおかげで、\(x=x_k\) を公式へ代入すると、必要な \(y_k\) だけが残ります。

代入する点 \(L_i(x)\) の値 補間多項式への影響
\(x=x_i\) 1 \(y_i\) の項がそのまま残ります
\(x=x_j\)、\(j\neq i\) 0 \(y_i\) の項は消えます
補間点以外のx 一般に0でも1でもありません 各データ値を組み合わせて推定します

この0と1の切り替えが、公式の仕組みを理解するための中心です。

分母には補間点同士の距離、分子には求めたい位置と各補間点の距離が入るため、点の位置関係が多項式の形へ反映されます。

結論として押さえたい公式

ラグランジュ補間では、n個ではなくn+1個の異なる点が与えられると、高々n次の補間多項式を求められます。

たとえば3点があれば高々2次、4点があれば高々3次の多項式を構成できます。

ラグランジュ補間の要点は、各点で1になり他の点で0になる基底関数をつくり、対応する関数値を掛けて足し合わせることです。

横座標が重複していなければ、補間多項式は一意に定まります。

したがって、連立方程式を毎回解かなくても、公式へ値を代入する形で補間多項式を組み立てられます。

計算量や数値誤差には注意が必要ですが、理論の見通しがよいことが大きな魅力でしょう。

基底関数の構成原理

続いては基底関数の構成原理を確認していきます。

他の点で零になる分子

まず、\(i\) 番目のデータ点に対応する基底関数を考えます。

\(x_i\) 以外の補間点で値を0にしたいので、分子には \(x-x_j\) を、\(j\neq i\) のすべてについて含めます。

たとえば3点 \(x_0,x_1,x_2\) があり、\(L_0(x)\) をつくる場合、分子は \((x-x_1)(x-x_2)\) です。

\(x=x_1\) または \(x=x_2\) を代入すれば、どちらの場合も因子の一つが0になります。

これにより、\(L_0(x_1)=0\)、\(L_0(x_2)=0\) が自然に実現します。

この考え方は点の数が増えても変わらず、不要な点で消える因子を並べることが出発点です。

自分の点で一になる分母

分子だけでは、\(x=x_i\) を代入したときの値が1になるとは限りません。

そこで、分子の値を \(x=x_i\) で評価したものを分母に置き、全体を正規化します。

一般形では、分子が \(\prod_{j\neq i}(x-x_j)\)、分母が \(\prod_{j\neq i}(x_i-x_j)\) です。

\(L_i(x)=\dfrac{(x-x_0)\cdots(x-x_{i-1})(x-x_{i+1})\cdots(x-x_n)}{(x_i-x_0)\cdots(x_i-x_{i-1})(x_i-x_{i+1})\cdots(x_i-x_n)}\)

\(x=x_i\) とすれば分子と分母が一致するため、\(L_i(x_i)=1\) となります。

分母が0にならない条件は、すべての補間点の横座標が異なることです。

同じ \(x\) に異なる \(y\) が対応するデータは、通常の関数として扱えないため、この条件は計算上だけでなく意味の面でも必要になります。

基底関数を足す意味

基底関数だけをすべて足すと、\(L_0(x)+L_1(x)+\cdots+L_n(x)=1\) になります。

これは各補間点で左辺が1となり、定数多項式1と一致することからも確認できます。

補間多項式では、この基底関数に各点の高さ \(y_i\) を掛けます。

すると、ある補間点では対応する高さだけが選ばれ、他の高さは0倍となります。

構成要素 役割 補間点での挙動
\(L_i(x)\) i番目の値を選び出す基底 \(x_i\) で1、他点で0
\(y_iL_i(x)\) i番目の高さを反映する項 \(x_i\) で \(y_i\)、他点で0
\(\sum y_iL_i(x)\) 全データを通る多項式 各点で対応する \(y_i\)

このように、ラグランジュ補間はデータの値を基底関数で選択する構造をもっています。

公式を眺めて複雑に感じたときは、0にする分子と1にそろえる分母へ分けて考えると理解しやすくなります。

ラグランジュ補間公式の導出手順

続いてはラグランジュ補間公式の導出手順を確認していきます。

二点を結ぶ一次補間

最も簡単な例として、2点 \((x_0,y_0)\)、\((x_1,y_1)\) を通る一次式を考えます。

\(x_0\) で1、\(x_1\) で0となる基底関数は、\(\dfrac{x-x_1}{x_0-x_1}\) です。

反対に、\(x_0\) で0、\(x_1\) で1となる基底関数は、\(\dfrac{x-x_0}{x_1-x_0}\) となります。

\(P_1(x)=y_0\dfrac{x-x_1}{x_0-x_1}+y_1\dfrac{x-x_0}{x_1-x_0}\)

これは二点を結ぶ直線の式であり、線形補間と同じ内容です。

ラグランジュ補間は、この一次補間を点の数に応じて一般化したものと捉えられます。

したがって、公式を初めて学ぶ場合には、直線補間とのつながりを確認すると理解が進みます。

三点を通る二次補間

次に、3点 \((x_0,y_0)\)、\((x_1,y_1)\)、\((x_2,y_2)\) を通る二次補間を見てみましょう。

各基底関数には、他の二つの補間点で0になるよう、二つの因子が必要です。

補間多項式は次の形になります。

\(P_2(x)=y_0\dfrac{(x-x_1)(x-x_2)}{(x_0-x_1)(x_0-x_2)}+y_1\dfrac{(x-x_0)(x-x_2)}{(x_1-x_0)(x_1-x_2)}+y_2\dfrac{(x-x_0)(x-x_1)}{(x_2-x_0)(x_2-x_1)}\)

それぞれの項は二次式ですが、データの配置によっては二次の係数が相殺され、一次式や定数式になる場合もあります。

高々2次と表現するのは、このようなケースを含むためです。

点が3個なら必ず放物線になるとは限らないことも、実務上の小さな注意点でしょう。

一般のn次補間への拡張

n+1個の点があれば、各基底関数にn個の一次因子を含めます。

そのため、各 \(L_i(x)\) は高々n次の多項式です。

データ値 \(y_i\) を掛けて足しても次数は高々n次のままであり、公式全体もn次以下に収まります。

導出の流れは、他の補間点で0になる多項式をつくり、自分の補間点で1になるよう正規化し、各データ値を掛けて加えるという三段階です。

この手順を理解しておけば、公式を忘れても再構成しやすくなります。

なお、n次補間という名称は通常、高々n次の多項式を指します。

与えられたデータが直線上に並ぶ場合でも、3点や4点を使って補間を行える点は覚えておくとよいでしょう。

多項式の一意性と証明

続いては多項式の一意性と証明を確認していきます。

補間条件を満たすことの確認

ラグランジュ補間多項式が本当に各データ点を通ることは、基底関数の性質からすぐ確かめられます。

任意の \(k\) について \(x=x_k\) を代入すると、\(L_k(x_k)=1\)、それ以外の \(L_i(x_k)\) は0です。

よって、\(P_n(x_k)=\sum_{i=0}^{n}y_iL_i(x_k)=y_k\) となります。

この計算は、公式が補間条件を満たすことの証明です。

各項がどの点で残り、どの点で消えるかを追うだけなので、最も基本的で重要な検算にもなります。

二つの多項式の差

次に、同じn+1個の点を通る高々n次の多項式が二つ存在したと仮定します。

それらを \(P_n(x)\)、\(Q_n(x)\) とし、その差を \(R(x)=P_n(x)-Q_n(x)\) と置きます。

両者はすべての補間点で同じ値をとるので、\(R(x_0)=R(x_1)=\cdots=R(x_n)=0\) です。

つまり、\(R(x)\) は異なるn+1個の根をもちます。

しかし、0ではない高々n次の多項式が、異なるn+1個以上の根をもつことはできません。

したがって \(R(x)\) は零多項式であり、\(P_n(x)=Q_n(x)\) が成り立ちます。

一意性が示す実用上の意味

この証明により、補間点の横座標がすべて異なる限り、求める多項式はただ一つと分かります。

公式で計算しても、係数比較による連立方程式で計算しても、ニュートン補間で計算しても、最終的な多項式は同じです。

方法 特徴 向いている場面
ラグランジュ補間 公式が対称的で、理論を説明しやすい方法 少数点の計算、導出、証明
ニュートン補間 差分商を使い、点の追加に対応しやすい方法 データを段階的に増やす計算
係数比較 未知係数を連立方程式で求める方法 低次式の手計算、係数を直接見たい場合

多項式の一意性は、同じ補間条件を満たす高々n次多項式が複数存在しないことを保証します。

異なるn+1個の根をもつ高々n次の差多項式は零多項式に限られることが、その理由です。

この性質があるため、ラグランジュ公式は単なる計算の工夫ではなく、補間問題の解そのものを表しているといえます。

具体例による計算方法

続いては具体例による計算方法を確認していきます。

三点データの設定

ここでは、\((0,1)\)、\((1,3)\)、\((2,2)\) の3点を通る補間多項式を求めます。

3点あるため、求める式は高々2次です。

まず、各基底関数をつくります。

\(L_0(x)=\dfrac{(x-1)(x-2)}{(0-1)(0-2)}=\dfrac{(x-1)(x-2)}{2}\) です。

\(L_1(x)=\dfrac{x(x-2)}{(1-0)(1-2)}=-x(x-2)\) となります。

\(L_2(x)=\dfrac{x(x-1)}{(2-0)(2-1)}=\dfrac{x(x-1)}{2}\) です。

分母の符号を丁寧に扱うことが、手計算での重要なポイントになります。

公式への代入と整理

データ値を掛けて足し合わせると、補間多項式は次のようになります。

\(P_2(x)=1\cdot\dfrac{(x-1)(x-2)}{2}+3\cdot\{-x(x-2)\}+2\cdot\dfrac{x(x-1)}{2}\)

展開して整理すると、\(P_2(x)=-\dfrac{3}{2}x^2+\dfrac{7}{2}x+1\) です。

確認として、\(x=0\) を代入すれば1、\(x=1\) では3、\(x=2\) では2になります。

計算途中で展開を急ぐと符号の誤りが起こりやすいため、最初は基底関数ごとに代入確認をする方法がおすすめです。

各基底関数の値が正しいかを先に確認すれば、最終式の間違いも見つけやすくなります。

補間点以外での値の読み方

完成した多項式には、元のデータに含まれていない \(x\) の値も代入できます。

たとえば \(x=1.5\) を代入すると、その近辺での二次補間による推定値が得られます。

ただし、これは観測された3点を正確に通る曲線から得た値であり、現実の真の関数値が必ず同じとは限りません。

補間区間の内部で使う推定を補間、観測範囲の外側まで使う推定を外挿と呼びます。

外挿では誤差が大きくなりやすいため、補間と外挿を混同しないことが大切です。

とくに高次多項式は端の付近で値が大きく変動する場合があるため、利用範囲を意識しましょう。

n次補間の誤差と利用時の注意点

続いてはn次補間の誤差と利用時の注意点を確認していきます。

補間誤差の基本形

元の関数 \(f(x)\) が十分になめらかで、n+1階微分まで考えられる場合、補間誤差は特定の形で表せます。

ある値 \(\xi\) を用いて、誤差は \(f(x)-P_n(x)=\dfrac{f^{(n+1)}(\xi)}{(n+1)!}\prod_{i=0}^{n}(x-x_i)\) と表されます。

この式は、誤差が補間点では必ず0になることも示しています。

実際、\(x=x_i\) なら積の一因子が0となるからです。

誤差の大きさは、関数の高階微分の大きさと、評価点から各補間点までの距離に影響されます。

そのため、点の個数を増やせば常に精度が上がるとは一概にいえません。

高次多項式に見られる振動

多くの点を一つの高次多項式で補間すると、端の近くで不自然な振動が現れることがあります。

これはルンゲ現象として知られ、等間隔に並んだ点で高次数の補間を行う際に目立ちやすい現象です。

関数自体が滑らかでも、補間多項式が大きく上下する場合があるため注意が必要です。

状況 起こりやすい問題 検討したい対応
点数が多く次数が高い場合 端部での振動、丸め誤差の増幅 区分的補間やスプライン補間
等間隔の点を使う場合 ルンゲ現象 チェビシェフ点などの配置
外挿を行う場合 予測値の急激な変化 近傍データのみの利用、別モデルの検討

ラグランジュ補間は理論を学ぶうえで非常に重要ですが、大量データをそのまま高次式へ入れることが最適とは限りません。

目的に応じて、局所的な低次補間を組み合わせる方法も有効です。

計算機で扱う際の工夫

通常のラグランジュ公式は分母と分子の積を何度も計算するため、点数が多いと計算量が増えます。

また、近い値どうしの差を扱うと、浮動小数点演算では丸め誤差の影響を受ける可能性があります。

実装では、重みをあらかじめ計算する重心型ラグランジュ補間がよく利用されます。

ラグランジュ補間は少数の点を厳密に通す計算に適していますが、高次化、端部、外挿、数値誤差には注意が必要です。

実用ではデータの配置と目的を確認し、必要に応じてニュートン補間やスプライン補間も選択しましょう。

理論式と実装方法は分けて考えるとよいでしょう。

基礎として通常形を理解したうえで、実務では安定性を考慮したアルゴリズムを選ぶ流れが自然です。

ラグランジュ補間のまとめ

ラグランジュ補間は、n+1個の異なる補間点を通る高々n次の多項式を求める公式です。

基底関数 \(L_i(x)\) は、自分に対応する補間点で1、他の補間点で0となるため、各データ値を正確に選び出せます。

公式の導出では、他点で0にする因子を分子へ置き、自分の点で1にするため分母で正規化する流れを押さえることが重要です。

また、二つの補間多項式の差を考えることで、補間多項式の一意性も証明できます。

少数の点を扱う場合には分かりやすく便利な方法ですが、高次補間では振動や数値誤差が生じる可能性があります。

公式、基底関数、多項式の一意性、誤差の関係を理解し、目的に合った補間方法を選んでいきましょう。