目次
行列 VS. matrix
現在、この連載では回帰分析をテーマに行列の基本から線形代数までをPythonとともに紹介しています。
前回は行列の基本演算(和・差・積・べき乗)を取り上げました。ここから線形代数に触れながら本題の回帰分析、そしてその核心にある最小2乗法に進んでいきます。
その前に一つ取り上げておきたいことがあります。行列という用語です。英語のmatrixの訳語です。明治時代にわが国に数学が輸入された後につくられた訳語が、現在の日本における数学用語の礎となっています。
それゆえイマイチよくわからない数学用語がたくさんあります。有理数、無理数、虚数、幾何、方程式などなど。
その中にあって行列はピカイチの傑作です。行列 VS. matrix(複数形はmatrices)、行列に軍配は上がります。
行列のことは「行列」に聞け!
みなさんは左右を使う際にどのように思い出していますか。
私は幼稚園の時に黒板に大きくチョークで書かれた「左」と「右」の文字の風景を思い出して確認、照合しています。0.1秒かかる手間を50年間ずっと続けています。
これが右であれが左、人は誰もがどこかで初めて左右という言葉とその意味に出会います。私はその最初の風景が決定的に印象深く脳裏に刻まれたことで、私の辞書になっているということです。
① 行と列のナンバリング
正直に申しあげましょう。私は30年以上行列を使ってきて、いまだに行列の(3, 2)成分と言われてもパッとわかりません。0.5秒かけて「3行、2列」と言い換えてやっとわかります。
左右もそうですが、行列も他の人はもっとはやく、もしかしたら瞬間でわかるのではと思っています。30年間、誰にも聞いたことはありませんが。
行列を扱う度に行と列の区別が必要になります。左右は直線的(1次元)配置ですが、行列は平面的(2次元)配置なので、どっちが行でどっちが列なのかがわかりづらいのです。
そんな私──行と列の区別(順序・ナンバリング)がすぐにできない難民──を救ってくれたのが行列でした。次の図を見れば一目瞭然です。
行列の(3, 2)成分の3は行、2が列であることを思い出すには「行列」と唱えればいいということです。横成分(=)が行、縦成分(||)が列であることを行列という漢字がビジュアルで教えてくれます。そして、(行、列)という成分の順序も行、列すなわち行列という漢字そのものということです。
② 行列の積の基本
さらに「行列」は行列の積の特殊性をも教えてくれます。
行ベクトル × 列ベクトル = スカラー
列ベクトル × 行ベクトル = 行列
これより、行列の積は「行ベクトル × 列ベクトル = スカラー」によりスカラーである成分が計算されます。これも「行列」から思い出すことができます。ちなみに列ベクトル×行ベクトルはスカラーではなく行列になります(図2の例)。
③ 行列の積
②の行列の積の基本により行列の成分が計算されます。はたして
(m, L)行列 ×(L, n)行列 =(m, n)行列
となります。m行(L列)×(L列)n列が(m, n)行列ということなので(L列)を略せば、
m行 × n列 =(m, n)行列
と表されます。
以上3つを私は「行→列」のルールと呼んでいます。行列の基本(ナンバリング、積)は「行→列」のルールにより確認、思い出すことができます。
行列のPythonルール
数学はルールのかたまりであるようにPythonもルールのかたまりです。Pythonのナンバリングは「0スタート」がルールです。配列・数列・リストなどがそうです。
行列の行成分と列成分ナンバリングもこれにならって「0スタート」です。(1, 1)成分はPythonでは(0, 0)成分、(4, 3)成分はPythonでは(3, 2)成分としなくてはなりません。
このPythonルールは実に面倒です。数学のテキストに書かれた数式をPythonコードに翻訳する際はいちいち「0スタート」に書き換える必要があります。いまだに私は慣れません。
matrixでなくて行列でよかった
私にとって「行列」という言葉はお守りのような存在です。これがmatrixだったらと考えると憂鬱になります。
行列は連立方程式の解法の中から現れてきた数学です。行列を1つの数としてみるとそこには驚くべき調和の法則が発見されました。それが現在の線形代数学です。
連立方程式をいかにシステマティックに解くか。その追究の先に誕生した行列ですが、手強いことには変わりありません。行列は行と列のたった2つから成ります。たった2つが問題なのです。左右と同じです。どっちがどっちかわからなくなる「たった2つ」。
英語のmatrixのmatはmatherのそれです。母体という意味があります。ある意味「なるほど」ですが役に立ちません。
それに対して日本語の行列は(私には)役に立つ見事な言葉です。誰がつくったかはっきりしていないようですが、発案者には最大の賛辞をおくります。
連載──回帰分析はこれから行列の独壇場になります。「行列」とPythonといっしょにその核心に迫っていきましょう。