2

和分法とスターリング数

625
0

はじめに

Mathlogの 高校数学の数列と微分積分は似ているという話(和分差分) を拝見し、自分も同じようなことをはてブロにかいたこと思い出したので、それを再構成してみました。厳密なものではないのでその点はご承知ください。

和分法とは?

関数を積分すると、ある区間の面積や体積などを求めることができる。例えば、関数 f(x)=x2[0,n] 区間の面積を求めるときは、以下の定積分を計算するだけである。

定積分

0nx2dx=[13x3]0n=13n3

これと同じように数列でも簡単に部分和を求めることができる方法がある。それが和分法であり、積分法の離散バージョンと考えて良い。例えば、数列 f(n)=n2n の部分和 Sn は以下のように定積分と同じ要領で求められる。

定和分

Sn=x=0n(x2x)=0x<n+1(x2x)= 0n+1(x2x)δx= 0n+1x(x1)δx= 0n+1x2δx=[13x3]0n+1=13(n+1)303=13(n+1)n(n1)=n3n3

これは Wolfram Alphaで求めた結果 と一致している。

和分記号 0n+1 は積分記号 0n+1 と対応している。少し見にくいが、数式の4,5,6行目のべき乗の数字には下線がついている。これは 下降階乗 であり、以下のように定義されている。

下降階乗

xn=x!(xn)!={x(x1)(xn+1)(n0)1(x+1)(x+2)(xn)(n<0)

n が正のとき、これは 順列 xPn と同じになる。下降階乗は離散系の和差演算において重要な性質を持っている。

下降階乗の性質

微分では、以下が成り立っていた。

多項式の微分

n0のとき、
ddxxn=nxn1

この性質により、積分は以下のように計算できる。

多項式の積分

n1のとき、
xndx=1n+1xn+1+const

離散系でこの性質が成り立つのが先程導入した下降階乗である。微分に対応する演算として差分を以下のように定義する。

差分

Δf(x)=f(x+1)f(x)

差分に関して以下のことが成り立つ。

下降階乗の差分

n0のとき、
Δxn=(x+1)nxn=(x+1)x(x1)(xn+2)x(x1)(xn+1)={(x+1)(xn+1)}x(x1)(xn+2)=nxn1

負の数に対してもこの性質は成り立つ。この性質を使って、積分に対応する演算である和分は以下のように考えることができる。

下降階乗の和分

n1のとき、
xnδx=1n+1xn+1+const

和分と積分の対応

以上のことを一般化すると、次の対応表が得られる。

微分積分
連続系f(x)=ddxF(x)]f(x)dx=F(x)+const
離散系f(x)=ΔF(x)f(x)δx=F(x)+const

また、定和分については以下が成り立つ。

ax<bf(x)=ax<bΔF(x)=ax<b{F(x+1)F(x)}={F(b)F(b1)}+{F(b1)F(b2)}++{F(a+2)F(a+1)}+{F(a+1)F(a)}=F(b)F(a)= abf(x)δx

以上が先程の数列の部分和が定和分で求められる理由である。和分法ではこれ以外にも多くの数列の部分和を求めることができる。

いろいろな関数の和分と差分

下降階乗の例外

下降階乗についての性質は、連続系と同じように n=1 では例外となる。 n=1 では次の 調和数 となる。

調和数

Hx=11+12++1x

これは、以下のように確かめることができる。

ΔHx=Hx+1Hx={11+12++1x+1x+1}{11+12++1x}=1x+1=x1

指数関数

f(x)=ax に対して、差分をとると以下のようになる。

Δf(x)=f(x+1)f(x)=ax+1ax=(a1)ax

これは a が負の値を持つ場合にも有効である。また、a=2 のとき、

Δf(x)=(21)ax=ax=f(x)

となり、差分が元の関数と一致する。これは連続系の ex に対応している。

部分和分

連続系の部分積分のように、離散系での部分和分を考える

Δ(f(x)g(x))=f(x+1)g(x+1)f(x)g(x)=f(x+1)g(x+1)f(x)g(x+1)+f(x)g(x+1)f(x)g(x)={f(x+1)g(x+1)f(x)g(x+1)}+{f(x)g(x+1)f(x)g(x)}=(f(x+1)f(x))g(x+1)+f(x)(g(x+1)g(x))=Δf(x)g(x+1)+f(x)Δg(x)

これを移項して和分すると、部分和分が得られる。

f(x)Δg(x)δx=f(x)g(x)g(x+1)Δf(x)δx

具体例

以上のことを使って和を求めてみる。

k=0nk3k= 0n+1x3xδx= 0n+1x31313xδx=131 0n+1x(31)3xδx=12 0n+1xΔ(3x)δx=12{[x3x]0n+1 0n+13x+1Δxδx}=12{[x3x]0n+1 0n+13x+1((x+1)x)δx}=12{[x3x]0n+1 0n+13x+1δx}=12{[x3x]0n+1[1313x+1]0n+1}=12{[x3x]0n+1[123x+1]0n+1}=12{[x3x]0n+1[323x]0n+1}=12[(x32)3x]0n+1=12{(n+132)3n+1(032)30}=12{(n12)3n+1+32}=n3n+123n+14+34

Wolfram Alphaで確認してみると 一致していることがわかる。

k=0nHk= 0n+1Hxδx= 0n+1Hx1δx= 0n+1HxΔx1δx=[xHx]0n+1 0n+1(x+1)1ΔHxδx=[xHx]0n+1 0n+1(x+1)1x1δx=[xHx]0n+1 0n+1x+1x+1δx=[xHx]0n+1 0n+1δx=[xHx]0n+1[x1]0n+1=[xHx]0n+1[x]0n+1=[xHxx]0n+1=[x(Hx1)]0n+1=(n+1)(Hn+11)

Wolfram Alphaで確認してみると 一致していることがわかる。

和分法を用いると複雑な部分和を計算だけで求めることができる。以下の和も和分法で求められる例である。
k=0nk(1)kk=0nHk(k+1)(k+2)(k+3)

下降階乗ではない多項式の和分

任意の多項式は下降階乗のみを用いた式に表せることが知られている。下降階乗のみの式に変換してから和分法を適用すれば良い。この変換には、スターリング数を使う。

スターリング数とは?

スターリング数の定義に関しては こちらのサイト がわかりやすい。

第2種スターリング数を nSk と表すこととする。第2種スターリング数の重要な性質として、以下の漸化式が成り立つことが知られている。

スターリング数の漸化式

nSk=k n1Sk+n1Sk1

通常のべきと下降階乗の変換

通常のべきの場合は、第2種スターリング数を以下のように使うことで下降階乗に変換することができる。

通常のべきと下降階乗の変換

xn=k=0n nSkxk

これは数学的帰納法で証明できる。

n=0 のとき

(右辺)=k=00 0Skxk= 0S0x0=1x0=x0=(左辺)

となるので成り立つ。n1 のときに成り立つと仮定する。ここで

xk+1=xk(x(k+1)+1)=xk(xk)=xxkkxk

より、移項すると

xxk=xk+1+kxk

が成り立つ。これを利用すると、n のとき

xn=xxn1=xk=0n1 n1Skxk=k=0n1 n1Skxxk=k=0n1 n1Sk(xk+1+kxk)=k=0n1 n1Skxk+1+k=0n1 n1Skkxk=k1=0n1 n1Sk1xk+k=1n n1Skkxk=k=1n n1Sk1xk+k=1n n1Skkxk=k=1n( n1Sk1+ n1Skk)xk=k=1n(k n1Sk+ n1Sk1)xk=k=1n nSkxk=k=0n nSkxk

となるので、成り立っている。

和分法への応用

和分法では下降階乗の性質を使うことによって計算ができていた。第2種スターリング数使って下降階乗に変換してから和分する。例えば、以下のように計算できる。

abxnδx=abk=0n nSkxkδx=[k=0n nSkk+1xk+1]ab=k=0n nSkk+1bk+1k=0n nSkk+1ak+1=k=0n nSkk+1(bk+1ak+1)

これを組み合わせれば、任意の多項式を下降階乗のみの式にするとこができるため、任意の多項式で和分法は適用可能である。

参考文献

コンピュータの数学

投稿日:202111
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. はじめに
  2. 和分法とは?
  3. 下降階乗の性質
  4. 和分と積分の対応
  5. いろいろな関数の和分と差分
  6. 下降階乗の例外
  7. 指数関数
  8. 部分和分
  9. 具体例
  10. 下降階乗ではない多項式の和分
  11. スターリング数とは?
  12. 通常のべきと下降階乗の変換
  13. 和分法への応用
  14. 参考文献