logo

2つのベクトルの外積 📂行列代数

2つのベクトルの外積

定義

二つの列ベクトルu=[u1un]\mathbf{u} = \begin{bmatrix} u_{1} \\ \vdots \\ u_{n} \end{bmatrix}v=[v1vn]\mathbf{v} = \begin{bmatrix} v_{1} \\ \vdots \\ v_{n} \end{bmatrix}外積outer productは次のように定義される。

uv=uvT=[u1u2un][v1v2vn]=[u1v1u1v2u1vnu2v1u2v2u2vnunv1unv2unvn] \mathbf{u} \otimes \mathbf{v} = \mathbf{u}\mathbf{v}^{\mathsf{T}} = \begin{bmatrix} u_{1} \\ u_{2} \\ \vdots \\ u_{n} \end{bmatrix} \begin{bmatrix} v_{1} & v_{2} & \cdots & v_{n} \end{bmatrix}= \begin{bmatrix} u_{1}v_{1} & u_{1}v_{2} & \cdots & u_{1}v_{n} \\ u_{2}v_{1} & u_{2}v_{2} & \cdots & u_{2}v_{n} \\ \vdots & \vdots & \ddots & \vdots \\ u_{n}v_{1} & u_{n}v_{2} & \cdots & u_{n}v_{n} \end{bmatrix}

このとき、T{}^{\mathsf{T}}は行列の転置である。

説明

ベクトルと行列に関するさまざまな演算があり、混同しないよう注意が必要だ。

  • 3次元空間で定義されたcross productも外積と翻訳されることが多く、注意が必要だ。英語の単語とその性質を見ると、cross productはクロス積やベクトル積と呼ぶのが適切に見える。
  • クロネッカー積(テンソル積)の特殊な場合と見ることができる。ABA \otimes BAA列ベクトルBB行ベクトルの場合である。
  • 行列積の特殊な場合と見ることができる。A×BA \times BAAが列ベクトル、BBが行ベクトルの場合である。

二つのベクトルのスカラー積(点積、内積)は計算結果がスカラーであり、二つのベクトルのベクトル積は計算結果がベクトルだ。二つのベクトルの外積は計算結果が行列(テンソル)となる。

演算スカラー積(内積)ベクトル積外積(テンソル積)
次元nn次元ベクトル33次元ベクトルnn次元ベクトル
表記uv=uTv\mathbf{u} \cdot \mathbf{v} = \mathbf{u}^{\mathsf{T}} \mathbf{v}u×v\mathbf{u} \times \mathbf{v}uv=uvT\mathbf{u} \otimes \mathbf{v} = \mathbf{u}\mathbf{v}^{\mathsf{T}}
結果スカラー =1×1=1 \times 1 行列33次元ベクトルn×nn \times n 行列
iuivi=u1v1++unvn\sum_{i} u_{i}v_{i} = u_{1}v_{1} + \cdots + u_{n}v_{n}[u2v3u3v2u3v1u1v3u1v2u2v1]\begin{bmatrix} u_{2}v_{3} - u_{3}v_{2} \\ u_{3}v_{1} - u_{1}v_{3} \\ u_{1}v_{2} - u_{2}v_{1} \end{bmatrix}[u1v1u1v2u1vnu2v1u2v2u2vnunv1unv2unvn]\begin{bmatrix} u_{1}v_{1} & u_{1}v_{2} & \cdots & u_{1}v_{n} \\ u_{2}v_{1} & u_{2}v_{2} & \cdots & u_{2}v_{n} \\ \vdots & \vdots & \ddots & \vdots \\ u_{n}v_{1} & u_{n}v_{2} & \cdots & u_{n}v_{n}\end{bmatrix}

一般化

実はスカラー積やベクトル積とは異なり、演算する二つのベクトルの大きさが異なっていてもよく定義される。例えば、二つのベクトルu=[u1un]\mathbf{u} = \begin{bmatrix} u_{1} \\ \vdots \\ u_{n} \end{bmatrix}v=[v1vm]\mathbf{v} = \begin{bmatrix} v_{1} \\ \vdots \\ v_{m} \end{bmatrix}の外積は次のように定義できる。

uv=[u1un][v1vm]T=[u1v1u1v2u1vmu2v1u2v2u2vmunv1unv2unvm] \mathbf{u} \otimes \mathbf{v} = \begin{bmatrix} u_{1} \\ \vdots \\ u_{n} \end{bmatrix} \begin{bmatrix} v_{1} & \cdots & v_{m} \end{bmatrix}^{\mathsf{T}} = \begin{bmatrix} u_{1}v_{1} & u_{1}v_{2} & \cdots & u_{1}v_{m} \\ u_{2}v_{1} & u_{2}v_{2} & \cdots & u_{2}v_{m} \\ \vdots & \vdots & \ddots & \vdots \\ u_{n}v_{1} & u_{n}v_{2} & \cdots & u_{n}v_{m} \end{bmatrix}

性質

u=[u1un]T\mathbf{u} = \begin{bmatrix} u_{1} & \cdots & u_{n} \end{bmatrix}^{\mathsf{T}}v=[v1vn]T\mathbf{v} = \begin{bmatrix} v_{1} & \cdots & v_{n} \end{bmatrix}^{\mathsf{T}}w=[w1wn]T\mathbf{w} = \begin{bmatrix} w_{1} & \cdots & w_{n} \end{bmatrix}^{\mathsf{T}}とする。次が成り立つ。


(uv)T=vu(1) (\mathbf{u} \otimes \mathbf{v})^{\mathsf{T}} = \mathbf{v} \otimes \mathbf{u} \tag{1}


(2)(2)線形性: (v+w)u=vu+wu (\mathbf{v} + \mathbf{w}) \otimes \mathbf{u} = \mathbf{v} \otimes \mathbf{u} + \mathbf{w} \otimes \mathbf{u} u(v+w)=uv+uw \mathbf{u} \otimes (\mathbf{v} + \mathbf{w}) = \mathbf{u} \otimes \mathbf{v} + \mathbf{u} \otimes \mathbf{w}

αR\alpha \in \mathbb{R}を定数とする。

(αv)u=α(vu)=(αv)u (\alpha \mathbf{v}) \otimes \mathbf{u} = \alpha (\mathbf{v} \otimes \mathbf{u}) = (\alpha \mathbf{v}) \otimes \mathbf{u}


(uv)w=(vw)u(3) (\mathbf{u} \otimes \mathbf{v}) \mathbf{w} = (\mathbf{v} \cdot \mathbf{w}) \mathbf{u} \tag{3}


wT(uv)=(wu)vT(4) \mathbf{w}^{\mathsf{T}} (\mathbf{u} \otimes \mathbf{v}) = (\mathbf{w} \cdot \mathbf{u}) \mathbf{v}^{\mathsf{T}} \tag{4}


(5)(5)結合法則:

\otimesクロネッカー積に拡張すると次が成り立つ。

(uKronv)Kronw=uKron(vKronw) (\mathbf{u} \otimes_{\text{Kron}} \mathbf{v}) \otimes_{\text{Kron}} \mathbf{w} = \mathbf{u} \otimes_{\text{Kron}} (\mathbf{v} \otimes_{\text{Kron}} \mathbf{w})

証明

(1)(1)

転置の性質による。

(uv)T=(uvT)T=vuT=vu \begin{align*} (\mathbf{u} \otimes \mathbf{v})^{\mathsf{T}} &= (\mathbf{u} \mathbf{v}^{\mathsf{T}})^{\mathsf{T}} \\ &= \mathbf{v} \mathbf{u}^{\mathsf{T}} \\ &= \mathbf{v} \otimes \mathbf{u} \\ \end{align*}

(2)(2)

行列積が線形であるため成立する。

(v+w)u=(v+w)uT=vuT+wuT=vu+wu \begin{align*} (\mathbf{v} + \mathbf{w}) \otimes \mathbf{u} &= (\mathbf{v} + \mathbf{w}) \mathbf{u}^{\mathsf{T}} \\ &= \mathbf{v} \mathbf{u}^{\mathsf{T}} + \mathbf{w} \mathbf{u}^{\mathsf{T}} \\ &= \mathbf{v} \otimes \mathbf{u} + \mathbf{w} \otimes \mathbf{u} \\ \end{align*}

転置が線形であるため成立する。

u(v+w)=u(v+w)T=u(vT+wT)=uvT+uwT=uv+uw \begin{align*} \mathbf{u} \otimes (\mathbf{v} + \mathbf{w}) &= \mathbf{u} (\mathbf{v} + \mathbf{w})^{\mathsf{T}} \\ &= \mathbf{u} (\mathbf{v}^{\mathsf{T}} + \mathbf{w}^{\mathsf{T}}) \\ &= \mathbf{u} \mathbf{v}^{\mathsf{T}} + \mathbf{u} \mathbf{w}^{\mathsf{T}} \\ &= \mathbf{u} \otimes \mathbf{v} + \mathbf{u} \otimes \mathbf{w} \\ \end{align*}

(αv)u=(αv)uT=α(vuT)=α(vu) \begin{align*} (\alpha \mathbf{v}) \otimes \mathbf{u} &= (\alpha \mathbf{v}) \mathbf{u}^{\mathsf{T}} \\ &= \alpha (\mathbf{v} \mathbf{u}^{\mathsf{T}}) \\ &= \alpha (\mathbf{v} \otimes \mathbf{u}) \\ \end{align*}

(3)(3)

(uv)w=(uvT)w=u(vTw)=u(vw)=(vw)u \begin{align*} (\mathbf{u} \otimes \mathbf{v}) \mathbf{w} &= (\mathbf{u} \mathbf{v}^{\mathsf{T}}) \mathbf{w} \\ &= \mathbf{u} (\mathbf{v}^{\mathsf{T}} \mathbf{w}) \\ &= \mathbf{u} (\mathbf{v} \cdot \mathbf{w}) \\ &= (\mathbf{v} \cdot \mathbf{w}) \mathbf{u} \\ \end{align*}

vTw\mathbf{v}^{\mathsf{T}} \mathbf{w}はスカラーであることに注意する。

(4)(4)

wT(uv)=wT(uvT)=(wTu)vT=(wu)vT \begin{align*} \mathbf{w}^{\mathsf{T}} (\mathbf{u} \otimes \mathbf{v}) &= \mathbf{w}^{\mathsf{T}} (\mathbf{u} \mathbf{v}^{\mathsf{T}}) \\ &= (\mathbf{w}^{\mathsf{T}} \mathbf{u}) \mathbf{v}^{\mathsf{T}} \\ &= (\mathbf{w} \cdot \mathbf{u}) \mathbf{v}^{\mathsf{T}} \\ \end{align*}