1.7 行列積
ここでは行列の積について紹介する.行列の積はスカラー同士やベクトル同士の積よりもやや複雑な演算となる.
Definition 1.4 (行列の積) いま,2つの行列A∈Rn×m,B∈Rm×pとする.このときAとBの積ABを次のように定義する.
AB=(∑ni=1a1ibi1∑ni=1a1ibi2⋯∑ni=1a1ibip∑ni=1a2ibi1∑ni=1a2ibi2⋯∑ni=1a2ibip⋮⋮⋱⋮∑ni=1anibi1∑ni=1anibi2⋯∑ni=1anibip)
すなわち,AB∈Rn×pということになり,行列のサイズが変わることに注意されたい. このように行列の積は左からかける行列の列数と,右からかける行列の行数が一致する場合に定義される.
既に述べた要領で,行列を行ベクトルまたは列ベクトルを用いて表現すると行列積をより簡潔に表現することもできる. ここでは
\begin{align} \begin{matrix} A = \begin{pmatrix} \boldsymbol a_{1 \cdot} \\ \boldsymbol a_{2 \cdot} \\ \vdots \\ \boldsymbol a_{n \cdot} \end{pmatrix} \end{matrix} , \hspace{5mm} B = \begin{pmatrix} \boldsymbol b_{\cdot 1} & \boldsymbol b_{\cdot 2} & \cdots \boldsymbol b_{p \cdot} \end{pmatrix} \end{align}
と表しておくと,
\begin{align} AB = \begin{pmatrix} \boldsymbol a_{1 \cdot} \circ \boldsymbol b_{\cdot 1} & \boldsymbol a_{1 \cdot} \circ \boldsymbol b_{\cdot 2} & \cdots & \boldsymbol a_{1 \cdot} \circ \boldsymbol b_{\cdot p} \\ \boldsymbol a_{2 \cdot} \circ \boldsymbol b_{\cdot 1} & \boldsymbol a_{2 \cdot} \circ \boldsymbol b_{\cdot 2} & \cdots & \boldsymbol a_{2 \cdot} \circ \boldsymbol b_{\cdot p} \\ \vdots & \vdots & \ddots & \vdots \\ \boldsymbol a_{n \cdot} \circ \boldsymbol b_{\cdot 1} & \boldsymbol a_{n \cdot} \circ \boldsymbol b_{\cdot 2} & \cdots & \boldsymbol a_{n \cdot} \circ \boldsymbol b_{\cdot p} \end{pmatrix} \end{align} このように,ABの各要素をベクトルの内積として表現できる.
ここから分かる通り,n次元ベクトルを,サイズがn \times 1の行列とみなせば行列の積の枠組みで行列とベクトルの積を計算することができる.
Exercise 1.6 (行列の積) 次の行列積を計算せよ.
\begin{align} (1) \hspace{5mm} & \begin{pmatrix} 1 & 2 \\ 2 & -1 \end{pmatrix} \begin{pmatrix} 1 \\ 3 \end{pmatrix} \\ (2) \hspace{5mm} & \begin{pmatrix} 2 & -1 \\ 2 & 3 \end{pmatrix} \begin{pmatrix} 1 & 0 \\ 4 & 2 \end{pmatrix} \end{align}