差商

提供: testwiki
ナビゲーションに移動 検索に移動

テンプレート:出典の明記 数学における差商(さしょう、テンプレート:Lang-en-short; 分割差分、差分商[1])は、差分商をとる操作を再帰的に繰り返すことで与えられる。歴史的には対数表や三角函数表の計算に用いられ、チャールズ・バベッジ階差機関(初期の機械式計算機)はこれを実装するものとして設計された[2]

差商はニュートン補間における補間多項式の計算に用いることができる。

定義

テンプレート:Math 個の節点 (x0,y0),,(xn,yn) に対する、前進差商[yν]:=yν(ν{0,,n}),[yν,,yν+j]:=[yν+1,,yν+j][yν,,yν+j1]xν+jxν(ν{0,,nj}, j{1,,n}) で定義される。同様に後退差商[yν]:=yν(ν{0,,n}),[yν,,yνj]:=[yν,,yνj+1][yν1,,yνj]xνxνj(ν{j,,n}, j{1,,n}) と定義される。

以下本項では主に前進差商のみを扱い、それを単に差商と呼ぶ。

等間隔の場合

テンプレート:Main 節点(の テンプレート:Mvar-座標)が等間隔に並んでいるときには、前進差分(あるいは後退・中央の各有限差分)の定める差分商によって差商を記述することができる。この場合は、より一般の差商よりも計算が楽になる。注目すべきは、差商の分母が既知であるならば、差分商から差商を容易に回復することができることである。

すなわち、上と同じ節点のデータが与えられ、適当な数 テンプレート:Math に対して テンプレート:Math テンプレート:Math となっているとき、前進差分は Δ(0)yi:=yi,Δ(k)yi:=Δ(k1)yi+1Δ(k1)yi(k1) で定義される。前進差分と差商との関係は f[x0,x1,,xk]=1k!hkΔ(k)f(x0) と書ける[3]

ニュートンの三角形

隣り合う二項から次の階数の項が次々に作られる様子は、パスカルの三角形の類似で、差商を三角形状に並べるとわかりよい。

x0y0=[y0][y0,y1]x1y1=[y1][y0,y1,y2][y1,y2][y0,y1,y2,y3]x2y2=[y2][y1,y2,y3][y2,y3]x3y3=[y3] あるいは y0Δy0y1Δ2y0Δy1Δ3y0y2Δ2y1Δy2y3

記法

節点が函数 テンプレート:Mvar を用いて (x0,f(x0)),,(xn,f(xn)) と与えられているときには、f[xν]:=f(xν),ν{0,,n},f[xν,,xν+j]:=f[xν+1,,xν+j]f[xν,,xν+j1]xν+jxν(ν{0,,nj}, j{1,,n}) と書くこともある。同様に [x0,,xn]f,[x0,,xn;f],D[x0,,xn]f などとも書く。

具体的に書き下せば: f[x0]=f(x0)f[x0,x1]=f(x0)(x0x1)+f(x1)(x1x0)f[x0,x1,x2]=f(x0)(x0x1)(x0x2)+f(x1)(x1x0)(x1x2)+f(x2)(x2x0)(x2x1)f[x0,x1,x2,x3]=f(x0)(x0x1)(x0x2)(x0x3)+f(x1)(x1x0)(x1x2)(x1x3)+f(x2)(x2x0)(x2x1)(x2x3)+f(x3)(x3x0)(x3x1)(x3x2) のようになる。一般に f[x0,,xn]=j=0nf(xj)k=0,n;kj(xjxk) となり、これを多項式函数 q(ξ)=(ξx0)(ξxn) を用いてf[x0,,xn]=j=0nf(xj)q(xj) と書くことができる。また極限を用いて f[x0,,xn]=j=0nlimxxj[f(xj)(xxj)k=0n(xxk)] とも書ける。

性質

別定義

ペアノ形

次数 テンプレート:MathBスプライン テンプレート:Mvar を用いて、差商を f[x0,,xn]=1n!x0xnf(n)(t)Bn1(t)dtと書くことができる。テンプレート:Mathテンプレート:Mvarテンプレート:Mvar-階導函数である。

これを差商のペアノ形 (Peano form) と言い、テンプレート:Mvar をこの差商のテンプレート:Ill2と呼ぶ。ともに名称はジゼッペ・ペアノに因む。

テイラー形

考えている節点が集積しているならば、ほとんどゼロに近い値での割り算が生じ、相対誤差が大きくなるから、数値計算はおぼつかない。しかしその場合も、差分商微分商で(あるいはその逆に)近似することはできる:f(y)f(x)yxf(x)(xy).

この近似はテイラーの定理 f(y)=f(x)+f(x)(yx)+f(x)(yx)22!+f(x)(yx)33!+ が適用できる函数に関しては等式 f(y)f(x)yx=f(x)+f(x)yx2!+f(x)(yx)23!+に変えることができる。また、中央差分を利用すれば テンプレート:Mvar の奇数冪の項を消すことができる: f(y)f(x)yx=f(m+h)f(mh)2h=f(m)+f(m)h23!+.

原理的には、テイラー級数および任意のテンプレート:Ill2に差商近似が適用できる。テイラー級数は冪函数に関する無限和で、函数にその差商を対応させる写像 テンプレート:Math線型汎函数であるから、基底函数にこの汎函数を適用すればよい。

通常の冪函数 テンプレート:Math によって、通常のテイラー級数を f=f(0)p0+f(0)p1+f(0)2!p2+f(0)3!p3+ と書けば、差商のテイラー級数は f[x0,,xn]=f(0)p0[x0,,xn]+f(0)p1[x0,,xn]+f(0)2!p2[x0,,xn]+f(0)3!p3[x0,,xn]+ と書けることになる。この最初の テンプレート:Mvar 項は多項式の次数よりも高階の差分だから消えており、それ以降の項も以下のように知ることができる: {pj[x0,,xn]=0(j<n)pn[x0,,xn]=1pn+1[x0,,xn]=x0++xnpn+m[x0,,xn]=0a1a2amnj{a1,a2,,am}xj.

行列表示

多項式の差商はライプニッツの法則の恩恵を受けられる点で興味を持たれる。

行列 テンプレート:MvarJ=(x010000x110000x21010000xn) とすれば、これは節点 テンプレート:Math に関する恒等写像 テンプレート:Math の差商をすべて包摂したものと考えることができる。特に テンプレート:Mvar冪函数 テンプレート:Mvar に対する差商が全て現れる。差商の線型性により、多項式 テンプレート:Mvar に対する多項式函数を テンプレート:Mvar適用したものは、p(J)=a0I+a1J++anJn=(p[x0]p[x0,x1]p[x0,x1,x2]p[x0,,xn]0p[x1]p[x1,x2]p[x1,,xn]000p[xn]) と書くことができ、オピッツの公式と呼ばれる[4][5]

多項式 テンプレート:Mvar の次数を無限大に飛ばして形式冪級数とすれば、テイラー展開可能な函数 テンプレート:Mvar に対しても、その差商を テンプレート:Mvar を用いた行列表示 Tf(x0,,xn)=f(J)=(f[x0]f[x0,x1]f[x0,x1,x2]f[x0,,xn]0f[x1]f[x1,x2]f[x1,,xn]000f[xn]) によって与えることができる。

節点 テンプレート:Math が全て等しいとき、テンプレート:Mvar はジョルダン細胞であり、ジョルダン標準形を考えることでスカラー函数を行列函数に一般化することができる。

関連項目

参考文献

テンプレート:Reflist

外部リンク

  1. テンプレート:Kotobank
  2. テンプレート:Cite book
  3. テンプレート:Cite book
  4. de Boor, Carl, Divided Differences, Surv. Approx. Theory 1 (2005), 46–69, [1]
  5. Opitz, G. Steigungsmatrizen, Z. Angew. Math. Mech. (1964), 44, T52–T54