はじめに
これまでの記事では、行列とベクトルの積が線形写像を表すことを学びました。また、回転行列や単位行列を通して、行列がベクトルをどのように変換するのかを考えてきました。
では、2つの行列を掛けると、何が起こるのでしょうか。
行列の掛け算では、左側の行列の「行」と右側の行列の「列」を使って計算します。しかし、なぜそのような計算規則になるのでしょうか。
実は、行列の掛け算は、2つの線形写像を順番に適用する「合成」という操作から自然に導かれます。
行列の掛け算は、2つの線形写像を合成した結果を、1つの行列で表すための計算です。行と列を使う計算規則も、この性質から導くことができます。
この記事では、線形写像の合成から行列の掛け算を導き、計算規則の意味と重要な性質を理解しましょう。
この記事でわかること
- 線形写像の合成が何を意味するのか
- 2つの線形写像を1つの行列で表せる理由
- 行列の掛け算で行と列を使う理由
- 行列を掛ける順番が重要になる理由
- 行列の掛け算の結合法則と単位行列の役割
1.線形写像の合成とは何か?
まず、2つの線形写像を順番に適用することを考えましょう。
1.1.2つの線形写像を順番に適用する
ベクトル \(\boldsymbol{x}\) に対して、2つの線形写像 \(T\) と \(S\) を考えます。
最初に \(T\) を適用し、その結果に \(S\) を適用すると、
$$
\boldsymbol{x}
\overset{T}{\longrightarrow}
T(\boldsymbol{x})
\overset{S}{\longrightarrow}
S(T(\boldsymbol{x}))
$$
となります。
このように、ある写像の結果に別の写像を適用することを写像の合成と呼びます。

図では、最初に線形写像 \(T\) によってベクトルが変換され、続いて線形写像 \(S\) によってさらに変換される様子を示しています。この2つの変換をまとめて、1つの写像として考えたものが、線形写像の合成です。
1.2.合成した写像も線形写像になる
では、2つの線形写像を合成した結果も、線形写像になるのでしょうか。
\(T\) と \(S\) が線形写像であるとします。任意のベクトル \(\boldsymbol{u},\boldsymbol{v}\) に対して、
$$
\begin{aligned}{}
S(T(\boldsymbol{u}+\boldsymbol{v}))
&=S(T(\boldsymbol{u})+T(\boldsymbol{v}))\\
&=S(T(\boldsymbol{u}))+S(T(\boldsymbol{v}))
\end{aligned}
$$
が成り立ちます。
また、任意のスカラー \(c\) に対して、
$$
\begin{aligned}{}
S(T(c\boldsymbol{u}))
&=S(cT(\boldsymbol{u}))\\
&=cS(T(\boldsymbol{u}))
\end{aligned}
$$
となります。
したがって、合成した写像も加法性と斉次性を満たすため、線形写像です。
つまり、2つの線形写像を順番に適用する操作も、1つの線形写像として扱えるのです。
2.線形写像の合成を行列で表す
線形写像の合成が線形写像になることがわかりました。次は、その合成を行列で表してみましょう。
2.1.行列とベクトルの積で表す
まず、2次元のベクトルを2次元のベクトルに移す線形写像を考えます。
線形写像 \(T\) を行列 \(A\)、線形写像 \(S\) を行列 \(B\) で表すと、
$$
T(\boldsymbol{x})=A\boldsymbol{x},
\quad
S(\boldsymbol{x})=B\boldsymbol{x}
$$
となります。
最初に \(T\)、続いて \(S\) を適用すると、
$$
\begin{aligned}{}
S(T(\boldsymbol{x}))
&=S(A\boldsymbol{x})\\
&=B(A\boldsymbol{x})
\end{aligned}
$$
です。
ここで、合成した線形写像を表す行列を \(C\) とすると、
$$
C\boldsymbol{x}=B(A\boldsymbol{x})
$$
が、すべてのベクトル \(\boldsymbol{x}\) に対して成り立つ必要があります。
このように、2つの線形写像を合成した結果を表す行列 \(C\) を、行列 \(B\) と \(A\) の積と呼び、
$$
C=BA
$$
と書きます。
したがって、
$$
(BA)\boldsymbol{x}=B(A\boldsymbol{x})
$$
が成り立ちます。
ここでは、行列の積を線形写像の合成として定義しました。次に合成行列の各列がどのように決まるのかを考え、第3章で具体的な計算規則を導いていきます。
重要なのは、右側の行列 \(A\) が先に作用し、左側の行列 \(B\) が後に作用することです。
2.2.合成行列の各列は何を表すのか?
では、合成した線形写像を表す行列 \(C=BA\) は、どのような形になるのでしょうか。
これまで学んだように、線形写像の表現行列は、標準基底ベクトルの変換先を列に並べることで作れます。
2次元の標準基底ベクトルを、
$$
\boldsymbol{e}_1=
\begin{pmatrix}1\\0\end{pmatrix},
\quad
\boldsymbol{e}_2=
\begin{pmatrix}0\\1\end{pmatrix}
$$
とします。
また、行列 \(A\) の列ベクトルを \(\boldsymbol{a}_1,\boldsymbol{a}_2\) とすると、
$$
A=
\begin{pmatrix}
\boldsymbol{a}_1&\boldsymbol{a}_2
\end{pmatrix}
$$
と表せます。
このとき、
$$
A\boldsymbol{e}_1=\boldsymbol{a}_1,
\quad
A\boldsymbol{e}_2=\boldsymbol{a}_2
$$
です。
それぞれの結果に行列 \(B\) を作用させると、
$$
\begin{aligned}{}
C\boldsymbol{e}_1
&=B(A\boldsymbol{e}_1)
=B\boldsymbol{a}_1\\
C\boldsymbol{e}_2
&=B(A\boldsymbol{e}_2)
=B\boldsymbol{a}_2
\end{aligned}
$$
となります。
したがって、合成した線形写像の表現行列は、
$$
\begin{aligned}{}
C
&=
\begin{pmatrix}
C\boldsymbol{e}_1&C\boldsymbol{e}_2
\end{pmatrix}\\
&=
\begin{pmatrix}
B\boldsymbol{a}_1&B\boldsymbol{a}_2
\end{pmatrix}
\end{aligned}
$$
です。

図では、青いベクトルが第1列、緑のベクトルが第2列に対応しています。最初に行列 \(A\) を作用させると、標準基底ベクトルはそれぞれ \(\boldsymbol{a}_1,\boldsymbol{a}_2\) に移ります。さらに行列 \(B\) を作用させると、\(B\boldsymbol{a}_1,B\boldsymbol{a}_2\) に移ります。
この2本のベクトルを列に並べたものが、合成行列 \(C=BA\) です。つまり、行列の掛け算では、右側の行列の各列を、左側の行列によって変換しているのです。
この考え方から、行列の掛け算の計算規則を導くことができます。
行列とベクトルの積を、列ベクトルの線形結合として捉える考え方については、以前の記事で詳しく説明しています。

3.行列の掛け算はなぜ行と列で計算するのか?
ここからは、実際に行列の掛け算の公式を導いてみましょう。
3.1.列ベクトルの線形結合から導く
2つの \(2\times2\) 行列を、
$$
A=
\begin{pmatrix}
a_{11}&a_{12}\\
a_{21}&a_{22}
\end{pmatrix},
\quad
B=
\begin{pmatrix}
b_{11}&b_{12}\\
b_{21}&b_{22}
\end{pmatrix}
$$
とします。
行列 \(A\) の第1列は、
$$
\boldsymbol{a}_1=
\begin{pmatrix}
a_{11}\\a_{21}
\end{pmatrix}
$$
です。
この列ベクトルに行列 \(B\) を掛けると、
$$
\begin{aligned}{}
B\boldsymbol{a}_1
&=
\begin{pmatrix}
b_{11}&b_{12}\\
b_{21}&b_{22}
\end{pmatrix}
\begin{pmatrix}
a_{11}\\a_{21}
\end{pmatrix}\\
&=
a_{11}
\begin{pmatrix}
b_{11}\\b_{21}
\end{pmatrix}
+
a_{21}
\begin{pmatrix}
b_{12}\\b_{22}
\end{pmatrix}\\
&=
\begin{pmatrix}
b_{11}a_{11}+b_{12}a_{21}\\
b_{21}a_{11}+b_{22}a_{21}
\end{pmatrix}
\end{aligned}
$$
となります。
同様に、第2列についても、
$$
B\boldsymbol{a}_2=
\begin{pmatrix}
b_{11}a_{12}+b_{12}a_{22}\\
b_{21}a_{12}+b_{22}a_{22}
\end{pmatrix}
$$
です。
この2つの結果を列に並べると、合成行列 \(C=BA\) が得られます。
$$
BA=
\begin{pmatrix}
b_{11}a_{11}+b_{12}a_{21}
&
b_{11}a_{12}+b_{12}a_{22}\\
b_{21}a_{11}+b_{22}a_{21}
&
b_{21}a_{12}+b_{22}a_{22}
\end{pmatrix}
$$
これが、2次の行列の掛け算の計算規則です。つまり、行列の掛け算の公式は、単なる計算上の約束ではありません。線形写像を合成し、その結果を列ベクトルとして並べることで導かれるのです。
3.2.行と列の内積になる理由
先ほどの結果を別の視点から見てみましょう。
行列 \(BA\) の第1行・第1列の成分は、
$$
b_{11}a_{11}+b_{12}a_{21}
$$
でした。
これは、行列 \(B\) の第1行と、行列 \(A\) の第1列の対応する成分を掛けて足したものです。
同様に、行列 \(BA\) の第 \(i\) 行・第 \(j\) 列の成分を \(c_{ij}\) とすると、
$$
c_{ij}=\sum_{k=1}^{2}b_{ik}a_{kj}
$$
と表せます。
この計算が、行列のどの部分に対応しているのかを図で確認しましょう。

図では、左側の行列 \(B\) の第1行を赤、右側の行列 \(A\) の第2列を青で示しています。対応する成分を掛けて足すと、積の行列 \(BA\) の第1行・第2列の成分が得られます。
一般に、行列 \(B\) の第 \(i\) 行を行ベクトル \(\boldsymbol{r}_i\)、行列 \(A\) の第 \(j\) 列を列ベクトル \(\boldsymbol{a}_j\) とすると、
$$
c_{ij}=\boldsymbol{r}_i\cdot\boldsymbol{a}_j
$$
となります。
したがって、行列の掛け算は「左側の行と右側の列の内積」で計算できるのです。
行列の掛け算で行と列を使うのは、合成した線形写像の各列を求め、その成分を計算しているためです。「行と列の内積」は、線形写像の合成を成分で表した結果なのです。
3.3.一般の行列ではどうなるのか?
ここまでは2次の正方行列を考えてきましたが、行列の掛け算は長方形の行列にも拡張できます。
たとえば、
$$
A\in\mathbb{R}^{n\times p},
\quad
B\in\mathbb{R}^{m\times n}
$$
とします。
行列 \(A\) は \(p\) 次元のベクトルを \(n\) 次元へ、行列 \(B\) は \(n\) 次元のベクトルを \(m\) 次元へ移す線形写像を表します。
したがって、最初に \(A\)、続いて \(B\) を作用させることができ、その合成行列 \(BA\) は \(m\times p\) 行列になります。
各成分は、
$$
(BA)_{ij}=\sum_{k=1}^{n}b_{ik}a_{kj}
$$
です。
行列の積 \(BA\) が定義できるためには、左側の行列 \(B\) の列数と、右側の行列 \(A\) の行数が一致する必要があります。これは、最初に作用する線形写像の出力空間の次元と、次に作用する線形写像の入力空間の次元が一致することに対応しています。
4.具体例で行列の掛け算を確かめる
ここまで導いた計算規則を、具体的な行列で確かめてみましょう。
4.1.2つの行列を掛ける
次の2つの行列を考えます。
$$
A=
\begin{pmatrix}
1&1\\
0&1
\end{pmatrix},
\quad
B=
\begin{pmatrix}
2&0\\
0&1
\end{pmatrix}
$$
行列 \(A\) はベクトルの横方向の成分を変化させるせん断変換、行列 \(B\) は横方向を2倍に拡大する変換を表します。
最初に \(A\)、続いて \(B\) を作用させる合成行列は、
$$
\begin{aligned}{}
BA
&=
\begin{pmatrix}
2&0\\
0&1
\end{pmatrix}
\begin{pmatrix}
1&1\\
0&1
\end{pmatrix}\\
&=
\begin{pmatrix}
2\cdot1+0\cdot0&2\cdot1+0\cdot1\\
0\cdot1+1\cdot0&0\cdot1+1\cdot1
\end{pmatrix}\\
&=
\begin{pmatrix}
2&2\\
0&1
\end{pmatrix}
\end{aligned}
$$
となります。
4.2.ベクトルに順番に作用させて確かめる
ベクトルを、
$$
\boldsymbol{x}=
\begin{pmatrix}
1\\2
\end{pmatrix}
$$
とします。
まず、行列 \(A\) を作用させると、
$$
A\boldsymbol{x}
=
\begin{pmatrix}
1&1\\
0&1
\end{pmatrix}
\begin{pmatrix}
1\\2
\end{pmatrix}
=
\begin{pmatrix}
3\\2
\end{pmatrix}
$$
となります。
続いて、行列 \(B\) を作用させると、
$$
B(A\boldsymbol{x})
=
\begin{pmatrix}
2&0\\
0&1
\end{pmatrix}
\begin{pmatrix}
3\\2
\end{pmatrix}
=
\begin{pmatrix}
6\\2
\end{pmatrix}
$$
です。
一方、先ほど求めた合成行列 \(BA\) を直接掛けると、
$$
\begin{aligned}{}
(BA)\boldsymbol{x}
&=
\begin{pmatrix}
2&2\\
0&1
\end{pmatrix}
\begin{pmatrix}
1\\2
\end{pmatrix}\\
&=
\begin{pmatrix}
6\\2
\end{pmatrix}
\end{aligned}
$$
となり、同じ結果が得られます。
このように、2つの行列を順番に作用させることと、その積の行列を1回作用させることは一致します。
5.行列の掛け算にはどのような性質があるのか?
最後に、行列の掛け算の重要な性質を整理しましょう。
5.1.行列の掛け算では順番が重要になる
普通の数の掛け算では、掛ける順番を入れ替えても結果は変わりません。
しかし、行列の掛け算では、一般に、
$$
AB\ne BA
$$
となります。
先ほどの行列を使って確かめてみましょう。
$$
AB
=
\begin{pmatrix}
1&1\\
0&1
\end{pmatrix}
\begin{pmatrix}
2&0\\
0&1
\end{pmatrix}
=
\begin{pmatrix}
2&1\\
0&1
\end{pmatrix}
$$
一方、
$$
BA=
\begin{pmatrix}
2&2\\
0&1
\end{pmatrix}
$$
でした。
このように、\(AB\) と \(BA\) は一致しません。なぜなら、\(AB\) は最初に \(B\)、続いて \(A\) を作用させるのに対し、\(BA\) は最初に \(A\)、続いて \(B\) を作用させるからです。
つまり、行列の掛け算で順番が重要になるのは、線形写像を適用する順番によって結果が変わる場合があるためです。ただし、すべての行列で順番を入れ替えると結果が変わるわけではありません。特別な場合には \(AB=BA\) が成り立つこともあります。
5.2.行列の掛け算には結合法則が成り立つ
行列の掛け算では、順番を入れ替えることは一般にできませんが、括弧の位置を変えることはできます。
掛け算が定義できる大きさの行列 \(A,B,C\) に対して、
$$
(AB)C=A(BC)
$$
が成り立ちます。
これは、3つの線形写像を順番に適用するとき、どの2つを先に合成しても最終的な結果が変わらないことに対応しています。
たとえば、ベクトル \(\boldsymbol{x}\) に対して、最初に \(C\)、続いて \(B\)、最後に \(A\) を適用すると、
$$
A(B(C\boldsymbol{x}))
$$
となります。
この3つの線形写像をどのようにまとめても、適用する順番が同じであれば、最終的な変換は変わりません。
5.3.単位行列は何も変えない合成を表す
前回学んだ単位行列は、行列の掛け算における「\(1\)」の役割を持ちます。
正方行列 \(A\) に対して、
$$
IA=AI=A
$$
が成り立ちます。
これは、線形写像の前後に恒等写像を合成しても、元の線形写像が変わらないことを表しています。
つまり、単位行列の性質も、行列の掛け算を線形写像の合成として考えることで自然に理解できるのです。
まとめ
今回は、線形写像の合成から行列の掛け算の計算規則を導きました。
重要なポイントを整理します。
- 線形写像の合成とは、2つの線形写像を順番に適用することである。
- 2つの線形写像を合成した結果も、線形写像になる。
- 行列の掛け算は、線形写像の合成を1つの行列で表す計算である。
- 積の行列の各列は、右側の行列の各列に左側の行列を作用させることで求められる。
- 行と列の内積による計算規則は、合成行列の各成分を求めることで導かれる。
- 行列の掛け算では、一般に掛ける順番を入れ替えることができない。
- 行列の掛け算には結合法則が成り立ち、単位行列は掛け算の単位元になる。
今回、最も重要なのは次の関係です。
$$
(BA)\boldsymbol{x}=B(A\boldsymbol{x})
$$
また、行列の掛け算の各成分は、
$$
(BA)_{ij}=\sum_{k=1}^{n}b_{ik}a_{kj}
$$
と表せます。ここで、\(A\) は \(n\) 行、\(B\) は \(n\) 列を持ち、積 \(BA\) が定義できるものとします。
行列の掛け算は、行と列を機械的に計算するだけの操作ではありません。線形写像を順番に適用した結果を、1つの行列で表すための計算なのです。
前回は、何も変えない線形写像を表す単位行列について学びました。今回は、複数の線形写像を組み合わせるとき、行列の掛け算がどのような役割を持つのかを理解しました。
次回は、行列の行と列を入れ替える「転置行列」について考えます。
関連記事


Part 3.線形写像と行列をまとめて理解する
Part 3では、線形写像を行列で表す仕組みから、行列の演算、像・核・ランク・次元定理までを学びます。線形写像と行列の関係を整理したい人は、次のまとめ記事をご覧ください。

関連書籍
行列の掛け算や線形写像の合成をさらに深く理解したい人には、線形代数を体系的に学べる書籍も参考になります。
特に、行列の計算規則だけでなく、線形写像や基底との関係を説明している書籍を読むことで、行列の掛け算の意味をより深く理解できるようになります。



コメント