行列の掛け算は、線形代数、コンピューターグラフィックス、機械学習、物理シミュレーションを動かす演算です。それなのに、ほとんどの学生はそれを機械的なレシピとして学び、なぜそのように定義されているのかを目にすることがありません。このガイドはレシピと直感の両方を与えます。
まずは次元のルール
何かを計算する前に、次元を確認しましょう。A⋅B を掛けるには:
- A は形 m×n でなければならない
- B は形 n×p でなければならない
- 結果 AB は形 m×p になる
内側の次元が一致しなければなりません(n=n)。外側の次元が結果の形になります。
もし 3×4 と 5×2 を掛けようとすると、その演算は定義されません——どんな計算をしても救いようがありません。
行かける列のレシピ
AB の (i,j) 成分は、A の第 i 行と B の第 j 列の内積です:
(AB)ij=∑k=1nAikBkj
例題
A=(1324),B=(5768)
AB を計算します:
- (AB)11=1⋅5+2⋅7=19
- (AB)12=1⋅6+2⋅8=22
- (AB)21=3⋅5+4⋅7=43
- (AB)22=3⋅6+4⋅8=50
よって AB=(19432250) です。
なぜ掛け算はこのように定義されるのか?
行列はベクトル空間の間の線形写像を表します。A が Rn から Rm へ写し、B が Rp から Rn へ写すなら、AB はそれらの写像の合成であるべきです。行かける列のルールは、まさにこの合成を生み出すものです。このレシピは恣意的ではありません——「まず B を適用し、次に A を適用する」を AB が符号化するという要請から導かれます。
性質(そして非性質!)
| 性質 | 成り立つ? |
|---|
| A(BC)=(AB)C 結合律 | はい |
| A(B+C)=AB+AC 分配律 | はい |
| AB=BA 交換律 | 一般には、いいえ |
| AB=0⇒A=0 または B=0 | いいえ |
非可換性は、スカラーの算術からの最大の頭の切り替えどころです。
よくある間違い
- 行・列の積を掛けるのではなく足してしまう(両方やります——対ごとに掛けてから足す)。
- 次元チェックの順序を入れ替える——(m×n)(n×p) でなければならず、(n×m)(n×p) ではありません。
- 可換性を仮定する——BA が定義できても AB は定義できないことすらあります。
AI 行列ソルバーで試そう
行列計算機に任意の行列の組を入力すると、行ごとの計算がすべて表示されます。
関連リンク:
- 行列式計算機——2×2 の積と自然に組み合わさる
- 逆行列計算機——AB=I を定義関係として使う
- ベクトル計算機——内積がすべての成分の根底にある