行列と反転公式
著者:梅谷 武
語句:アイザック・ニュートン,線形空間,ベクトル空間,ベクトル,スカラー,線形結合,線形従属,線形独立,部分空間,基底,次元,差分,n階差分,線形写像,線形作用素,和分,ニュートン級数
行列と反転公式について述べる。
作成:2006-05-29
更新:2021-03-17
本書においては線形代数を体系的に述べることができませんが、いろいろな数式を行列で表現することで、計算の見通しが良くなるだけでなく、複雑な計算を機械的に行う仕組みとしても便利ですので、ここで簡単に紹介しながら、その例として二項係数やスターリング数の反転公式について触れておきます。
ベクトル空間の
n個のベクトル
x1,⋯,xnに対して、係数
a1,⋯,anをかけて和をとったもの
を
線形結合せんけいけつごう, linear combinationあるいは一次結合といいます。
となるすべてが
0ではない係数
a1,⋯,anが存在するとき、
n個のベクトルからなる集合
{x1,⋯,xn}は
線形従属せんけいじゅうぞく, linearly dependentあるいは一次従属であるといいます。そうでないとき、すなわち、
a1 x1 + ⋯ + an xn = 0 ⇒ a1 = ⋯ = an = 0
|
が成り立つとき、
線形独立せんけいどくりつ, linearly independentあるいは一次独立であるといいます。
ベクトル空間の部分集合が加法と係数倍に関して閉じているとき、それを
部分空間ぶぶんくうかん, subspaceといいます。これは体上の加群と考えたときの部分加群の概念と一致します。
{x1,⋯,xn}が生成する部分空間とは、その線形結合の全体の集合が成す部分空間のことをいいます。これは
{x1,⋯,xn}を含む最小の部分空間としても特徴付けられます。
この節で考えるベクトル空間
Vは
ℚ[X]の
n次以下の多項式全体の集合です。
{1, X, X2, ⋯, Xn}は
Vの基底になっていますから、
Vの次元は
n+1です。不定元
Xの昇階乗の集合
{ 1, X1, X2, ⋯, Xn }を考えてみましょう。
Xiは
i次の多項式ですから、この集合は一次独立で、ベクトル空間の次元は一定であることから、これもまた
Vの基底になっていることがわかります。
第1種スターリング数の定義式から、
が成り立ちますが、これを行列を使って表現すると次のようになります。
同じように冪乗を昇階乗で表わす公式:
を行列を使って表現すると次のようになります。
前の式に後の式の行列を左からかけることによって、
n≧i,j≧0なる整数
i,jについて
となりますが、
{1, X, X2, ⋯, Xn}の線形独立性より、
| = | | | |
|
であることがわかります。すなわち、前の行列と後の行列をかけたものは単位行列になっています。言い換えれば、この二つの行列は二つの基底を相互に変換し、互いに他の逆行列になっています。このことを数式で表現しているのが次の反転公式です。
正の整数
nと
n≧i,j>0なる整数
i,jについて次の式が成り立つ。
次に
{1, (X-1), (X-1)2, ⋯, (X-1)n}という単項式の集合を考えます。
(X-1)iは
i次の多項式ですから、この集合は一次独立で、これもまた
Vの基底になっています。二項定理から
i=1,2,⋯,nについて
が成り立ちますから、二項係数においてもスターリング数と同様に
i<jのときは
と定義すれば、同じようにして次のような二項係数に関する反転公式が得られます。
正の整数
nと
n≧i,j≧0なる整数
i,jについて次の式が成り立つ。
反転公式は、例えば、
x1,⋯,xnと
y1,⋯,ynという二つの数列が
という関係になっている場合には、
によって、また、
という関係になっている場合には、
によって、既知の
y1,⋯,ynから未知の
x1,⋯,xnを求めるときに使います。
これらの計算ではスターリング数や組み合わせの計算が必要になるようにみえますが、反転公式が成り立つような二つの数列を相互変換する場合にスターリング数や組み合わせの値を使わないで計算する方法があります。それがこの章の主題である三角形算術です。三角形算術はこのような数列の相互変換のための算法として特徴付けることができます。
1階差分から順番に差分をとっていきますと
| | |
| | |
| | f(n+3) - 3f(n+2) + 3f(n+1) - f(n) |
|
となりますが、一般に次の式が成り立ちます。
ベクトル空間
ℚ[[X]]から自分自身への作用素
E : ℚ[[X]] → ℚ[[X]], (f(n))n ∈ℕ ↦ (f(n+1))n ∈ℕ
|
を考えます。これは形式的冪級数を数列と考えると数列を一つずらす操作をする作用素です。
ℚ上の任意の多項式
P(X)=∑i=0naiXiにこの作用素
Eを代入して新しい作用素を作ることができます。
このようにして
ℚ[E]は
ℚ[[X]]上の作用素から成る可換環になります。一般に関数の集合が作るベクトル空間上の作用素からなる環は作用素環と呼ばれます。有限次元のベクトル空間上の作用素環は行列が作る環として表現することができて一般には非可換です。
さて命題の証明ですが、差分作用素は
X-1に
Eを代入したものに他なりませんから、二項定理を使って
というように示されます。
差分の逆の操作、つまりある数列が与えられたときに、差分をとるとその数列になるような数列を求める操作のことを
和分わぶん, summationといいます。数列
g(n)が与えられたときに
Δf(n) = g(n)となる
f(n)が
g(n)の和分です。この場合、ある定数
Cについて
f(n)+Cという数列も
g(n)の和分になりますので、和分は一意には定まりません。ここでは和分作用素
Σを
X+1に
Eを代入したものとして定義することにします。そうすると上と同じように二項定理を使うことによって次の式を示すことができます。
不定元
Xと自然数
kに関する二項係数を
によって定義します。
Xに自然数を代入したときには通常の二項係数と一致します。冪乗を第2種スターリング数を使って降階乗の多項式で表わす式
を、この記号によって
と書くことにしましょう。これにより、任意の多項式
f(X)=∑i=0naiXiは、
と二項係数で展開するができます。これは
アイザック・ニュートンNewton, Isac, 1642-1727がよく用いたので
ニュートン級数にゅーとんきゅうすう, Newton seriesと呼ばれています。
と定義すると
となります。
から
i-kが負のときは
になります。
この式で
Xに
0を代入すると
Δkf(0) = bkとなりますから、差分によってニュートン
級数の係数を求めることができて、
となります。したがって、数列
f(n)が
k次多項式
f(X)によって表わされているときに、数列
f(n)の第
k階までの差分をとることによって、
f(X)をニュートン級数に展開したときの係数を求めることができます。
差分と和分の関係式を満たす数列は三角形算術によって計算することができます。正の整数
kについて数列
f(n)の
n=0における
k階差分を求めます。まず、
k+1 × k+1の桝目を用意して、その第0行に
f(0),⋯,f(k)を入れます。
i行
j列の桝目を
C(i,j)で表わすことにすれば、
C(0,j) = f(j), j=0,1,2,⋯,k
|
ということです。そして隣り合った桝目の差分を右側の桝目の下に入れていきます。
C(i,j) = C(i-1,j-1) - C(i-1,j), i=0,1,2,⋯,k, j=i,⋯,k
|
この操作が終わったときに対角線上にk階までの差分が入っています。
この算法においてはk+1 × k+1の桝目が必要になるように思われますが、実際にはk+1個の桝目だけで十分です。それは第i行目を計算するとき、すなわち第i階差を求めるときに、jを第k列から始めて第i列で終わるような順番で計算すれば、その結果を第j列に重ね書きすることができます。
和分は差分の三角形で生成規則を
C(i,j) = C(i-1,j-1) + C(i-1,j), i=0,1,2,⋯,k, j=i,⋯,k
|
で置き換えるだけです。
差分と和分の計算例として自然数列の0における9階差分をとり、次にその9階和分をとって元に戻してみます。作業領域としては長さが10のリストだけを使用します。
C = range( 10 )
print C
for i in range( 10 ):
for j in range( 9, i, -1 ):
C[j] = C[j] - C[j-1]
print C
for i in range( 10 ):
for j in range( 9, i, -1 ):
C[j] = C[j] + C[j-1]
print C
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
C = (0...10).to_a
p C
for i in 0...10
for j in ((i+1)..9).to_a.reverse
C[j] = C[j] - C[j-1]
end
end
p C
for i in 0...10
for j in ((i+1)..9).to_a.reverse
C[j] = C[j] + C[j-1]
end
end
p C
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 1, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
形式的冪級数環
ℚ[[X]]上の作用素として次のようなものを考えます。
これを何度か作用させると
| | | f(X) |
| | |
| | | | f(X) |
| | |
| | | | f(X) |
| | Xf'(X) + 3X2f(2)(X) + X3f(3)(X) |
|
となりますが、一般に次の式が成り立ちます。
証明
演習とする。■
次にスターリング数の反転公式を利用して、ベルヌーイ数の計算公式Iを書き換えて、ベルヌーイ数の具体的な算法を示します。
有理数列
(C(0,j)j∈ℕ)が与えられたときに、
C(i,j) = (j+1)( C(i-1,j) - C(i-1,j-1) ), i>0, j∈ℕ
|
によって数列
(C(i,j)j∈ℕ)を定めます。この母関数を
pi(X) = ∑j=0∞C(i,j)Xjとすると
| | ∞ ∑ j=0 | (j+1)( C(i-1,j) - C(i-1,j-1) )Xj |
|
|
|
| | |
| | |
が成り立ちます。
qi(X)=(X-1)pi(X)とおくと
qi(X) = (X-1) | | qi-1(X), i≧1
|
ですから
qi(X) = | | | | | q0(X)
|
となります。
命題4.6.34を適用して、
Xに
0を代入すると
| | |
| | i ∑ j=0 | | (-1)jj!( C(0,j-1) - C(0,j) ) |
|
|
|
| | |
| | - | i ∑ j=0 | (-1)jj!C(0,j) | | | |
|
|
|
| | |
となり、
が得られました。これにより、
として、最初の生成規則を適用すれば
ベルヌーイ数の計算公式IIから三角形算術でベルヌーイ数が求められることがわかりました。
この方法でベルヌーイ数を計算してみます。
from Poly1 import *
C = []; Input = []; Output = []
for i in range( 9 ):
C.append( Fraction(1,i+1) )
for i in range( 9 ):
Input.append( Poly1( [C[i]] ) )
print Input
for i in range( 9 ):
for j in range( 8, i, -1 ):
C[j] = (j - i) * ( C[j-1] - C[j] )
for i in range( 9 ):
Output.append( Poly1( [C[i]] ) )
print Output
[1, 1/2, 1/3, 1/4, 1/5, 1/6, 1/7, 1/8, 1/9]
[1, 1/2, 1/6, 0, -1/30, 0, 1/42, 0, -1/30]
require 'mathn'
require './poly1'
C = []; Input = []; Output = []
for i in 0...9
C.push(1/(i+1))
end
for i in 0...9
Input.push(Poly1([C[i]]))
end
p Input
for i in 0...9
for j in ((i+1)..8).to_a.reverse
C[j] = (j - i) * ( C[j-1] - C[j] )
end
end
for i in 0...9
Output.push(Poly1([C[i]]))
end
p Output
[1, 1/2, 1/3, 1/4, 1/5, 1/6, 1/7, 1/8, 1/9]
[1, 1/2, 1/6, 0, -1/30, 0, 1/42, 0, -1/30]
人 物
アイザック・ニュートン Newton, Isac, 1642-1727
イギリスの物理学者・数学者・天文学者。古典力学(ニュートン力学)の創始し、ライプニッツとは独立して微積分法を創り上げる。
数 学
線形空間 せんけいくうかん, linear space
ベクトル空間 べくとるくうかん, vector space
ベクトル べくとる, vector
スカラー すからー, scalar
線形結合 せんけいけつごう, linear combination
線形従属 せんけいじゅうぞく, linearly dependent
線形独立 せんけいどくりつ, linearly independent
部分空間 ぶぶんくうかん, subspace
基底 きてい, basis
次元 じげん, dimension
差分 さぶん, difference
n階差分 nかいさぶん, difference of n-th order
線形写像 せんけいしゃぞう, linear mapping
線形作用素 せんけいさようそ, linear operator
和分 わぶん, summation
ニュートン級数 にゅーとんきゅうすう, Newton series