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

Quantum(4) - Dirac Bra 와 Inner Product

2026-04-28 ·

지금까지 ket a|a\rangle 으로 state 와 standard basis 를 적었습니다. 이번 노트에서는 bra a\langle a | 를 도입하고, inner product 를 정리합니다.

왜 row vector 가 따로 필요한가

행렬 연산에선 두 vector 의 곱이 세 가지 모양 으로 등장합니다.

곱의 형태차원결과
column ×\times columnn×1n \times 1 곱하기 n×1n \times 1정의 안 됨
row ×\times column1×n1 \times n 곱하기 n×1n \times 11×11 \times 1 = scalar
column ×\times rown×1n \times 1 곱하기 1×n1 \times nn×nn \times n = matrix

ket 만으로는 column 만 만들 수 있고, ket 두 개를 합쳐도 scalar 결과를 뽑아낼 길이 없습니다. 그래서 row vector 를 적기 위한 표기가 따로 필요합니다. 이게 bra a\langle a | 입니다.

이름은 폴 디랙의 농담입니다. 두 기호 \langle\rangle 사이를 braket 이라 부르고, 그것을 둘로 쪼갠 bra 와 ket 이 만나면 다시 braket ab\langle a | b \rangle 가 됩니다.

Bra ⟨a| 의 정의

Σ\Sigma 가 정렬되어 있고 aΣa \in \Sigma 일 때

a\langle a |aa 위치만 11 이고 나머지는 00 인 row vector (1×Σ1 \times |\Sigma|).

Σ={0,1}\Sigma = \{0, 1\} 일 때 모양은 다음과 같습니다.

0=(10),1=(01)\langle 0 | = \begin{pmatrix} 1 & 0 \end{pmatrix}, \qquad \langle 1 | = \begin{pmatrix} 0 & 1 \end{pmatrix}

ket 와 모양만 가로/세로 가 바뀐 관계입니다.

0=(10)0=(10)(transpose)|0\rangle = \begin{pmatrix} 1 \\\\ 0 \end{pmatrix} \quad \longleftrightarrow \quad \langle 0 | = \begin{pmatrix} 1 & 0 \end{pmatrix} \quad \text{(transpose)}

지금은 entry 가 모두 실수라 단순 transpose 입니다. quantum state vector 처럼 amplitude 가 복소수일 때는 conjugate transpose (즉 ψ=ψ\langle \psi | = |\psi\rangle^{\dagger}) 가 정확한 정의이고, 이 경우는 다음 노트에서 다룹니다.

Bra 와 Ket 이 만나면 scalar

bra 와 ket 을 붙여 쓰면 row ×\times column 곱이 됩니다. 결과는 scalar 한 개.

(a1a2an)(b1b2bn)=a1b1+a2b2++anbn\begin{pmatrix} a_1 & a_2 & \cdots & a_n \end{pmatrix} \begin{pmatrix} b_1 \\\\ b_2 \\\\ \vdots \\\\ b_n \end{pmatrix} = a_1 b_1 + a_2 b_2 + \cdots + a_n b_n

이게 흔히 말하는 inner product (또는 dot product) 입니다. 차원이 같은 두 vector 의 entry 끼리 곱해서 모두 더한 값.

bra 와 ket 사이의 막대 두 개는 관행적으로 하나로 합쳐 적습니다.

ab=ab\langle a | \, | b \rangle = \langle a | b \rangle

Standard basis 끼리의 inner product

a\langle a |b| b \rangle 둘 다 한 자리만 11 인 vector 라서, 두 자리가 일치할 때만 11=11 \cdot 1 = 1 짝이 만나 합 =1= 1, 다르면 모든 곱이 00 이라 합 =0= 0 입니다.

ab={1if a=b0if ab=δa,b\langle a | b \rangle = \begin{cases} 1 & \text{if } a = b \\\\ 0 & \text{if } a \neq b \end{cases} = \delta_{a, b}

이걸 Kronecker delta 라 부릅니다.

Σ={0,1}\Sigma = \{0, 1\} 의 4가지 inner product 를 직접 계산해보면 패턴이 한눈에 보입니다.

00=(10)(10)=1,01=(10)(01)=0\langle 0 | 0 \rangle = \begin{pmatrix} 1 & 0 \end{pmatrix} \begin{pmatrix} 1 \\\\ 0 \end{pmatrix} = 1, \qquad \langle 0 | 1 \rangle = \begin{pmatrix} 1 & 0 \end{pmatrix} \begin{pmatrix} 0 \\\\ 1 \end{pmatrix} = 0 10=(01)(10)=0,11=(01)(01)=1\langle 1 | 0 \rangle = \begin{pmatrix} 0 & 1 \end{pmatrix} \begin{pmatrix} 1 \\\\ 0 \end{pmatrix} = 0, \qquad \langle 1 | 1 \rangle = \begin{pmatrix} 0 & 1 \end{pmatrix} \begin{pmatrix} 0 \\\\ 1 \end{pmatrix} = 1

표로 모으면 정확히 단위행렬 모양입니다.

0\lvert 0 \rangle1\lvert 1 \rangle
0\langle 0 \rvert1100
1\langle 1 \rvert0011

이건 standard basis vector 들이 orthonormal 하다는 뜻입니다. 각자 norm 이 11 이고 (대각), 서로 직교 (비대각). 이 사실은 앞 글의 unitary 논의와 정확히 같은 구조입니다. 같은 orthonormality 가 다른 자리에서 다시 등장한 셈.

Bra 는 entry 뽑는 picker

bra 가 일반 ket 에 작용하면 어떤 일이 일어나는지 봅시다. v=(v0v1)|v\rangle = \begin{pmatrix} v_0 \\\\ v_1 \end{pmatrix} 일 때

0v=(10)(v0v1)=v0,1v=(01)(v0v1)=v1\langle 0 | v \rangle = \begin{pmatrix} 1 & 0 \end{pmatrix} \begin{pmatrix} v_0 \\\\ v_1 \end{pmatrix} = v_0, \qquad \langle 1 | v \rangle = \begin{pmatrix} 0 & 1 \end{pmatrix} \begin{pmatrix} v_0 \\\\ v_1 \end{pmatrix} = v_1

av\langle a | v \ranglevvaa 번째 entry 를 뽑아주는 picker 입니다. 더 큰 Σ\Sigma 에서도 똑같이 작동합니다. 예를 들어 Σ={0,1,2,3}\Sigma = \{0, 1, 2, 3\} 위의 probabilistic state

v=120+141+182+183v = \tfrac{1}{2} |0\rangle + \tfrac{1}{4} |1\rangle + \tfrac{1}{8} |2\rangle + \tfrac{1}{8} |3\rangle

에 대해 2v=18\langle 2 | v \rangle = \tfrac{1}{8}. Pr(X=2)\Pr(X = 2) 를 깔끔하게 빼낼 수 있습니다.

이 picker 의 의미를 일반화하면 다음 분해 공식이 자동으로 따라옵니다.

v=aΣava|v\rangle = \sum_{a \in \Sigma} \langle a | v \rangle \, |a\rangle

각 entry 를 picker 로 빼낸 뒤 그 위치 ket 으로 다시 묶어 더한 것일 뿐입니다.

왜 picker 가 작동하는가

조금 더 분명히 보고 싶다면 ket 을 standard basis 분해 형태 v=avaa|v\rangle = \sum_a v_a |a\rangle 로 쓰고 양쪽에 b\langle b | 를 적용합니다.

bv=bavaa=avaba=avaδb,a=vb\langle b | v \rangle = \langle b | \sum_a v_a | a \rangle = \sum_a v_a \langle b | a \rangle = \sum_a v_a \, \delta_{b, a} = v_b

inner product 가 합과 스칼라 배에 분배되는 linearity, 그리고 ba=δb,a\langle b | a \rangle = \delta_{b, a} 라는 한 줄의 사실. 이 둘이 결합되면 오직 a=ba = b 인 항만 살아남고 나머지는 모두 00 으로 사라집니다. 그래서 bv=vb\langle b | v \rangle = v_b 가 자동으로 떨어집니다.

probabilistic state 라면 av=p(a)\langle a | v \rangle = p(a) (확률), quantum state 라면 aψ=αa\langle a | \psi \rangle = \alpha_a (amplitude). 즉 a\langle a | \cdot \rangle 는 일반 vector 에서 aa coordinate 를 빼내는 도구라는 점에서 항상 같은 역할을 합니다.

짚어둘 것

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

  • a\langle a |a|a\rangle 는 같은 정보 다른 모양 입니다. column 인지 row 인지가 다르고, 행렬 곱에서의 위치 도 다릅니다 (앞에 오면 row, 뒤에 오면 column). 그냥 다른 표기가 아니라 곱셈 가능 여부를 결정하는 차이입니다.
  • 순서가 결정적입니다. ab\langle a | b \rangle 는 scalar (inner product, 1×11 \times 1), ab|a\rangle \langle b | 는 행렬 (outer product, n×nn \times n). 같은 네 글자가 순서만 바뀌어도 결과의 차원이 완전히 달라집니다.
  • 지금까지의 transpose 는 실수 entry 일 때만의 약식 정의입니다. 일반 quantum state 에서는 ψ=ψ\langle \psi | = |\psi\rangle^{\dagger} (conjugate transpose) 가 정확한 정의이고, amplitude 가 복소수면 entry 의 복소공액 이 함께 적용됩니다. standard basis 0,1|0\rangle, |1\rangle 의 entry 가 0,10, 1 뿐이라 conjugate 가 영향이 없어서 transpose 처럼 보일 뿐입니다.

다음으로

위 짚어둘 것 에 등장한 또 하나의 곱 ab|a\rangle \langle b | 가 다음 노트의 주제입니다. column ×\times row 의 결과는 행렬이고, 이 행렬을 outer product 라 부릅니다.

흥미로운 점은 앞 글의 deterministic operation 행렬을 outer product 의 합으로 깔끔하게 적을 수 있다는 사실입니다.

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

각 column 에 f(b)|f(b)\rangle 를 넣는 작업이 bra-ket 의 합이라는 한 줄 식으로 정리되고, 여기서 등장하는 ab|a\rangle \langle b | 들이 사실은 행렬을 위한 standard basis 역할을 한다는 사실까지 따라옵니다. 다음 글에서 이어 갑니다.

Back toBlog 목록