直積#
2つのベクトル\(\boldsymbol{a}, \boldsymbol{b}\)のテンソル積
\[\begin{split}
\boldsymbol{a} \circ \boldsymbol{b}
= \boldsymbol{a} \otimes \boldsymbol{b}
= \boldsymbol{a} \boldsymbol{b}^T
= \begin{pmatrix}
a_1 \\ a_2 \\ \vdots \\ a_n
\end{pmatrix}
\begin{pmatrix}
b_1 & b_2 & \cdots & b_n
\end{pmatrix}
= \begin{pmatrix}
a_1 b_1 & a_1 b_2 & \cdots & a_1 b_n\\
a_2 b_1 & a_2 b_2 & \cdots & a_2 b_n\\
\vdots & \vdots & \ddots & \vdots \\
a_n b_1 & a_n b_2 & \cdots & a_n b_n
\end{pmatrix}
\end{split}\]
を直積(direct product)あるいは外積(outer product)という。
行列積と直積の関係
行列\(A, B\)の\(i\)番目の列ベクトルを\(\boldsymbol{a}_i, \boldsymbol{b}_i\)とし、行ベクトルを\(\boldsymbol{a}_i^T, \boldsymbol{b}_i^T\)とする。このとき、
\[
A^T B = \sum^n_{i=1} \boldsymbol{a}_i \boldsymbol{b}_i^T
\]
が成り立つ。この形式は計量経済学(回帰分析)の漸近正規性の証明などで多用される。
(例)\(A, B \in \mathbb{R}^{2\times 2}\)のとき、
\[\begin{split}
\begin{align}
A^T B &=
\begin{pmatrix}
a_{11} & a_{21}\\
a_{12} & a_{22}
\end{pmatrix}
\begin{pmatrix}
b_{11} & b_{12}\\
b_{21} & b_{22}
\end{pmatrix}
\\
&=
\begin{pmatrix}
a_{11} b_{11} + a_{21} b_{21} & a_{11} b_{12} + a_{21} b_{22}\\
a_{12} b_{11} + a_{22} b_{21} & a_{12} b_{12} + a_{22} b_{22}\\
\end{pmatrix}
\end{align}
\end{split}\]
であり、
\[\begin{split}
a_1
= \begin{pmatrix}
a_{11} \\
a_{12}
\end{pmatrix}
, \hspace{1em}
b_1^T =
\begin{pmatrix}
b_{11} & b_{12}\\
\end{pmatrix}
\end{split}\]
から
\[\begin{split}
\begin{align}
\sum^2_{i=1} \boldsymbol{a}_i \boldsymbol{b}_i^T
&= \begin{pmatrix}
a_{11} \\
a_{12}
\end{pmatrix}
\begin{pmatrix}
b_{11} & b_{12}
\end{pmatrix}
+ \begin{pmatrix}
a_{21} \\
a_{22}
\end{pmatrix}
\begin{pmatrix}
b_{21} & b_{22}
\end{pmatrix}
\\
&= \begin{pmatrix}
a_{11} b_{11} & a_{11} b_{12}\\
a_{12} b_{11} & a_{12} b_{12}
\end{pmatrix}
+ \begin{pmatrix}
a_{21} b_{21} & a_{21} b_{22}\\
a_{22} b_{21} & a_{22} b_{22}
\end{pmatrix}
\end{align}
\end{split}\]
であるため。
行列積との関係
行列の一部をベクトルで表して(=ブロック行列)、通常の行列積の定義をベクトルの積の形で表すこともできる
\(n\)次元正方行列\(A, B\)の\(i\)番目の列ベクトルを\(\boldsymbol{a}_i, \boldsymbol{b}_i\)とし、行ベクトルを\(\boldsymbol{a}_i^T, \boldsymbol{b}_i^T\)とする。このとき、
\[\begin{split}
\begin{align}
BA &=
\begin{pmatrix}
\boldsymbol{b}_{1}^T \\
\boldsymbol{b}_{2}^T \\
\vdots \\
\boldsymbol{b}_{n}^T
\end{pmatrix}
\begin{pmatrix}
\boldsymbol{a}_1, \boldsymbol{a}_2, \cdots, \boldsymbol{a}_n
\end{pmatrix}
=
\begin{pmatrix}
\boldsymbol{b}_{1}^T \boldsymbol{a}_1 & \boldsymbol{b}_{1}^T \boldsymbol{a}_2 & \cdots & \boldsymbol{b}_{1}^T \boldsymbol{a}_n\\
\boldsymbol{b}_{2}^T \boldsymbol{a}_1 & \boldsymbol{b}_{2}^T \boldsymbol{a}_2 & \cdots & \boldsymbol{b}_{2}^T \boldsymbol{a}_n\\
\vdots & \vdots & & \vdots\\
\boldsymbol{b}_{n}^T \boldsymbol{a}_1 & \boldsymbol{b}_{n}^T \boldsymbol{a}_2 & \cdots & \boldsymbol{b}_{n}^T \boldsymbol{a}_n\\
\end{pmatrix}
\end{align}
\end{split}\]