次に行列どうしの積について説明する．
行列の積は少々面倒である．
成分ごとに積というわけにはいかない．
行列の積の基本は，次のような1行からなる行列と1列からなる行列の計算のしかたである．
\left(
    \begin{array}{c}
      a & b
    \end{array}
  \right)
\left(
    \begin{array}{c}
      x \\
      y
    \end{array}
  \right)
ax + by \quad\quad\quad
\left(
    \begin{array}{c}
      a & b &c
    \end{array}
  \right)
\left(
    \begin{array}{c}
      x \\
      y \\
      z
    \end{array}
  \right)
ax + by + cz
左の行列を列ベクトルとしてみれば，この計算はちょうど列ベクトルどうしの内積の値に等しくなる．
\left(
    \begin{array}{c}
      a \\
      b
    \end{array}
  \right)
\cdot
\left(
    \begin{array}{c}
      x \\
      y
    \end{array}
  \right)
ax + by \quad\quad\quad
\left(
    \begin{array}{c}
      a \\
      b \\
      c
    \end{array}
  \right)
\cdot
\left(
    \begin{array}{c}
      x \\
      y \\
      z
    \end{array}
  \right)
ax + by + cz
2 行の行列と 1 列の行列の積は次のようにして計算する．
\left(
    \begin{array}{c}
      a & b \\
      c & d
    \end{array}
  \right)
\left(
    \begin{array}{c}
      x \\
      y
    \end{array}
  \right)
\left(
    \begin{array}{c}
      ax + by \\
      cx + dy
    \end{array}
  \right) 
\quad\quad\quad
\left(
    \begin{array}{c}
      a & b & c\\
      d & e & f
    \end{array}
  \right)
\left(
    \begin{array}{c}
      x \\
      y \\
      z
    \end{array}
  \right)
\left(
    \begin{array}{c}
      ax + by + cz\\
      dx + ey + fz
    \end{array}
  \right) 
左の行列を行にわけて計算するところがポイントである．
2 次の正方行列どうしの積，(2, 3) 型行列と (3, 2) 型行列の積はつぎのようになる．
\left(
    \begin{array}{c}
      a & b \\
      c & d
    \end{array}
  \right)
\left(
    \begin{array}{c}
      x & z\\
      y & w
    \end{array}
  \right)
\left(
    \begin{array}{c}
      ax + by & az + bw \\
      cx + dy & cz + dw
    \end{array}
  \right) 
\quad\quad\quad
\left(
    \begin{array}{c}
      a & b & c\\
      d & e & f
    \end{array}
  \right)
\left(
    \begin{array}{c}
      x & w \\
      y & u \\
      z & v
    \end{array}
  \right)
\left(
    \begin{array}{c}
      ax + by + cz & aw + bu + cv \\
      dx + ey + fz & dw + eu + fv
    \end{array}
  \right)
左の行列は行に分け，右の行列は列に分けて計算する．
ここまでの例で一般の行列の積の計算の要領をわかっていただけたものと思う．
一般の行列の積に関してまとめると次のようになる．
定義7
行列の積
A を (l, m) 型行列，B を (m, n) 型行列とすると，
AB は (l, n) 型行列であり，(i, j) 成分は A の第 i 行と B の第 j 列の積である．
\blacksquare
行列 A, B の積 AB が計算できるためには，A の列のサイズと B の行のサイズが一致しなければならないことに注意する．
なお，この定義によると 1 列の行列と 1 行の行列の積は，
\begin{pmatrix}a \\ b\end{pmatrix}
\begin{pmatrix}x & y\end{pmatrix}
\begin{pmatrix}ax & ay \\ bx & by\end{pmatrix}\quad\quad
\begin{pmatrix}a \\ b \end{pmatrix}
\begin{pmatrix}x & y & z\end{pmatrix}
\begin{pmatrix}ax & ay & az \\ bx & by & bz \end{pmatrix}\quad\quad
となる．左の行列の行で，右の行列を列に分けると１つずつの成分で行，列を構成することになってしまうのでこうなるわけである．
盲点になっている人がいるので念のため．
こうして定義された行列の積について，次のような計算法則が成り立つ．
定理7
行列の積の計算法則
(1)  (AB)C = A(BC)\ \ \ (結合則）
(2a) (A+B)C = AC + BC\ \ \ 
(2b) A(B+C) = AB + AC\ \ \ (分配則）
(3)  AO = OA = O
証明
以下、行列 M の第 i 行第 j 列成分を m_{ij}，
これと並行に成分の表示方法として，行列 M の各成分を (M)_{ij} と表示するものとする．
(1)
行列の積 AB, (AB)C, BC, A(BC) のすべてが定義できるものと仮定する．
定理7 より、
(AB)_{ij} = \sum_k a_{ik}b_{kj}
よって、
(AB)_{ij} = \sum_x a_{ix}b_{xj}
\therefore \left\{ (AB)C \right\}_{ij} = \sum_y (AB)_{iy}c_{yj}
= \sum_y \left( \sum_x a_{ix}b_{xy} \right)c_{yj}
= \sum_y \sum_x a_{ix}b_{xy}c_{yj}\ \ \ (\because c の添え字は内側の \sum_x の添え字x（従属変数）と関係ない。） 
同様に、
\left\{A(BC)\right\}_{ij} = \sum_x a_{ix}\left(BC\right)_{xj}
=\sum_{x}a_{ix}\sum_y b_{xy}c_{yj}
=\sum_x \sum_y a_{ix}b_{xy}c_{yj}\ \ \ (\because a の添え字は内側の\sum_y の添え字y（従属変数）と関係ない。）
=\sum_y \sum_x a_{ix}b_{xy}c_{yj}
= \left\{ (AB)C \right\}_{ij}
\therefore A(BC) = (AB)C
(2a)
行列の積 (A + B)C, AC, BC が定義可能であると仮定する．
\left\{ (A+B)C \right\}_{ij} = \sum_k (A + B)_{ik}c_{kj}
= \sum_k (a_{ik} + b_{ik} )c_{kj}
= \sum_k (a_{ik}c_{kj} + b_{ik}c_{kj})
= \sum_k a_{ik}b_{kj} + \sum_k b_{ik}c_{kj}
= (AC)_{ij} + (BC)_{ij}
= (AC + BC)_{ij}
\therefore (A + B)C = AC + BC
(2b)
行列の積 A(B + C), AB, AC が定義可能であると仮定する．
\left\{ A(B + C) \right\}_{ij} = \sum_k a_{ik} (B + C)_{kj}
= \sum_k a_{ik}(b_{kj} + c_{kj})
= \sum_k a_{ik}b_{kj} + a_{ik}c_{kj}
= \sum_k a_{ik}b_{kj} + \sum_k a_{ik}c_{kj}
= (AB)_{ij} + (AC)_{ij}
= (AB + AC)_{ij}
\therefore A(B + C) = AB + AC
(3)
O を零行列とし、行列の積 AO および OA のいずれも定義可能であると仮定する．
(AO)_{ij} = \sum_k a_{ik}o_{kj}
= \sum_k a_{ik}\cdot 0 \ \ \ \because o_{kj} \equiv 0
 \equiv 0
\therefore AO = O
(OA)_{ij} = \sum_k o_{ik}a_{kj}
= \sum_k 0\cdot a_{kj} \ \ \ \because o_{kj} \equiv 0
\equiv 0
\therefore OA = O
\therefore AO = OA = O
\blacksquare
行列の積の計算練習を行う．
演習5.\quad行列の積
A = 
\left(\begin{array}{c}
  2 & -1 \\
  3 &  1
\end{array}\right)
, \ B = 
\left(\begin{array}{c}
  -2 & 3 \\
   2 & 1
\end{array}\right)\  のとき，AB, BA を求めよ．
解答例
AB = \left(\begin{array}{c}
  2 & -1 \\
  3 & 1
\end{array}\right)
\left(\begin{array}{c}
  -2 & 3 \\
  2  & 1
\end{array}\right)
\left(\begin{array}{c}
  2(-2) + (-1)\cdot 2 & 2\cdot 3 - 1\cdot 1 \\
  3(-2) + 1\cdot 2    & 3\cdot 3 + 1\cdot 1
\end{array}\right)
\left(\begin{array}{c}
  -6 & 5 \\
  -4 & 10
\end{array}\right)
BA = \left(\begin{array}{c}
  -2 & 3 \\
  2  & 1
\end{array}\right)
\left(\begin{array}{c}
  2 & -1 \\
  3 & 1
\end{array}\right)
\left(\begin{array}{c}
  -2\cdot 2 + 3\cdot 3 & (-2)\cdot 2 + 3\cdot 3 & (-2)(-1) + 3\cdot 1 \\
  2\cdot 2 + 1\cdot 3  & 2\cdot (-1) + 1\cdot 1
\end{array}\right)
\left(\begin{array}{c}
5 & 5 \\
7 & -1
\end{array}\right)
AB \ne BA となっている。この例からわかるように、一般に行列の積は交換法則が成り立たない．
正方行列でない行列の席の場合は、そもそも AB が計算できても BA が計算できるとは限らない．
\blacksquare
演習6.
A = 
\left(\begin{array}{c}
-3 & 0 & 0 \\
0  & 1 & 0 \\
0  & 0 & 2
\end{array}\right)、
\left(\begin{array}{c}
1 &  0 & 0 \\
0 & -3 & 0 \\
0 & 0  & 3
\end{array}\right)
のとき、AB、BA を計算せよ．
解答例
\blacksquare