今回も Gilbert Strang の Introduction to Linear Algebra という本の話である.
matrix には rank という重要な指標がある.これは matrix 中の一次独立なrow あるいは column の数である.というのが通常の教科書の定義である.
Gilbert Strang の本ではちょっと変わった視点から rank を見ている.rankとelimination を結びつけて説明しているのだ.ここでは matrix の rank とは elimination における pivots の数であると定義されている.結局は通常の教科書の定義と同じことなのだが,approach の仕方が elimination というのが面白い.
Gaussian elimination (いわゆるガウスの消去法)は,通常 matrix の対角化に利用される.対角化すれば線型方程式を解くことが容易になるからだ.ここで,Elimination が何をしているのかを考えてみる.例として次の matrix を考える.
A =
|1 2 2 2|
|2 4 6 8|
|3 6 8 10|
Elimination をしてみる.
1 行 x 2 を 2 行から引く.
|1 2 2 2|
|0 0 2 4|
|3 6 8 10|
1 行 x 3 を 3 行から引く.
|1 2 2 2|
|0 0 2 4|
|0 0 2 4|
2 行 を 3 行から引く.
|1 2 2 2|
|0 0 2 4|
|0 0 0 0|
二行しか残らなかった.この場合,残った行の数が rank であり,rank は 2となる.
何が行なわれたかを考えてみよう.matrix を連立方程式だったと考えてみよう.すると,
|1 2 2 2|
|2 4 6 8|
|3 6 8 10|
という matrix の連立方程式は未知数を x として右辺を b とすると,
1 x1 + 2 x2 + 2 x3 + 2 x4 = b1 ... (1.1)
2 x1 + 4 x2 + 6 x3 + 8 x4 = b2 ... (1.2)
3 x1 + 6 x2 + 8 x3 + 10 x4 = b3 ... (1.3)
であった.elimination がしていることは,各式の定数倍を他の式から引くというような操作である.これで残ったのは何かというと,「行列中の最小の数の式」である.行列中の最小とか最大の数の式とは何だというかもしれない.「独立な式」という言葉も使われるが,なんのことはない,「いくつの式が最初に行列の中にあったのか」ということである.3つに決まっていると言うかもしれないが,常にそうとは限らない.それは式から式を作ることができるからである.
以下の (2.x) が (1.x) を elimination してでてきた式である.
1 x1 + 2 x2 + 2 x3 + 2 x4 = b'1 ... (2.1)
2 x3 + 4 x4 = b'2 ... (2.2)
最小の数の式というのは,この (2.1) と (2.2) があれば,(1.1), (1.2),(1.3) が「つくれてしまう」がゆえに最小なのである.言いかえれば,(1.1),(1.2), (1.3) を作る最小の式のセットが (2.1) と (2.2) である.
(1.2)式を作るには,(2.1) * 2 + (2.2) でできる.他の式を作ることも容易である.たとえば,
1 x1 + 2 x2 + 2 x3 + 2 x4 = b1
を二倍すれば,
2 x1 + 4 x2 + 4 x3 + 4 x4 = 2 b1
という式ができる.3倍,4倍しても他の式を作れるが,これは本質的には新しい式を作っているわけではない.もっと簡単な例を考えてみよう.
2 x = 6
の答えは,x = 3 である.この両辺を二倍して作った式,
4 x = 12
の答えも x = 3 であって,これらは x を求めるという意味では,同じ式である.しかし,4x = 12 はこれは 2x = 6 から作ることができる.x を求めるという意味では,何の新しい情報もないからである.実際,これらは全て x = 3から作ることができる.
ある方程式の最小のセットがあれば,それを定数倍して足すことで,無限に式を作ることができる.その場合,重要になるのは,最小のセットの式である.それはその連立方程式の「正体」と言っても良いだろう.どんなに複雑に見えても,それは上記のように水増しされているだけなのかもしれない.だから正体を見極めることができれば理解がより易しくなるだろう.elimination はこの実際に隠れている式がどんなものかを求めているのである.
これで matrix の rank とは何かを言うことができるだろう.matrix の rankとは,matrix の正体の式の数を言う.つまり,いったい,いくつの式がこのmatrix には実際に隠れているのか,その数が rank である.複雑に見えるmatrix の正体は簡単かもしれない.式の数を rank 以下の数にはできない.つまりこれ以上簡単にすることはできない.だから rank は重要なのである.
「行列の正体見たり rank 数」斉
字余り.
余談になるが,Geometry processing での Laplacian matrix の rank は n xn の大きさに対して,通常 n - 1 である.Laplacian matrix は local な差分であると考えると,右辺の位置を決定するには,一点,固定した点が不足している.アナロジとしては,積分を一回すると,その絶対値を決めるには積分定数が一つ不足しているということに通じる.これが rank と関係しているような気がする.しかし,ちょっと待った,Laplacian は二回の微分ではないのか?というふうに考えると,わからなくなってしまう.つまり,私はまだまだよくわかっていないようだ.もう少し Strang の本を読んで勉強を続けてみたらわかるかもしれないので勉強を続けてみます.