블로흐 구: 큐비트를 시각화하기
큐비트의 양자 상태는 복소수 두 개로 표현되어 직관적으로 이해하기 어렵다. 블로흐 구(Bloch sphere)는 이 상태를 반지름 1인 구면 위의 한 점으로 나타내어, 중첩·위상·게이트 연산을 기하학적으로 파악할 수 있게 해 주는 표준 시각화 도구다.
개념 소개
나침반 바늘은 북쪽과 남쪽 사이의 어느 방향도 가리킬 수 있다. 큐비트를 구의 표면에 놓인 화살표(벡터)로 표현하면, 비슷한 방식으로 과 사이의 온갖 중첩 상태를 시각적으로 읽어낼 수 있다. 이 구를 블로흐 구라고 한다.
일반적인 큐비트 상태는 다음과 같이 쓸 수 있다.
여기서 는 복소수이므로 자유도가 4개처럼 보이지만, 규격화 조건과 전역 위상(global phase)의 물리적 무의미함을 적용하면 실질적인 자유도는 2개로 줄어든다. 이 두 실수 매개변수를 구면 좌표계의 각도로 해석한 것이 블로흐 구다.
핵심 원리
블로흐 구면 좌표 표현
두 실수 각도 , 를 사용하면 임의의 순수 상태(pure state)를 아래와 같이 표현할 수 있다.
- 북극 (): 상태
- 남극 (): 상태
- 적도 (): 과 의 동등한 중첩
- : 적도 면 위의 방위각으로, 상대 위상(relative phase)을 나타냄
주요 상태의 위치
| 상태 | 구면 위치 | ||
|---|---|---|---|
| 0 | — | 북극 | |
| — | 남극 | ||
| 0 | +x축 | ||
| −x축 | |||
| +y축 |
양자 게이트 = 회전
블로흐 구의 가장 큰 장점은 단일 큐비트 게이트가 구면 위의 회전에 대응한다는 것이다.
- X 게이트: x축 기준 180° 회전 → (비트 플립)
- Z 게이트: z축 기준 180° 회전 → 위상 플립
- H 게이트(아다마르): 을 북극에서 +x축으로 이동 (y축 기준 90° 회전 후 x축 기준 180° 회전과 동치)
이처럼 게이트 연산의 물리적 의미를 회전으로 직관적으로 이해할 수 있다.
예시·응용
Python으로 블로흐 구 그리기
Qiskit의 시각화 모듈을 활용하면 블로흐 구를 간편하게 그릴 수 있다.
from qiskit.visualization import plot_bloch_vector
import numpy as np
# |+> 상태: 블로흐 벡터 (x=1, y=0, z=0)
plot_bloch_vector([1, 0, 0])
# 임의 각도 (theta=pi/3, phi=pi/4)
theta, phi = np.pi / 3, np.pi / 4
x = np.sin(theta) * np.cos(phi)
y = np.sin(theta) * np.sin(phi)
z = np.cos(theta)
plot_bloch_vector([x, y, z])
측정과 블로흐 벡터
계산 기저(, )에서 측정하면, z축 성분 가 기댓값이 된다. 벡터가 북극에 가까울수록 이 나올 확률이 높고, 적도에 있으면 두 결과가 각각 50%다.
혼합 상태(Mixed State)와의 관계
순수 상태는 구의 표면에 위치하고, 혼합 상태(decoherence로 인한 상태)는 구의 내부에 위치한다. 완전한 혼합 상태(최대 불확실)는 구의 중심(원점)에 해당한다. 이를 통해 결어긋남(decoherence)이 블로흐 벡터를 중심으로 수축시키는 과정으로 시각화할 수 있다.
정리
블로흐 구는 큐비트 하나의 상태를 반지름 1인 구면 위의 점으로 대응시키는 표현 방식이다. 각도 는 / 사이의 중첩 비율을, 각도 는 상대 위상을 나타낸다. 단일 큐비트 게이트는 이 구 위의 회전으로 이해할 수 있어, 양자 연산의 기하학적 직관을 제공한다. 다만 블로흐 구는 큐비트 하나에만 적용되며, 두 큐비트 이상의 얽힘 상태는 이 그림으로 완전히 표현할 수 없다는 한계가 있다.
연습문제
Q1.큐비트 상태 $|\psi\rangle = \frac{1}{\sqrt{2}}|0\rangle - \frac{i}{\sqrt{2}}|1\rangle$ 는 블로흐 구의 어느 축 위에 있는가?
힌트 보기
$e^{i\phi} = -i$일 때 $\phi$ 값을 구하고, $\theta = \pi/2$임을 확인해 보라.
해설 보기
$\cos(\theta/2) = 1/\sqrt{2}$이므로 $\theta = \pi/2$, $e^{i\phi} = -i = e^{i \cdot 3\pi/2}$이므로 $\phi = 3\pi/2$. 따라서 이 상태는 블로흐 구의 **−y축** 위에 있다.
Q2.X 게이트를 $|0\rangle$ 상태에 적용했을 때, 블로흐 구에서 벡터가 어떻게 이동하는지 설명하라.
해설 보기
X 게이트는 x축을 기준으로 180° 회전이다. $|0\rangle$은 북극(z = +1)에 있고, x축 기준 180° 회전 후 남극(z = −1), 즉 $|1\rangle$ 상태로 이동한다.
Q3.블로흐 구로 두 큐비트의 벨 상태(Bell state)를 표현하려 할 때 어떤 한계가 발생하는가?
해설 보기
블로흐 구는 단일 큐비트의 상태 공간만 표현한다. 벨 상태는 두 큐비트 사이의 얽힘(entanglement)을 포함하므로, 각 큐비트를 개별 블로흐 구로 표현하면 혼합 상태(구의 내부 원점)로 나타나 얽힘 정보가 손실된다. 다중 큐비트 상태는 밀도 행렬(density matrix) 등 더 고차원의 표현이 필요하다.