上の欄に行列 A と B を入力し、A × B を押してください。大きさが合わないときはボタンが 無効になり、どの次元が一致すべきかが表示されます。計算過程を開けば、各成分が積の和として展開されて いる様子が見られます。手で書き下すときとまったく同じ形です。同じタブには加算・減算・転置もあり、スカラータブとべき乗タブが k·A と Aⁿ を 受け持ちます。以下ではそのすべてを説明します。
次元の規則
m×n の行列に n×p の行列を掛けるには、内側の二つの数が等しくなければ なりません。A の列数と B の行数です。結果は外側の二つの数をとって m×p になります。A × B が完全に成立する一方で B × A がそもそも定義されない、ということが 起きるのはこのためです。
行と列の規則
積の (i, j) 成分は、A の第 i 行と B の第 j 列の内積です。
c(i,j) = a(i,1)·b(1,j) + a(i,2)·b(2,j) + … + a(i,n)·b(n,j)
| 1 | 2 |
| 3 | 4 |
| 5 | 6 |
| 7 | 8 |
| 19 | 22 |
| 43 | 50 |
最初の成分を確かめてみましょう。1·5 + 2·7 = 19 です。四つの成分はそれぞれが小さな内積であり、計算機 は計算過程のパネルにその四つの展開をすべて書き出します。
AB は BA ではない
行列の積は可換ではありません。BA がそもそも定義されないことも多く、 両方が存在する場合でもたいてい別の行列になります。変換の積の順序を入れ替えれば、起きることは本当に 変わります。回転してから鏡映するのと、鏡映してから回転するのとは同じではありません。同じ組で両方の ボタンを押して比べてみてください。
もう一つ注意があります。A·B = 0 であっても A や B が零行列とは限りません。 行列には、普通の数と違って零因子があります。
それでも成り立つこと
- 結合法則:
(A·B)·C = A·(B·C) - 分配法則:
A·(B + C) = A·B + A·C - 単位元:
I·A = A·I = A - 転置は順序を逆にする:
(A·B)ᵀ = Bᵀ·Aᵀ - 行列式は掛かる:
det(A·B) = det(A)·det(B) - 階数は増えない:
rank(A·B) ≤ min(rank(A), rank(B))
加算・減算・スカラー倍
加算と減算は、期待どおりに振る舞う演算です。成分ごとに行われ、意外なところはありません。二つの行列は 同じ大きさでなければならず——2×3 はほかの 2×3 としか足せません——結果もその大きさを保ちます。
| 1 | 2 |
| 3 | 4 |
| 5 | 6 |
| 7 | 8 |
| 6 | 8 |
| 10 | 12 |
位置ごとに動くため、加算はすでに知っている算術をそのまま受け継ぎます。A + B = B + A であり、三つの和の まとめ方も結果に影響しません。ここが掛け算との本当の対比です。減算は逆元を足すことなので、A − B は A + (−1)·B であり、5 − 3 と 3 − 5 が違うのと同じ普通の意味で順序が効きます。
スカラー倍は各成分を同じ数で倍し、形についての制約はまったくありません。ここで一つ、ほとんどの人が 驚く帰結があります。行列を k 倍しても、行列式は k 倍になりません。n×n の行列では det(k·A) = kⁿ·det(A) です。n 行のそれぞれが倍されるので、行列式は行の数だけ掛かるから です。3×3 の行列を 2 倍すると、行列式は 8 倍になります。トレースは単なる和なので、予想どおりに 振る舞います。tr(k·A) = k·tr(A) です。
転置
転置は行列を主対角線で折り返す操作です。第 i 行第 j 列の成分が第 j 行第 i 列へ移ります。m×n は n×m に なるので、この演算はどんな形にも定義されています。列ベクトルは行ベクトルになり、内積を xᵀy と書くのが標準なのはそのためです。
| 1 | 2 | 3 |
| 4 | 5 | 6 |
| 1 | 4 |
| 2 | 5 |
| 3 | 6 |
覚えておく価値のある等式が三つあります。二度転置すればもとに戻ります。(Aᵀ)ᵀ = A です。和の転置は 分配されます。(A + B)ᵀ = Aᵀ + Bᵀ です。しかし積の転置は順序を逆にします。 (A·B)ᵀ = Bᵀ·Aᵀ であって Aᵀ·Bᵀ ではありません。この逆転は形が強いるものです。A が 2×3、B が 3×4 なら、 Aᵀ は 3×2、Bᵀ は 4×3 となり、次元が合うのは Bᵀ·Aᵀ だけです。自分自身の転置と等しい行列は対称行列と呼ばれ、その性質は際立って良好です。固有値は必ず実数になり、コレスキー分解が適用できるのもこの種の行列です。
べき乗
Aⁿ は A を自分自身と n 回掛けることを意味し、正方行列にのみ意味を持ちます。A⁰ は零行列ではなく単位行列で、A¹ は A そのものです。
| 1 | 1 |
| 0 | 1 |
| 1 | 2 |
| 0 | 1 |
| 1 | n |
| 0 | 1 |
2 乗は成分ごとの操作ではありません。右上の成分は 1² = 1 ではなく 1·1 + 1·1 = 2 です。計算機は繰り返し 2 乗によるべき乗を使うため、A¹⁶ は 15 回ではなく 4 回の掛け算で済みます。べき乗は過程が繰り返される ところならどこにでも現れます。マルコフ連鎖で P が 1 歩の推移確率を保持していれば、Pⁿ は n 歩の推移確率 を保持します。隣接行列では、Aⁿ の (i, j) 成分は頂点 i から j への長さ n の経路の数を数えています。 指数が非常に大きいときは対角化してください。A = P·D·P⁻¹ で D が対角なら Aⁿ = P·Dⁿ·P⁻¹ となり、これは固有値から始まります。
よくある誤り
- 成分ごとに掛ける。行列の積は
a(i,j)·b(i,j)ではありません。その演算はアダマール積として存在しますが、A × Bが意味するものではありません。 - AB = BA と思い込む。行列の積は可換ではありません。
- 因子が零だと結論する。
A·B = 0は A や B が零行列であることを意味しません。 - (A·B)ᵀ = Aᵀ·Bᵀ と書く。順序は逆になります。転置で最も多い取り違えです。
- 各成分をべき乗する。A² は A·A であって、成分を 2 乗した行列ではありません。両者が一致するのは対角行列のときだけです。
- 行列にスカラーを足す。A + 3 に意味はありません。対角に 3 を足したいなら 3·I を足してください。