多項式補間
📂数値解析多項式補間
定義
異なるx0,⋯,xnのデータ(x0,y0),⋯,(xn,yn)について、p(xi)=yiとdegp≤nを満たす多項式関数pを多項式補間polynomial Interpolationという。
定理
存在性と一意性
- [1]: 与えられたデータに対し、 pは一意に存在する。
- [2]: pn(x)=i=0∑nyili(X)
- [3]: pn(x)=f(x0)+i=1∑nf[x0,⋯,xi]j=0∏i−1(x−xj)
誤差解析
- [4]: (n+1)回微分可能なf:R→Rとあるξ∈H{x0,⋯,xn}に対し、fの多項式補間pnはあるt∈Rに対して次を満たす。f(t)−pn(t)=(n+1)!(t−x0)⋯(t−xn)f(n+1)(ξ)
- H{a,b,c,⋯}はa,b,c,⋯を含む最小の区間を表す。
説明
多項式補間は韓国語で多項式補間法と簡化される。
条件 degp≤n

degp≤nという条件は、pがdegp=nを満たす保証が常にあるわけではないことを意味する。例えばn=2の時、上のように3点が一直線上にある場合、(n+1)=3個の点を通るp2(x)=a2x2+a1x+a0は存在しないが、それよりも低い次数のp1(x)=a1x+a0は存在する。これは実際にp2(x)=a2x2+a1x+a0を見つけたがa2=0の場合を意味する。
ラグランジュの公式とニュートンの差分公式は同じである
公式[2]と[3]は違うように見えても、実際には[1]によって同じであることがわかる。本質的に2つの公式の違いはpnをどう表すかの差に過ぎず、機能的な違いは新しいデータが追加された時にニュートンの差分公式が更新しやすいという点だけである。
実際の関数との誤差
定理[4]は、ある関数fを補間するpnがfとどの程度違うかを示す。通常の場合には(n+1)!の発散速度は非常に速いため、データが多ければ多いほど補間pnの正確性は上がる。しかし、この公式は特に収束性を論じるわけではないことに注意が必要だ。簡単な例でtがH{x0,⋯,xn}から非常に遠い場所にある場合を考えることができる。また、fがそれほど良くなくて微分するたびに値が大きくなり、それが更に(n+1)!の発散速度よりも速い場合、どんなに変になるかだってある。
証明
[1]
戦略: (n+1)個の連立方程式を行列で表し、逆行列の存在性と一意性を同時に持ってくる。
全てのi=0,⋯,nに対してyi=pn(xi)=a0+a1xi+⋯+anxinを満たすpnの係数a0,a1,⋯,anが一意であることを示せば良い。
y:=y0y1⋮yn,X:=11⋮1x0x1⋮xn⋯⋯⋱⋯x0nx1n⋮xnn,a:=a0a1⋮anと定義し、連立方程式を行列で表すと
y0y1⋮yn=11⋮1x0x1⋮xn⋯⋯⋱⋯x0nx1n⋮xnna0a1⋮an
今、y=Xaを満たす解aを見つける問題に変わった。
ヴァンデルモンド行列の行列式: Xの行列式はdetX=1≤i<j≤n∏(xj−xi)
仮定からx0,⋯,xnは異なるのでdetX=0であり、X−1が存在する。したがって、a=X−1yも存在する。一方で、与えられた行列に対する逆行列は一意なので、aも一意である。
■
[2]
クロネッカーデルタ関数で見る。
■
[3]
差分そのままを使って正直に計算する。
■
[4]
戦略: 新しいダミー関数を定義し、それらの微分可能性を利用して直接的な計算を回避する。設定が複雑なので、実際には後ろから理解するほうが楽である。
Claim: E(x):=f(x)−pn(X)に対して次が成立する。
E(t)=(n+1)!(t−x0)⋯(t−xn)f(n+1)(ξ)
Part 1.
まず、tがノードポイントx0,⋯,xnと同じなら自明に成立するので、tがこれらのノードポイントと異なると仮定する。
Ψ(x):=G(x):=(x−x0)(x−x1)⋯(x−xn)E(x)−Ψ(t)Ψ(x)E(t)
上記のように新しい関数を定義すると、f、pn、Ψが(n+1)回微分可能であるため、Gも(n+1)回微分可能である。
Part 2.
x=xiをGに代入するとE(xi)=f(xi)−pn(xi)=0であり、Ψ(xi)=0なので
G(xi)=E(xi)−Ψ(t)Ψ(xi)E(t)=0
x=tをGに代入するとΨ(t)Ψ(t)=1なので
G(t)=E(t)−E(t)=0
したがって、Gは(n+2)個の異なる零点x0,⋯,xn,tを持つ。
Part 3.
便宜上xn+1:=tとしよう。
ロルの定理: 関数f(x)が[a,b]で連続であり、(a,b)で微分可能であり、f(a)=f(b)ならば、f′(c)=0を満たすcが(a,b)に少なくとも一つ存在する。
全てのi=0,⋯,nに対して
G(xi)=0=G(xi+1)
なのでロルの定理によりg′(x’i)=0を満たすxi′∈H{xi,xi+1}が存在し、同様に全てのi=0,⋯,(n−1)に対して
g′(x’i)=0=g′(x’i+1)
なのでロルの定理によりG′′(x’’i)=0を満たすxi′′∈H{x’i,x’i+1}が存在する。このように帰納的にロルの定理を(n+1)回使用して
G(n+1)(ξ)=0
を満たすξ∈H{x0,⋯,xn+1}の存在を保証することができる。
一方で、pnはn次の多項式なので
E(n+1)(x)=f(n+1)(x)
Ψの最高次項はxn+1であるため
Ψ(n+1)(x)=(n+1)!
G(x)=E(x)−Ψ(t)Ψ(x)E(t)の両辺をxに対して(n+1)回微分すると
G(n+1)(x)=f(n+1)(x)−Ψ(t)(n+1)!E(t)
x=ξをG(n+1)とf(n+1)に代入すると
0=f(n+1)(ξ)−Ψ(t)(n+1)!E(t)
E(t)=f(t)−pn(t)なので、次を得る。
f(t)−j=0∑nf(xj)lj(t)=(n+1)!(t−x0)⋯(t−xn)f(n+1)(ξ)
■