プログラムな日常>理数学習このままでイイン会?>
階数をどう判定するか
(how you know the rank of a matrix)

過去のページ 「正則とは何か」 で、正方行列が「正則」であることは、階数が次数に等しいことだとご説明した。 ただし、その階数については、ディアジク(dyadic)を足算した個数に相当するものとした。 ただし、場合によっては、足した個数に満たない階数になってしまうかも知れないのだった。

以上のことは、階数について触れてはいるけれど、その定義にはなっていない。 それでは階数はどうやって知ることができるか、というのが今回のテーマだ。

これは、「対称行列における固有値・固有ベクトルの正しい求め方」を使って簡単に知ることができる (ページのタイトルには「対称行列」とあるが、今回の分析対象はそれに限定されない)。 次の図に即して作業してみて頂きたい。 「original」に行列を入力する。正方行列であれば何次でも構わない。「ODO」のボタンを押す。このボタンより下の「center」の欄を見る(同じ名前の欄が別にあり、紛らわしくて申し訳ないです)。

結果は対角行列であって、つまり、対角要素(i = j)以外はゼロである。 ただし、対角要素でも、末尾の方にゼロが並ぶ場合がある。 「正則とは何か」 の図に示した各項目について、この操作を試みる。

項目7~9については、次のようになる。

項目7: 

項目8: 

項目9: 

これらについては、「center」の結果で、対角要素でも非ゼロなのは、最初の1個だけである。だからそれらの階数は1。

次に、項目10~12については、次のようになる。

項目10: 

項目11: 

項目12: 

これらについては、対角要素でも非ゼロなのは、最初から2個目までである。だからその階数は2。

次に、項目13については、次のようになる。

項目13: 

このように、対角要素の全てが非ゼロとなっている。その階数は3であり、この場合は正則と言える。