線形代数 · 行列の積

行列の積

2つの行列の積ABは、「先にB、次にA」という合成を表す行列で、すべてのベクトルxについて(AB)x = A(Bx)が成り立つ。その第j列はBの第j列にAを適用したもので、Bの数を係数としてAの列を組み合わせたものになる。よく知られる行×列の計算規則は、この組み合わせを座標で書いたものだ。2番目の変換は最初の変換の結果に作用するため、順序が重要で、一般にはAB ≠ BAとなる。

この図で見る行列の積

2 × 2行列は平面の線形写像であり、その列はı^=(1,0)\hat\imath = (1, 0)とȷ^=(0,1)\hat\jmath = (0, 1)の移り先を表す。積ABABは、先にBB、次にAAという2つの写像を続けて行う行列で、すべてのベクトルxxについて(AB)x=A(Bx)(AB)x = A(Bx)が成り立つ。xxの隣の行列が先に作用するので、積は右から左へ読む。

このページの初期設定:先にB、次にA
AB=(1102)(2−111)=(3022)AB = \begin{pmatrix} 1 & 1 \\ 0 & 2 \end{pmatrix} \begin{pmatrix} 2 & -1 \\ 1 & 1 \end{pmatrix} = \begin{pmatrix} 3 & 0 \\ 2 & 2 \end{pmatrix}

ABABの順序では、左の図は標準格子上のBBを示す。ı^\hat\imathとȷ^\hat\jmathは薄い破線の矢印、その移り先b1b_1とb2b_2、つまりBBの列は青色で描かれる。右の図はAAを示し、標準格子の変換後の格子と列a1a_1、a2a_2は濃い色、積の列Ab1Ab_1、Ab2Ab_2は青色で描かれる。旗は、同じ2段階の変換を図形で示したものだ。積の結果は掛け合わせた行列よりもはるか遠くに届くことがあるため、各図の縮尺は独立している。

ABABの列はどう作られるのだろう。BBはı^\hat\imathをb1=(b11,b21)b_1 = (b_{11}, b_{21})へ移す。この点へはı^\hat\imath方向にb11b_{11}、ȷ^\hat\jmath方向にb21b_{21}だけ進めばよい。AAは線形なので、その点を、自分の列を同じ係数で組み合わせた先へ移す。つまりa1a_1のb11b_{11}倍、続いてa2a_2のb21b_{21}倍だけ進む。使うのはb1b_1の2つの数だけで、b1b_1がどう作られたかは関係ない。右の図では、選択した積の列をこの組み合わせとして描く。a1a_1とa2a_2に沿う2本の細い経路の先が青い矢印に届く。左のb1b_1をドラッグすると、その数に応じて経路が伸び縮みする。

ABの各列は、Bの同じ列にAを適用したもの
(AB)j=A bj=b1j a1+b2j a2Ab1=2(10)+1(12)=(32)\begin{gathered} (AB)_j = A\,b_j = b_{1j}\,a_1 + b_{2j}\,a_2 \\[0.6ex] Ab_1 = 2\begin{pmatrix} 1 \\ 0 \end{pmatrix} + 1\begin{pmatrix} 1 \\ 2 \end{pmatrix} = \begin{pmatrix} 3 \\ 2 \end{pmatrix} \end{gathered}

行と列を掛ける計算規則は、この組み合わせを座標で書いたものだ。AbjAb_jのx座標は、2本の経路の水平成分を足したa11b1j+a12b2ja_{11}b_{1j} + a_{12}b_{2j}となる。これはAAの第1行とBBの第jj列の積だ。y座標も同様に第2行から求まる。行×列では、これらの成分を座標軸に沿って描き、それぞれの積を表示する。

行×列の一般形と、初期設定の第1列
(AB)ij=ai1b1j+ai2b2j(AB)1=(1⋅2+1⋅1, 0⋅2+2⋅1)=(3, 2)\begin{gathered} (AB)_{ij} = a_{i1}b_{1j} + a_{i2}b_{2j} \\[0.6ex] (AB)_1 = (1\cdot 2 + 1\cdot 1,\ 0\cdot 2 + 2\cdot 1) = (3,\ 2) \end{gathered}

2番目の変換は最初の変換の結果に作用するため、順序が重要になる。90°回転してからせん断すると、ı^\hat\imathは(0,1)(0, 1)へ、次に(1,1)(1, 1)へ移る。せん断してから回転すると、ı^\hat\imathは(1,0)(1, 0)にとどまり、その後(0,1)(0, 1)へ移る。逆の順序でも合成すると、その結果が右の図に青い破線の矢印で表示され、AかBを変更するまで残る。順序を入れ替えても結果が同じ組もある。原点を中心とする平面の2つの回転は、どちらの順序でも角度を足せばよい。

面積倍率は掛け合わされる。BBは単位正方形を面積∣det⁡B∣|\det B|の平行四辺形へ移し、続いてAAがすべての面積を∣det⁡A∣|\det A|倍にする。符号も含めるとdet⁡(AB)=det⁡A⋅det⁡B\det(AB) = \det A\cdot\det Bとなる。数の掛け算では順序を入れ替えられるため、AB≠BAAB \ne BAであってもdet⁡(AB)=det⁡(BA)\det(AB) = \det(BA)が成り立つ。初期設定ではdet⁡A=2\det A = 2、det⁡B=3\det B = 3なので、どちらの積の行列式も6になる。

どちらの順序でも、符号付き面積倍率は掛け合わされる
det⁡(AB)=det⁡A⋅det⁡B=det⁡(BA)\det(AB) = \det A \cdot \det B = \det(BA)

注目する点

  • ABABの順序で合成すると、ı^\hat\imathはb1b_1まで直線上を移動する。この経路が示すのはı^\hat\imathの移り先だけで、BBが平面をどう動かすかではない。
  • 面積倍率が負でも、面積が負になるわけではない。負の符号は平面の向きが反転することを表し、面積は倍率の絶対値倍になる。

操作

  • ABABの順序では、左のppを指すと、右のApApに小さな水色の輪が表示される。

関連する概念

さらに読む: ウィキペディア: Matrix multiplication (英語); OpenStax, College Algebra 2e, 7.5 Matrices and Matrix Operations (英語).