数を格子状に並べた行列同士の加算・乗算を行う計算
行列(matrix)とは、数を 格子状(行と列)に並べた表のことです。横方向の並びを「行(row)」、縦方向の並びを「列(column)」と呼びます。たとえば 2 行 2 列の行列は「2×2 行列」と言い、4 つの数を持ちます。
身近な例で考えると、表計算ソフトのセルに似ています。Excel の表のように、何行目・何列目という位置で 1 つの数が決まります。位置を表すときは A[i][j](i 行目・j 列目の要素)と書きます。
上のツールで「加算 A+B」「乗算 A×B」を切り替え、スライダーや「次へ」ボタンを押すと、結果のセルが 1 つずつ計算されていく様子が見えます。各セルがどの数から作られるかを目で追ってみてください。
加算(足し算)はとても単純で、同じ位置にある数同士を足すだけです。そのため、足せるのは 行数も列数も同じ行列同士に限られます。
乗算(掛け算)は少し複雑で、「左の行」と「右の列」を掛けて足し合わせた値(内積)を結果のセルにします。計算式は次の通りです。
C[i][j] = Σ A[i][k] × B[k][j]
乗算で押さえるべきルール:
・サイズ条件:A の列数と B の行数が一致しないと掛けられない(例: 2×3 と 3×2 は可)
・結果のサイズ:A が m×k、B が k×n なら、結果は m×n
・順序に注意:A×B と B×A は一般に等しくない(交換法則が成り立たない)
例: [[1,2],[3,4]] × [[5,6],[7,8]]
C[1][1] = 1×5 + 2×7 = 19
C[1][2] = 1×6 + 2×8 = 22
C[2][1] = 3×5 + 4×7 = 43
C[2][2] = 3×6 + 4×8 = 50
行列は IT のさまざまな場面で「たくさんの数をまとめて一度に変換する道具」として使われます。1 つずつ計算するより効率がよく、コンピュータが得意とする計算です。
代表的な利用例:
・コンピュータグラフィックス:3D ゲームや CAD で、点の座標に変換行列を掛けて回転・拡大・移動を行う
・連立方程式の求解:複数の式の係数を行列にまとめ、まとめて解く(次のページで扱う連立一次方程式も行列で解ける)
・機械学習・AI:ニューラルネットワークの計算は、ほぼすべて行列の掛け算でできている
・暗号・誤り訂正:データを行列で変換して符号化する
行列の積では「定義できるサイズ条件(A の列数 = B の行数)」と「結果のサイズ(m×n)」が基本となります。また 単位行列(対角線が 1、他が 0 の行列)を掛けても元のまま変わらない、という性質も重要です。掛け算では「順序を入れ替えると結果が変わる」点にも注意しましょう。