logo

벡터와 행렬의 연산/표기법 테이블 📂행렬대수

벡터와 행렬의 연산/표기법 테이블

개요

벡터와 행렬에 대한 여러가지 표기법과 연산을 정리한 문서이다.

벡터

벡터는 주로 소문자 볼드체로 표기하며 아무 설명이 없으면 n×1n\times 1 행렬, 즉 열벡터를 말한다. 벡터 x\mathbf{x}ii번째 성분은 xix_{i}와 같이 나타낸다.

x=[x1x2xn],y=[y1y2yn] \mathbf{x}=\begin{bmatrix} x_{1} \\ x_{2} \\ \vdots \\ x_{n} \end{bmatrix},\quad\mathbf{y}=\begin{bmatrix} y_{1} \\ y_{2} \\ \vdots \\ y_{n} \end{bmatrix}

행벡터는 xT\mathbf{x}^{T}와 같이 표기하고, T{}^{T}전치라고 한다.

xT=[x1x2xn],yT=[y1y2yn] \mathbf{x}^{T}=\begin{bmatrix} x_{1} & x_{2} & \cdots & x_{n} \end{bmatrix},\quad\mathbf{y}^{T}=\begin{bmatrix} y_{1} & y_{2} & \cdots & y_{n} \end{bmatrix}

벡터의 놈

벡터의 은 다음과 같이 정의되며 3차원 공간에서 벡터의 크기와 같은 개념이다.

x=i=1nxi2,x2=i=1nxi2 \left\| \mathbf{x} \right\| =\sqrt{\sum \limits _{i=1} ^{n} x_{i}^{2} },\quad \left\| \mathbf{x} \right\|^{2}=\sum \limits _{i=1} ^{n} x_{i}^{2}

두 벡터의 내적

같은 크기의 행벡터와 열벡터의 행렬곱내적이라 한다. 내적의 결과는 스칼라(상수)이다.

xTy=[x1x2xn][y1y2yn]=x1y1+x2y2++xnyn=i=1nxiyi \begin{align*} \mathbf{x}^{T}\mathbf{y}&=\begin{bmatrix} x_{1} & x_{2} & \cdots & x_{n} \end{bmatrix}\begin{bmatrix} y_{1} \\ y_{2} \\ \vdots \\ y_{n} \end{bmatrix} \\ &=x_{1}y_{1}+x_{2}y_{2}+\cdots+x_{n}y_{n} \\ &=\sum \limits_{i=1}^{n} x_{i}y_{i} \end{align*}

놈은 스칼라이므로 xTy=yTx\mathbf{x}^{T}\mathbf{y}=\mathbf{y}^{T}\mathbf{x}가 성립하고, 놈을 내적으로 표현하면 다음과 같다.

x=xTx,x2=xTx \left\| \mathbf{x} \right\| =\sqrt{\mathbf{x}^{T} \mathbf{x} },\quad \left\| \mathbf{x} \right\|^{2} =\mathbf{x}^{T} \mathbf{x}

두 벡터의 외적

다음과 같이 열벡터와 행벡터의 행렬곱을 두 벡터의 외적outer product이라 한다(cross product가 아니다). 외적의 결과는 n×nn \times n 행렬이다.

xyT=[x1x2xn][y1y2yn]=[x1y1x1y2x1ynx2y1x2y2x2ynxny1xny2xnyn]=[x1[y1y2yn]x2[y1y2yn]xn[y1y2yn]]=[x1yTx2yTxnyT] \begin{align*} \mathbf{x}\mathbf{y}^{T} &= \begin{bmatrix} x_{1} \\ x_{2} \\ \vdots \\ x_{n} \end{bmatrix} \begin{bmatrix} y_{1} & y_{2} & \cdots & y_{n} \end{bmatrix} \\ &= \begin{bmatrix} x_{1}y_{1} & x_{1}y_{2} & \cdots & x_{1}y_{n} \\ x_{2}y_{1} & x_{2}y_{2} & \cdots & x_{2}y_{n} \\ \vdots & \vdots & \ddots & \vdots \\ x_{n}y_{1} & x_{n}y_{2} & \cdots & x_{n}y_{n} \end{bmatrix} \\ &= \begin{bmatrix} x_{1}\begin{bmatrix} y_{1} & y_{2} & \cdots & y_{n} \end{bmatrix} \\ x_{2}\begin{bmatrix} y_{1} & y_{2} & \cdots & y_{n} \end{bmatrix} \\ \vdots \\ x_{n}\begin{bmatrix} y_{1} & y_{2} & \cdots & y_{n} \end{bmatrix} \end{bmatrix} \\ &= \begin{bmatrix} x_{1}\mathbf{y}^{T} \\ x_{2}\mathbf{y}^{T} \\ \vdots \\ x_{n}\mathbf{y}^{T} \end{bmatrix} \end{align*}

교환법칙이 성립하지 않는다.

xyTyxT \mathbf{x} \mathbf{y}^{T} \ne \mathbf{y} \mathbf{x}^{T}

또한 외적의 대각합이 내적과 같다는 것을 알 수 있다.

xTy=i=1nxiyi=Tr(xyT)=Tr(yxT) \mathbf{x}^{T}\mathbf{y} =\sum \limits _{i=1} ^{n} x_{i}y_{i} =\text{Tr}\left( \mathbf{x}\mathbf{y}^{T} \right) =\text{Tr}\left( \mathbf{y}\mathbf{x}^{T} \right)

따라서 다음의 식이 성립한다.

x=i=1nxi2=xTx=Tr(xxT)x2=i=1nxi2=xTx=Tr(xxT) \begin{align*} \left\| \mathbf{x} \right\| &=\sqrt{\sum \limits _{i=1} ^{n} x_{i}^{2}}=\sqrt{\mathbf{x}^{T}\mathbf{x}}=\sqrt{\text{Tr}\left( \mathbf{x}\mathbf{x}^{T} \right)} \\ \left\| \mathbf{x} \right\|^{2} &=\sum \limits _{i=1} ^{n} x_{i}^{2}=\mathbf{x}^{T}\mathbf{x}=\text{Tr}\left( \mathbf{x}\mathbf{x}^{T} \right) \end{align*}

행렬

흔히 대문자로 표기하며, 임의의 행렬은 보통 m×nm\times n 행렬이라 표기한다. 행벡터를 상하로 쌓거나, 열벡터를 좌우로 나열한 꼴을 말한다. 본 문서에서는 행렬을 열벡터들의 행벡터로 취급한다. ii번째 열벡터를 xi=[x1ix2ixmi]T\mathbf{x}_{i} = \begin{bmatrix} x_{1i} & x_{2i} & \cdots & x_{mi} \end{bmatrix}^{T}라고 표기하면,

X=[x1x2xm]=[[x11x21xn1][x12x22xn2][x1mx2mxnm]]=[x11x12x1mx21x22x2mxn1xn2xnm]=[x11x21xm1x12x22xm2x1nx2nxmn]T=[x1Tx2Tx2T]T \begin{align*} \mathbf{X} &= \begin{bmatrix} \mathbf{x}_{1} & \mathbf{x}_{2} & \cdots & \mathbf{x}_{m} \end{bmatrix} \\ &= \begin{bmatrix} \begin{bmatrix} x_{11} \\ x_{21} \\ \vdots \\ x_{n1} \end{bmatrix} & \begin{bmatrix} x_{12} \\ x_{22} \\ \vdots \\ x_{n2} \end{bmatrix} & \cdots & \begin{bmatrix} x_{1m} \\ x_{2m} \\ \vdots \\ x_{nm} \end{bmatrix} \end{bmatrix} \\ &= \begin{bmatrix} x_{11} & x_{12} & \cdots & x_{1m} \\ x_{21} & x_{22} & \cdots & x_{2m} \\ \vdots & \vdots & \ddots & \vdots \\ x_{n1} & x_{n2} & \cdots & x_{nm} \end{bmatrix} \\ &= \begin{bmatrix} x_{11} & x_{21} & \cdots & x_{m1} \\ x_{12} & x_{22} & \cdots & x_{m2} \\ \vdots & \vdots & \ddots & \vdots \\ x_{1n} & x_{2n} & \cdots & x_{mn} \end{bmatrix}^{T} \\ &= \begin{bmatrix} \mathbf{x}_{1}^{T} \\ \mathbf{x}_{2}^{T} \\ \vdots \\ \mathbf{x}_{2}^{T} \\ \end{bmatrix}^{T} \end{align*}

행렬곱의 ijij-성분은 앞 행렬의 ii-행과 뒤 행렬의 jj-열의 내적이므로,

XT=[x1Tx2TxmT],Y=[y1y2yn] \mathbf{X}^{T} = \begin{bmatrix} \mathbf{x}_{1}^{T} \\[0.4em] \mathbf{x}_{2}^{T} \\[0.4em] \vdots \\[0.4em] \mathbf{x}_{m}^{T} \end{bmatrix},\qquad \mathbf{Y} = \begin{bmatrix} \mathbf{y}_{1} & \mathbf{y}_{2} & \cdots & \mathbf{y}_{n} \end{bmatrix}

XTY=[x1Tx2TxmT][y1y2yn]=[x1Ty1x1TynxmTy1xmTyn] \mathbf{X}^{T} \mathbf{Y} = \begin{bmatrix} \mathbf{x}_{1}^{T} \\[0.4em] \mathbf{x}_{2}^{T} \\[0.4em] \vdots \\[0.4em] \mathbf{x}_{m}^{T} \end{bmatrix} \begin{bmatrix} \mathbf{y}_{1} & \mathbf{y}_{2} & \cdots & \mathbf{y}_{n} \end{bmatrix} = \begin{bmatrix} \mathbf{x}_{1}^{T}\mathbf{y}_{1} & \cdots & \mathbf{x}_{1}^{T}\mathbf{y}_{n} \\[0.5em] \vdots & \ddots & \vdots \\[0.5em] \mathbf{x}_{m}^{T}\mathbf{y}_{1} & \cdots & \mathbf{x}_{m}^{T}\mathbf{y}_{n} \end{bmatrix}

행렬의 놈

행렬의 놈도 벡터와 마찬가지로 각 성분의 제곱의 합으로 정의한다.

X=i=1mj=1n(xij)2 \left\| \mathbf{X} \right\| = \sqrt{\sum \limits_{i=1}^{m} \sum \limits_{j=1}^{n} \left( x_{ij} \right)^{2}}

이를 XF\left\| \mathbf{X} \right\|_{F} 와 같이 표기하여 프로베니우스 놈Frobenius norm 이라 부르기도 한다. 다음과 같이 자기 자신과의 곱의 트레이스로 나타낼 수 있다.

Tr(XTX)=Tr([x1Tx2TxnT][x1x2xn])=Tr([x1Tx1x1Tx2x1Txnx2Tx1x2Tx2x2TxnxnTx1xnTx2xnTxn])=x1Tx1+x2Tx2++xnTxn=j=1nxjTxj=j=1nxj2=j=1ni=1m(xij)2=xF2 \begin{align*} \text{Tr}(\mathbf{X}^{T}\mathbf{X}) &= \text{Tr}\left( \begin{bmatrix} \mathbf{x}_{1}^{T} \\ \mathbf{x}_{2}^{T} \\ \vdots \\ \mathbf{x}_{n}^{T} \end{bmatrix}\begin{bmatrix} \mathbf{x}_{1} & \mathbf{x}_{2} & \cdots & \mathbf{x}_{n} \end{bmatrix} \right) \\ &= \text{Tr}\left( \begin{bmatrix} \mathbf{x}_{1}^{T}\mathbf{x}_{1} & \mathbf{x}_{1}^{T}\mathbf{x}_{2} & \cdots & \mathbf{x}_{1}^{T}\mathbf{x}_{n} \\ \mathbf{x}_{2}^{T}\mathbf{x}_{1} & \mathbf{x}_{2}^{T}\mathbf{x}_{2} & \cdots & \mathbf{x}_{2}^{T}\mathbf{x}_{n} \\ \vdots & \vdots & \ddots & \vdots \\ \mathbf{x}_{n}^{T}\mathbf{x}_{1} & \mathbf{x}_{n}^{T}\mathbf{x}_{2} & \cdots & \mathbf{x}_{n}^{T}\mathbf{x}_{n} \end{bmatrix} \right) \\ &=\mathbf{x}_{1}^{T}\mathbf{x}_{1} + \mathbf{x}_{2}^{T}\mathbf{x}_{2} + \cdots + \mathbf{x}_{n}^{T}\mathbf{x}_{n} \\ &=\sum \limits_{j=1}^{n} \mathbf{x}_{j}^{T}\mathbf{x}_{j} = \sum \limits_{j=1}^{n} \left\| \mathbf{x}_{j} \right\|^{2} \\ &= \sum \limits_{j=1}^{n} \sum \limits_{i=1}^{m} \left( x_{ij} \right)^{2} \\ &=\left\| \mathbf{x} \right\|_{F}^{2} \end{align*}

X=[x1xn]\mathbf{X}=\begin{bmatrix}\mathbf{x}_{1} &\cdots &\mathbf{x}_{n} \end{bmatrix}이라고 하면,

XF2=Tr(XTX)=j=1nxj2 \begin{equation} \left\| \mathbf{X} \right\| _{F}^{2} =\text{Tr}\left( \mathbf{X}^{T}\mathbf{X} \right)=\sum \limits_{j=1}^{n}\left\| \mathbf{x}_{j} \right\|^{2} \end{equation}

행렬-벡터 연산

행렬-벡터 곱

m×nm\times n행렬 XT\mathbf{X}^{T}n×1n\times 1벡터 y\mathbf{y}의 곱은 다음과 같다.

XTy=[x1Tx2TxmT]y=[x11x21xn1x12x22xn2x1mx2mxnm][y1y2yn]=[x11y1+x21y2++xn1ynx12y1+x22y2++xn2ynx1my1+x2my2++xnmyn]=[i=1nxi1yii=1nxi2yii=1nximyi]=[x1Tyx2TyxmTy] \begin{equation}\begin{aligned} \mathbf{X}^{T}\mathbf{y} &= \begin{bmatrix} \mathbf{x}_{1}^{T} \\ \mathbf{x}_{2}^{T} \\ \vdots \\ \mathbf{x}_{m}^{T} \end{bmatrix} \mathbf{y} = \begin{bmatrix} x_{11} & x_{21} & \cdots & x_{n1} \\ x_{12} & x_{22} & \cdots & x_{n2} \\ \vdots & \vdots & \ddots & \vdots \\ x_{1m} & x_{2m} & \cdots & x_{nm} \end{bmatrix}\begin{bmatrix} y_{1} \\ y_{2} \\ \vdots \\ y_{n} \end{bmatrix} \\ &=\begin{bmatrix} x_{11}y_{1} + x_{21}y_{2} + \cdots + x_{n1}y_{n} \\ x_{12}y_{1} + x_{22}y_{2} + \cdots + x_{n2}y_{n} \\ \vdots \\ x_{1m}y_{1} + x_{2m}y_{2} + \cdots + x_{nm}y_{n} \end{bmatrix} =\begin{bmatrix} \sum _{i=1} ^{n}x_{i1}y_{i} \\ \sum _{i=1} ^{n}x_{i2}y_{i} \\ \vdots \\ \sum _{i=1} ^{n}x_{im}y_{i} \end{bmatrix} \\ &= \begin{bmatrix} \mathbf{x}_{1}^{T}\mathbf{y} \\ \mathbf{x}_{2}^{T}\mathbf{y} \\ \vdots \\ \mathbf{x}_{m}^{T}\mathbf{y} \end{bmatrix}\end{aligned} \end{equation}

따라서 놈은 다음과 같다

XTy2=i=1m(xiTy)2 \begin{equation} \left\| \mathbf{X}^{T}\mathbf{y} \right\|^{2} = \sum \limits _{i=1} ^{m} \left( \mathbf{x}_{i}^{T}\mathbf{y} \right)^{2} \end{equation}

행렬-행렬 곱

n×mn \times m행렬 XT\mathbf{X}^{T}m×km \times k행렬 Y\mathbf{Y}의 곱은 다음과 같다.

XTY=[x1Tx2TxnT][y1y2yk]=[[x11x21xm1][x12x22xm2][x1nx2nxmn]][[y11y21ym1][y12y22ym2][y1ky2kymk]]=[x1Ty1x1Ty2x1Tykx2Ty1x2Ty2x2TykxNTy1xNTy2xNTyk]=[[x1Ty1x2Ty1xnTy1][x1Ty2x2Ty2xnTy2][x1Tykx2TykxnTyk]]=[XTy1XTy2XTyk] \begin{align*} \mathbf{X}^{T}\mathbf{Y} &= \begin{bmatrix} \mathbf{x}_{1}^{T} \\ \mathbf{x}_{2}^{T} \\ \vdots \\ \mathbf{x}_{n}^{T} \end{bmatrix}\begin{bmatrix} \mathbf{y}_{1} & \mathbf{y}_{2} & \cdots & \mathbf{y}_{k} \end{bmatrix} \\ &= \begin{bmatrix} \begin{bmatrix} x_{11} & x_{21} & \cdots & x_{m1} \end{bmatrix} \\[0.5em] \begin{bmatrix} x_{12} & x_{22} & \cdots & x_{m2} \end{bmatrix} \\ \vdots \\ \begin{bmatrix} x_{1n} & x_{2n} & \cdots & x_{mn} \end{bmatrix} \end{bmatrix} \begin{bmatrix} \begin{bmatrix} y_{11} \\ y_{21} \\ \vdots \\ y_{m1} \end{bmatrix} & \begin{bmatrix} y_{12} \\ y_{22} \\ \vdots \\ y_{m2} \end{bmatrix} & \cdots & \begin{bmatrix} y_{1k} \\ y_{2k} \\ \vdots \\ y_{mk} \end{bmatrix} \end{bmatrix} \\ &= \begin{bmatrix} \mathbf{x}_{1}^{T}\mathbf{y}_{1} & \mathbf{x}_{1}^{T}\mathbf{y}_{2} & \cdots & \mathbf{x}_{1}^{T}\mathbf{y}_{k} \\ \mathbf{x}_{2}^{T}\mathbf{y}_{1} & \mathbf{x}_{2}^{T}\mathbf{y}_{2} & \cdots & \mathbf{x}_{2}^{T}\mathbf{y}_{k} \\ \vdots & \vdots & \ddots & \vdots \\ \mathbf{x}_{N}^{T}\mathbf{y}_{1} & \mathbf{x}_{N}^{T}\mathbf{y}_{2} & \cdots & \mathbf{x}_{N}^{T}\mathbf{y}_{k} \end{bmatrix} \\ &= \begin{bmatrix} \begin{bmatrix} \mathbf{x}_{1}^{T}\mathbf{y}_{1} \\ \mathbf{x}_{2}^{T}\mathbf{y}_{1} \\ \vdots \\ \mathbf{x}_{n}^{T}\mathbf{y}_{1} \end{bmatrix} & \begin{bmatrix} \mathbf{x}_{1}^{T}\mathbf{y}_{2} \\ \mathbf{x}_{2}^{T}\mathbf{y}_{2} \\ \vdots \\ \mathbf{x}_{n}^{T}\mathbf{y}_{2} \end{bmatrix} & \cdots & \begin{bmatrix} \mathbf{x}_{1}^{T}\mathbf{y}_{k} \\ \mathbf{x}_{2}^{T}\mathbf{y}_{k} \\ \vdots \\ \mathbf{x}_{n}^{T}\mathbf{y}_{k} \end{bmatrix} \end{bmatrix} \\ &= \begin{bmatrix} \mathbf{X}^{T}\mathbf{y}_{1} & \mathbf{X}^{T}\mathbf{y}_{2} & \cdots & \mathbf{X}^{T}\mathbf{y}_{k} \end{bmatrix} \end{align*}

그러면(1)(1), (3)(3)에 의해 다음의 식이 성립한다.

Tr((XTY)T(XTY))=i=1kXTyi2=i=1kj=1n(xjTyi)2 \text{Tr}\left( \left( \mathbf{X}^{T}\mathbf{Y} \right)^{T}\left( \mathbf{X}^{T}\mathbf{Y} \right) \right) = \sum \limits_{i=1}^{k}\left\| \mathbf{X}^{T}\mathbf{y}_{i} \right\|^{2}=\sum \limits_{i=1}^{k}\sum \limits_{j=1}^{n}\left( \mathbf{x}_{j}^{T}\mathbf{y}_{i} \right)^{2}

벡터-행렬 이차 형식

x\mathbf{x}n×1n \times 1 벡터, R=[r1r2rn]T\mathbf{R} = \begin{bmatrix} \mathbf{r}_{1} & \mathbf{r}_{2} & \cdots & \mathbf{r}_{n} \end{bmatrix}^{T}n×nn\times n 행렬이라고 하자. 그러면 (2)(2)의 식을 이용해서 다음의 결과를 얻는다.

xTRTx=xT[i=1nri1xii=1nri2xii=1nrinxi]=[x1x2xn][i=1nri1xii=1nri2xii=1nrinxi]=x1i=1nri1xi+x2i=1nri2xi++xni=1nrinxi=j=1ni=1nxjrijxi=j=1ni=1nxirijxj \begin{align*} \mathbf{x}^{T} \mathbf{R}^{T} \mathbf{x} &= \mathbf{x}^{T}\begin{bmatrix} \sum _{i=1}^{n}r_{i1}x_{i} \\ \sum _{i=1}^{n}r_{i2}x_{i} \\ \vdots \\ \sum _{i=1}^{n}r_{in}x_{i} \end{bmatrix} \\ &= \begin{bmatrix} x_{1} & x_{2} & \cdots & x_{n} \end{bmatrix}\begin{bmatrix} \sum _{i=1}^{n}r_{i1}x_{i} \\ \sum _{i=1}^{n}r_{i2}x_{i} \\ \vdots \\ \sum _{i=1}^{n}r_{in}x_{i} \end{bmatrix} \\ &= x_{1}\sum _{i=1}^{n} r_{i1} x_{i} + x_{2}\sum _{i=1} ^{n}r_{i2}x_{i}+\cdots + x_{n}\sum _{i=1} ^{n}r_{in}x_{i} \\ &= \sum \limits _{j=1} ^{n}\sum \limits _{i=1} ^{n}x_{j}r_{ij}x_{i} \\ &= \sum \limits _{j=1} ^{n}\sum \limits _{i=1} ^{n}x_{i}r_{ij}x_{j} \end{align*}