Hadamard 게이트: 중첩을 만드는 가장 중요한 양자 문
Hadamard 게이트는 큐비트를 0 또는 1의 확정된 상태에서 두 가지 가능성이 동시에 존재하는 중첩 상태로 변환하는 단일 양자 연산이다. 양자컴퓨팅의 속도 이점은 대부분 이 중첩에서 시작되므로, Hadamard 게이트는 거의 모든 양자 알고리즘의 첫 번째 단계에 등장한다.
개념 소개
동전 하나를 생각해 보자. 동전이 테이블 위에 놓여 있으면 앞면(0) 또는 뒷면(1) 중 하나로 확정된다. 그런데 동전을 공중에 던져 팽이처럼 돌고 있는 순간을 상상하면, 아직 앞·뒷면 어느 쪽도 아닌 모든 가능성이 공존하는 상태라고 볼 수 있다.
Hadamard 게이트(H 게이트)는 바로 이 "던지는 행위"에 해당한다. 확정된 큐비트를 받아서, 측정 전까지 0과 1이 동시에 존재하는 중첩(superposition) 상태를 만들어 낸다.
핵심 원리
큐비트 상태는 두 복소수 로 표현한다.
Hadamard 게이트의 행렬 표현은 다음과 같다.
이 게이트를 과 에 각각 적용하면:
두 경우 모두 측정 확률이 정확히 50 : 50이지만, 에는 **위상 차이(−1)**가 숨어 있다. 이 위상은 간섭(interference)을 통해 나중에 계산 결과에 영향을 준다.
H 게이트는 자기 자신의 역행렬이다. 즉 이므로, 같은 큐비트에 두 번 적용하면 원래 상태로 돌아온다.
# Qiskit으로 H 게이트 체험
from qiskit import QuantumCircuit
qc = QuantumCircuit(1, 1)
qc.h(0) # |0⟩ → |+⟩ (중첩 생성)
qc.measure(0, 0)
print(qc.draw())
# 시뮬레이터로 실행하면 결과가 0과 1에 각각 ~50% 분포
예시·응용
1. 양자 병렬성의 출발점
개의 큐비트 전부에 H 게이트를 동시에 걸면 가지 상태의 균등 중첩이 만들어진다.
큐비트 10개면 단 10번의 게이트 연산으로 1024가지 입력을 동시에 탐색하는 출발점을 만든다. Grover 검색, Shor 소인수분해, 양자 푸리에 변환 모두 이 과정을 포함한다.
2. 양자 난수 생성기
에 H 게이트를 적용하고 측정하면 물리적으로 보장된 진짜 난수(0 또는 1)가 나온다. 소프트웨어 난수와 달리 예측이 이론적으로 불가능하다.
3. Bell 상태(얽힘) 생성의 첫 단계
두 큐비트의 얽힘을 만드는 표준 회로는 H 게이트 + CNOT 게이트의 조합이다. H 게이트 없이는 Bell 상태를 만들 수 없다.
q0: ─H─●─
│
q1: ───X─
→ (|00⟩ + |11⟩)/√2 (Bell 상태)
정리
Hadamard 게이트는 행렬 하나로 정의되는 단순한 연산이지만, 중첩 생성 → 병렬 탐색 → 간섭을 통한 정답 추출이라는 양자컴퓨팅의 핵심 흐름을 시작시키는 열쇠다. 라는 성질 덕분에 양자 회로 설계에서 유연하게 사용되며, Grover·Shor·양자 통신 등 사실상 모든 실용 알고리즘의 기초를 이룬다.
연습문제
Q1.$|1\rangle$ 상태에 H 게이트를 적용한 결과를 계산하고, 측정 시 0과 1이 나올 확률을 각각 구하시오.
힌트 보기
H 게이트 행렬을 $|1\rangle = \begin{pmatrix}0\\1\end{pmatrix}$에 곱해 보자.
해설 보기
$H|1\rangle = \frac{1}{\sqrt{2}}\begin{pmatrix}1&1\\1&-1\end{pmatrix}\begin{pmatrix}0\\1\end{pmatrix} = \frac{1}{\sqrt{2}}\begin{pmatrix}1\\-1\end{pmatrix} = \frac{|0\rangle - |1\rangle}{\sqrt{2}}$. 각 계수의 절댓값 제곱이 확률이므로 $P(0) = \left|\frac{1}{\sqrt{2}}\right|^2 = \frac{1}{2}$, $P(1) = \left|\frac{-1}{\sqrt{2}}\right|^2 = \frac{1}{2}$. 즉 50%씩이다.
Q2.같은 큐비트에 H 게이트를 두 번 연속 적용하면 어떤 상태가 되는가? 그 이유를 행렬 성질로 설명하시오.
해설 보기
$H^2 = I$ (항등행렬)이므로 원래 상태로 돌아온다. 예를 들어 $|0\rangle$에 H를 두 번 적용하면 $H(H|0\rangle) = H|{+}\rangle = |0\rangle$이 된다. 이는 H 게이트가 에르미트(Hermitian)이면서 동시에 유니타리(unitary)한 행렬, 즉 자기 자신이 역행렬인 성질에서 비롯된다.
Q3.3개의 큐비트 모두 $|0\rangle$으로 초기화된 상태에서 각 큐비트에 H 게이트를 적용하면 총 몇 가지 상태의 중첩이 만들어지는가?
해설 보기
$2^3 = 8$가지. $H^{\otimes 3}|000\rangle = \frac{1}{\sqrt{8}}(|000\rangle + |001\rangle + |010\rangle + \cdots + |111\rangle)$으로, 8개 기저 상태가 동일한 확률 진폭 $\frac{1}{\sqrt{8}}$로 중첩된다. 일반적으로 $n$큐비트에 H를 모두 걸면 $2^n$가지 균등 중첩이 생성된다.