ラグランジュの補間公式とその応用例

ラグランジュの補間公式

xx 座標が相異なる n+1n+1(x1,y1),(x2,y2),,(xn+1,yn+1)(x_1,y_1), (x_2,y_2),\cdots,(x_{n+1},y_{n+1}) を通る nn 次以下の関数 y=P(x)y=P(x) が1つ定まり,以下の式で表される:

P(x)=i=1n+1yifi(x)fi(xi)P(x)=\displaystyle\sum_{i=1}^{n+1}y_i\dfrac{f_i(x)}{f_i(x_i)}

ただし,fi(x)=ki(xxk)f_i(x)=\displaystyle\prod_{k\neq i}(x-x_k)

ラグランジュの補間公式(ラグランジュ補間)について,n=2n=2 の場合の例を使って意味を説明したあと,応用問題を紹介します。

ラグランジュの補間公式の意味

一般形は複雑で意味がつかみにくいので,n=2n=2 の場合を書き下してみます:

ラグランジュの補間公式

xx 座標が相異なる 33(x1,y1),(x2,y2),(x3,y3)(x_1,y_1), (x_2,y_2),(x_3,y_3) を通る 22 次以下の関数 y=P(x)y=P(x) が1つ定まり,以下の式で表される:

P(x)=y1(xx2)(xx3)(x1x2)(x1x3)+y2(xx1)(xx3)(x2x1)(x2x3)+y3(xx1)(xx2)(x3x1)(x3x2)P(x)\\=y_1\dfrac{(x-x_2)(x-x_3)}{(x_1-x_2)(x_1-x_3)}\\\:+y_2\dfrac{(x-x_1)(x-x_3)}{(x_2-x_1)(x_2-x_3)}\\\:+y_3\dfrac{(x-x_1)(x-x_2)}{(x_3-x_1)(x_3-x_2)}

  • 右辺は xx についての n=2n=2 次多項式になっています。例えば右辺に x=x1x=x_1 を代入すると第一項は
    y1(x1x2)(x1x3)(x1x2)(x1x3)=y1y_1\dfrac{(x_1-x_2)(x_1-x_3)}{(x_1-x_2)(x_1-x_3)}=y_1,残りの項は 00 になるので (x1,y1)(x_1,y_1) を通ります。
  • 同様に (x2,y2),(x3,y3)(x_2,y_2), (x_3,y_3) を通ることも分かるので,P(x)P(x) が指定された 33 点を通る二次以下の関数と言えます。
  • 二次の係数が 00 になる場合もあるので「二次関数」ではなく「二次以下の関数」です。

ちなみに,通る n+1n+1 点から nn 次以下の多項式が1つ定まることは,因数定理を用いて証明できます。 →二次関数の決定とその背景

例題

(1,0),(2,3),(3,8)(1,0),(2,3),(3,8) を通る二次関数を求めよ。

解答

3元の連立方程式を解くのが一般的だが,ラグランジュ補間を使って求めてみる:

P(x)=0(x2)(x3)(12)(13)+3(x1)(x3)(21)(23)+8(x1)(x2)(31)(32)P(x)=0\dfrac{(x-2)(x-3)}{(1-2)(1-3)}+3\dfrac{(x-1)(x-3)}{(2-1)(2-3)}+8\dfrac{(x-1)(x-2)}{(3-1)(3-2)}

整理すると,P(x)=x21P(x)=x^2-1

第一項が 00 なのでマシですが,それでも式を展開して整理するのが大変です。

ラグランジュ補間の応用例その1

応用例として,IMO 1981の Shortlist から1問紹介します。

問題

nn 次多項式 P(x)P(x) が,k=0,1,,nk=0,1,\cdots,n に対して

P(k)=1n+1CkP(k)=\dfrac{1}{{}_{n+1}\mathrm{C}_k} を満たすとき P(n+1)P(n+1) を求めよ。

通る n+1n+1 点が与えられているのでラグランジュの補間公式を用いて P(x)P(x) を求めることができます。計算はややゴツイですが,機械的な計算で解答できます。

解答

本問では通る点の xx 座標は xi=ix_i=i である。

まずはラグランジュの補間公式における fi(xi)=fi(i)f_i(x_i)=f_i(i) を求める。

fi(i)=(i0)(i1)1(1)(in)=i!(ni)!(1)nif_i(i)=(i-0)(i-1)\cdots 1\cdot(-1)\cdots(i-n)\\ =i!(n-i)!(-1)^{n-i}

求めるのは P(n+1)P(n+1) なので,次に fi(n+1)f_i(n+1) を計算する。

fi(n+1)=ki(n+1k)=(n+1)!(n+1i)f_i(n+1)=\displaystyle\prod_{k\neq i}(n+1-k)=\dfrac{(n+1)!}{(n+1-i)}

よって,ラグランジュの補間公式から,yi=1n+1Ciy_i=\dfrac{1}{{}_{n+1}\mathrm{C}_i} に注意すると,

P(n+1)=i=0nyifi(n+1)fi(i)=i=0n(n+1i)!i!(n+1)!(n+1)!i!(ni)!(1)ni(n+1i)=i=0n(1)in=i=0n(1)niP(n+1)=\displaystyle\sum_{i=0}^ny_i\dfrac{f_i(n+1)}{f_i(i)}\\ =\displaystyle\sum_{i=0}^n\dfrac{(n+1-i)!i!}{(n+1)!}\dfrac{(n+1)!}{i!(n-i)!(-1)^{n-i}(n+1-i)}\\ =\displaystyle\sum_{i=0}^n(-1)^{i-n}\\ =\displaystyle\sum_{i=0}^n(-1)^{n-i}

これは nn が偶数のときに 11 で奇数のとき 00 となる。

ラグランジュの補間公式の応用例その2

次は,USAMO(アメリカ数学オリンピック)の問題です。ラグランジュの補間公式は実際に多項式を求めるためだけでなく,多項式の存在を示すときにも使われます。

問題

任意の nn 次モニック多項式(最高次の係数が1の多項式)F(x)F(x) について,2F(x)2F(x) が,nn 個の実根を持つ2つの nn 次モニック多項式の和で表されることを示せ。

方針

nn 個の実根を持つ多項式を構成するのが難しいところです。中間値の定理より,十分振動する関数(正負を行き来する関数)を構成すればよいわけです。

解答

ラグランジュの補間公式より,(1,Y1),(2,Y2),(3,Y3),,(n,Yn)(1,Y_1),(2,Y_2),(3,Y_3),\cdots,(n,Y_n) を通る n1n-1 次以下の関数 P(x)P(x) が存在する。ここで,YiY_iii が奇数のとき十分大きな数,偶数のときに十分小さな数とすれば P(x)P(x) は激しく振動する。

これを利用して nn 個の実根を持つ nn 次モニック多項式を以下のように構成する:
Q(x)=P(x)+(x1)(x2)(xn)Q(x)=P(x)+(x-1)(x-2)\cdots(x-n)
R(x)=2F(x)Q(x)R(x)=2F(x)-Q(x)

Q(x)Q(x) の第二項は,「Q(x)Q(x)nn 次式にしたい」かつ「x=1,2,,nx=1,2,\dots,n での値は P(x)P(x) と同じにしたい」という気持ちで付け加えています。

あとは Q(x),R(x)Q(x),R(x)nn 個の実根を持つことを示せば良い。

実際 Q(1)=P(1)>0,Q(2)=P(2)<0Q(1)=P(1) > 0,Q(2)=P(2) <0 などから中間値の定理より Q(x)Q(x) は実根を n1n-1 個持つが,残り1つの根も実数である。(複素数が解なら共役複素数も解になる→共役複素数の覚えておくべき性質

また,F(x)F(x) の値が無視できるくらい P(x)P(x) を激しく振動させれば R(x)R(x) も激しく振動して同様な議論により実根を nn 個持つことが分かる。

※厳密にはどれくらい YiY_i を大きく取ればよいか議論する必要があります。

ちなみにラグランジュ補間は情報理論にも応用があります!→(k,n)しきい値法とシャミアの秘密分散法

USAMOの問題は非常に歯ごたえがあります。

Tag:各地の数オリの過去問