logo

두 벡터의 외적(텐서곱) 📂행렬대수

두 벡터의 외적(텐서곱)

정의

두 열벡터 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 B에서 AA열벡터, BB행벡터인 경우이다.
  • 행렬곱의 특수한 경우로 볼 수 있다. A×BA \times B에서 AA가 열벡터, BB가 행벡터인 경우이다.

두 벡터의 스칼라곱(점곱, 내적)은 계산 결과가 스칼라이고, 두 벡터의 벡터곱은 계산 결과가 벡터이다. 두 벡터의 외적은 계산 결과가 행렬(텐서)이 된다.

연산

스칼라곱(내적)
scalar product
inner product

벡터곱(가위곱)
vector product
cross product

텐서곱(외적)
tensor product
outer product

차원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*}