Aiden Kwak Pages
02 · Blog · 기록Quantum5/8

Quantum(5) - Outer Product 와 행렬의 분해

2026-04-28 ·

앞 글에서 bra 와 ket 이 만나는 두 가지 방식이 있다고 짚었습니다. 순서가 bra-ket 이면 1×1 scalar, 순서가 ket-bra 이면 n×n 행렬이 됩니다. 같은 네 글자가 순서만 바뀌어도 결과의 차원이 완전히 달라진다는 점을 떠올려 두면 좋습니다.

ab\langle a | b \rangle \to scalar (inner product)

ab|a\rangle \langle b | \to matrix (outer product)

이번 노트에서는 두 번째 형태인 outer product 를 정리합니다. 그리고 이 단순한 building block 이 어떻게 모든 행렬을 표현하고, 앞 글의 deterministic operation 행렬을 한 줄 식으로 적을 수 있게 해주는지를 봅니다.

Column × Row = Matrix

먼저 차원 셈만 다시 짚어봅시다. column vector (n×1n \times 1) 와 row vector (1×n1 \times n) 를 곱하면 n×nn \times n 행렬이 나오고, (i,j)(i, j) entry 는 두 vector 의 entry 곱입니다.

(a1a2an)(b1b2bn)=(a1b1a1b2a1bna2b1a2b2a2bnanb1anb2anbn)\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 & & \vdots \\\\ a_n b_1 & a_n b_2 & \cdots & a_n b_n \end{pmatrix}

inner product 에서는 같은 자리의 entry 만 곱해서 더했지만, outer product 는 모든 자리 조합의 곱을 행렬로 펼쳐 놓습니다.

|a⟩⟨b| 는 (a, b) 자리에 1 표시기

이 일반 공식을 standard basis 에 적용하면 결과가 매우 단순해집니다. a|a\rangleaa 자리만 11, b\langle b |bb 자리만 11 이라서 두 항이 모두 11 인 자리는 (i,j)=(a,b)(i, j) = (a, b) 한 곳뿐. 나머지는 00 이 됩니다.

(ab)i,j={1if (i,j)=(a,b)0otherwise\bigl(|a\rangle \langle b |\bigr)_{i, j} = \begin{cases} 1 & \text{if } (i, j) = (a, b) \\\\ 0 & \text{otherwise} \end{cases}

ab|a\rangle \langle b |(a,b)(a, b) 자리에만 11 이 있는 행렬.

이게 글 전체의 핵심 슬로건이고, 외워둘 만한 한 줄입니다.

Σ = {0, 1} 의 4가지 outer product

Σ={0,1}\Sigma = \{0, 1\} 위에서는 aabb 가 각각 0,10, 1 이라 outer product 가 4가지 나옵니다. 4개의 행렬은 각각 한 자리에만 11 이 있는 모양이 됩니다.

00=(10)(10)=(1000),01=(10)(01)=(0100)|0\rangle \langle 0 | = \begin{pmatrix} 1 \\\\ 0 \end{pmatrix} \begin{pmatrix} 1 & 0 \end{pmatrix} = \begin{pmatrix} 1 & 0 \\\\ 0 & 0 \end{pmatrix}, \qquad |0\rangle \langle 1 | = \begin{pmatrix} 1 \\\\ 0 \end{pmatrix} \begin{pmatrix} 0 & 1 \end{pmatrix} = \begin{pmatrix} 0 & 1 \\\\ 0 & 0 \end{pmatrix} 10=(01)(10)=(0010),11=(01)(01)=(0001)|1\rangle \langle 0 | = \begin{pmatrix} 0 \\\\ 1 \end{pmatrix} \begin{pmatrix} 1 & 0 \end{pmatrix} = \begin{pmatrix} 0 & 0 \\\\ 1 & 0 \end{pmatrix}, \qquad |1\rangle \langle 1 | = \begin{pmatrix} 0 \\\\ 1 \end{pmatrix} \begin{pmatrix} 0 & 1 \end{pmatrix} = \begin{pmatrix} 0 & 0 \\\\ 0 & 1 \end{pmatrix}
outer product1이 있는 자리
00\lvert 0 \rangle \langle 0 \rvert(0,0)(0, 0)
01\lvert 0 \rangle \langle 1 \rvert(0,1)(0, 1)
10\lvert 1 \rangle \langle 0 \rvert(1,0)(1, 0)
11\lvert 1 \rangle \langle 1 \rvert(1,1)(1, 1)

이 네 개의 행렬이 2×22 \times 2 행렬 공간 전체를 펼치는 기저 역할을 합니다. standard basis vector 0,1|0\rangle, |1\rangle 가 vector 공간을 펼쳤듯이, {ab}a,b\{|a\rangle \langle b |\}_{a, b} 가 행렬 공간을 펼치는 행렬용 standard basis 입니다.

모든 행렬은 outer product 의 합

행렬용 standard basis 가 있다는 말은, 임의 행렬을 이 building block 들의 linear combination 으로 적을 수 있다는 뜻입니다. 예시로 다음 행렬을 분해해 봅시다.

A=(3579)A = \begin{pmatrix} 3 & 5 \\\\ 7 & 9 \end{pmatrix}

각 entry 의 위치를 그대로 outer product 자리에 매핑하면:

A=300+501+710+911A = 3 \, |0\rangle \langle 0 | + 5 \, |0\rangle \langle 1 | + 7 \, |1\rangle \langle 0 | + 9 \, |1\rangle \langle 1 |

일반화하면 임의 행렬은 다음과 같이 적힙니다.

A=i,jAi,jijA = \sum_{i, j} A_{i, j} \, |i\rangle \langle j |

Deterministic operation 을 한 줄 식으로

앞 글의 deterministic operation 행렬도 outer product 의 합으로 정확히 한 줄에 떨어집니다.

M=bΣf(b)bM = \sum_{b \in \Sigma} |f(b)\rangle \langle b |

이 식의 의미는 단순합니다. 각 입력 bb 에 대해, b|b\rangle 자리 (즉 bb 번째 column) 에 f(b)|f(b)\rangle 를 넣어라. 4가지 bit 함수의 행렬을 한 줄씩 적어 보면 다음과 같습니다.

함수f(b)f(b)outer product 합결과 행렬
f1f_1 (constant 0)0,00, 000+01\lvert 0 \rangle \langle 0 \rvert + \lvert 0 \rangle \langle 1 \rvert(1100)\begin{pmatrix} 1 & 1 \\\\ 0 & 0 \end{pmatrix}
f2f_2 (identity)0,10, 100+11\lvert 0 \rangle \langle 0 \rvert + \lvert 1 \rangle \langle 1 \rvert(1001)\begin{pmatrix} 1 & 0 \\\\ 0 & 1 \end{pmatrix}
f3f_3 (NOT)1,01, 010+01\lvert 1 \rangle \langle 0 \rvert + \lvert 0 \rangle \langle 1 \rvert(0110)\begin{pmatrix} 0 & 1 \\\\ 1 & 0 \end{pmatrix}
f4f_4 (constant 1)1,11, 110+11\lvert 1 \rangle \langle 0 \rvert + \lvert 1 \rangle \langle 1 \rvert(0011)\begin{pmatrix} 0 & 0 \\\\ 1 & 1 \end{pmatrix}

흥미로운 한 가지. identity 행렬은 모든 aa 에 대한 aa|a\rangle \langle a | 의 합입니다.

I=aΣaaI = \sum_{a \in \Sigma} |a\rangle \langle a |

뒤에서 resolution of identity 라는 이름으로 또 등장할 식이고, 측정 확률을 분해할 때 핵심 도구입니다.

(|a⟩⟨b|)-|c⟩ - 한 줄로 줄이기

outer product 가 ket 에 작용하면 어떻게 되는지 봅시다. 행렬 곱의 결합 법칙을 쓰면 한 줄에 정리됩니다.

(ab)c=a(bc)=aδb,c={aif b=c0otherwise\bigl(|a\rangle \langle b |\bigr) |c\rangle = |a\rangle \bigl(\langle b | c \rangle\bigr) = |a\rangle \cdot \delta_{b, c} = \begin{cases} |a\rangle & \text{if } b = c \\\\ 0 & \text{otherwise} \end{cases}

해석하자면 ab|a\rangle \langle b | 는 입력이 b|b\rangle 일 때만 a|a\rangle 를 내놓고 다른 입력은 죽여 버리는 projection-like 연산입니다. NOT 의 첫 항 10|1\rangle \langle 0 | 가 "0 입력이면 1 내놓기" 인 이유가 정확히 이거죠.

행렬 그리지 말고 bra 와 ket 이 만나면 그 자리에서 scalar (Kronecker delta) 로 줄여 버리는 게 Dirac 표기의 진짜 강점입니다. 계산이 순식간에 짧아집니다.

짚어둘 것

세 가지만 따로 정리합니다.

  • 순서 한 번 더. ab\langle a | b \rangle 는 scalar, ab|a\rangle \langle b | 는 행렬. 같은 글자라도 어느 쪽이 앞에 오느냐가 결과 차원을 결정합니다.
  • aa|a\rangle \langle a | 는 vector 가 아니라 대각선의 한 자리에만 11 이 있는 projector 행렬입니다. a|a\rangle 자체와 모양이 다릅니다.
  • ab|a\rangle \langle b |ba|b\rangle \langle a | 는 서로 다른 자리에 11 이 있는 행렬입니다. 둘은 transpose 관계.

다음으로

지금까지 벡터에 작용하는 행렬이라는 framework 안에서 deterministic operation 까지 다 적었습니다. 다음 글에서는 이 행렬의 entry 가 0/10/1 만이 아니라 임의의 확률을 가지는 일반화로 넘어갑니다 (probabilistic operation, 즉 stochastic matrix).

또 한 가지 흥미로운 갈래. 위에서 슬쩍 등장한 aa|a\rangle \langle a | 는 사실 projector 라 불리고, 더 나아가 quantum state 의 또 다른 표기인 density matrix ψψ|\psi\rangle \langle \psi | 의 기본 단위가 됩니다. 이 부분은 단원이 단단해지면 별도 노트로 따로 다룰 예정입니다.

Back toBlog 목록