式の導出でよく出てくる、行列とベクトルの積、行列と行列の積。
意外と詰まりがちなので、以下まとめてみました。
行列とベクトルの積
行列を列ベクトルの集まりとして見る
$\begin{array}{l}
\boldsymbol{X} =\left(\begin{array}{llll}\boldsymbol{x_{1}} & \boldsymbol{x_{2}} & \cdots & \boldsymbol{x_{n}}\end{array}\right),\qquad
\boldsymbol{a} =\left(\begin{array}{l}
a_{1} \\
a_{2} \\
\vdots \\
a_{n}
\end{array}\right)
\end{array}$
$\begin{aligned}
\boldsymbol{X} \boldsymbol{a} &=\left(\begin{array}{llll}
\boldsymbol{x_{1}} & \boldsymbol{x_{2}} & \cdots & \boldsymbol{x_{n}}
\end{array}\right)\left(\begin{array}{c}
a_{1} \\
a_{2} \\
\vdots \\
a_{n}
\end{array}\right) \\
&=a_{1} \boldsymbol{x_{1}}+a_{2} \boldsymbol{x_{2}}+\cdots+a_{n} \boldsymbol{x_{n}}
\end{aligned}$
行列を行ベクトルの集まりとして見る
$\begin{array}{l}
\boldsymbol{X}=\left(\begin{array}{c}
\boldsymbol{x_{1}^{\top}} \\
\boldsymbol{x_{2}^{\top}} \\
\vdots \\
\boldsymbol{x_{n}^{\top}}
\end{array}\right) ,\qquad
\boldsymbol{a}=\left(\begin{array}{l}
a_{1} \\
a_{2} \\
\vdots \\
a_{n}
\end{array}\right)
\end{array}$
$\begin{aligned}
\boldsymbol{X}\boldsymbol{a} &=\left(\begin{array}{c}
\boldsymbol{x_{1}^{\top}} \\
\boldsymbol{x_{2}^{\top}} \\
\vdots \\
\boldsymbol{x_{n}^{\top}}
\end{array}\right) \boldsymbol{a} \\
&=\left(\begin{array}{c}
\boldsymbol{x_{1}^{\top}}\boldsymbol{a} \\
\boldsymbol{x_{2}^{\top}} \boldsymbol{a} \\
\vdots \\
\boldsymbol{x_{n}^{\top}} \boldsymbol{a}
\end{array}\right)
\end{aligned}$
行列と行列の積
前の行列が列ベクトルの集まり、後ろの行列が行ベクトルの集まり
$\begin{array}{l}
\boldsymbol{X} =\left(\begin{array}{llll}\boldsymbol{x_{1}} & \boldsymbol{x_{2}} & \cdots & \boldsymbol{x_{n}}\end{array}\right),\qquad
\boldsymbol{Y}=\left(\begin{array}{c}
\boldsymbol{y_{1}^{\top}} \\
\boldsymbol{y_{2}^{\top}} \\
\vdots \\
\boldsymbol{y_{m}^{\top}}
\end{array}\right)
\end{array}$
$\begin{aligned}
\boldsymbol{X} \boldsymbol{Y} &=\left(\begin{array}{llll}
\boldsymbol{x_{1}} & \boldsymbol{x_{2}} & \cdots & \boldsymbol{x_{n}}
\end{array}\right)\left(\begin{array}{c}
\boldsymbol{y_{1}^{\top}} \\
\boldsymbol{y_{2}^{\top}} \\
\vdots \\
\boldsymbol{y_{n}^{\top}}
\end{array}\right) \\
&= \boldsymbol{x_{1}}\boldsymbol{y_{1}^{\top}} +\boldsymbol{x_{2}}\boldsymbol{y_{2}^{\top}}+\cdots+\boldsymbol{x_{n}}\boldsymbol{y_{n}^{\top}}
\end{aligned}$
前の行列が行ベクトルの集まり、後ろの行列が列ベクトルの集まり
$\begin{array}{l}
\boldsymbol{X}=\left(\begin{array}{c}
\boldsymbol{x_{1}^{\top}} \\
\boldsymbol{x_{2}^{\top}} \\
\vdots \\
\boldsymbol{x_{n}^{\top}}\end{array}\right),\qquad
\boldsymbol{Y} =\left(\begin{array}{llll}\boldsymbol{y_{1}} & \boldsymbol{y_{2}} & \cdots & \boldsymbol{y_{m}}\end{array}\right)
\end{array}$
$\begin{aligned}
\boldsymbol{X}\boldsymbol{Y} &=\left(\begin{array}{c}
\boldsymbol{x_{1}^{\top}} \\
\boldsymbol{x_{2}^{\top}} \\
\vdots \\
\boldsymbol{x_{n}^{\top}}
\end{array}\right) \left(\begin{array}{llll}\boldsymbol{y_{1}} & \boldsymbol{y_{2}} & \cdots & \boldsymbol{y_{m}}\end{array}\right) \\
&=\left(\begin{array}{cccc}
\boldsymbol{x_{1}^{\top}} \boldsymbol{y_{1}} & \boldsymbol{x_{1}^{\top}} \boldsymbol{y_{2}} & \dots & \boldsymbol{x_{1}^{\top}} \boldsymbol{y_{m}} \\
\boldsymbol{x_{2}^{\top}} \boldsymbol{y_{1}} & \boldsymbol{x_{2}^{\top}} \boldsymbol{y_{2}} & \dots & \boldsymbol{x_{2}^{\top}} \boldsymbol{y_{m}}\\
\vdots & \vdots & & \vdots \\
\boldsymbol{x_{n}^{\top}} \boldsymbol{y_{1}} & \boldsymbol{x_{n}^{\top}} \boldsymbol{y_{2}} & \dots & \boldsymbol{x_{n}^{\top}} \boldsymbol{y_{m}}
\end{array}\right)
\end{aligned}$
次のような書き方もできます。
$\begin{aligned}
\boldsymbol{X}\boldsymbol{Y} &=\boldsymbol{X} \left(\begin{array}{llll}\boldsymbol{y_{1}} & \boldsymbol{y_{2}} & \cdots & \boldsymbol{y_{m}}\end{array}\right) &= \left(\begin{array}{llll}\boldsymbol{X}\boldsymbol{y_{1}} & \boldsymbol{X}\boldsymbol{y_{2}} & \cdots & \boldsymbol{X}\boldsymbol{y_{m}}\end{array}\right)
\end{aligned}$