개념 소개
동전을 던지기 전, 앞면과 뒷면 중 어느 쪽이 나올지 정해져 있지 않다. 이 '아직 결정되지 않은 상태'가 양자역학의 중첩(superposition)과 닮아 있다. Hadamard 게이트(H 게이트)는 큐비트에 정확히 이 역할을 수행한다. 이미 0 또는 1로 확정된 큐비트를 받아, 두 값이 동등하게 가능한 중첩 상태로 바꿔 놓는 것이다.
양자컴퓨터가 고전 컴퓨터와 다른 핵심 이유 중 하나는 '모든 경우를 동시에 탐색하는 능력'이다. 그 탐색을 시작하려면 반드시 큐비트를 중첩 상태에 놓아야 하며, Hadamard 게이트는 그 첫 번째 열쇠다.
핵심 원리
행렬 표현
Hadamard 게이트는 2×2 유니터리 행렬로 정의된다.
기저 상태에 대한 작용
상태에 H를 적용하면:
상태에 H를 적용하면:
두 결과 모두 과 을 각각 50%의 확률로 측정하게 되는 균등 중첩 상태다. 차이는 위상(phase)에 있다. 는 두 항의 부호가 같고, 는 반대다. 이 위상 차이가 양자 간섭(quantum interference)을 일으키는 핵심 자원이 된다.
자기 역원 성질
Hadamard 게이트를 두 번 연속 적용하면 원래 상태로 돌아온다.
즉, , 이 성립한다. 이 성질은 H가 X축/Z축 사이의 기저 변환을 수행함을 뜻하며, 회로 설계에서 매우 유용하게 쓰인다.
예시·응용
1. 양자 난수 생성
상태에 H를 적용한 뒤 측정하면 0과 1이 각각 50%로 나타난다. 이는 물리적으로 진정한 무작위성(true randomness)에 기반하므로, 고전 의사 난수(pseudo-random)와 본질적으로 다르다.
from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator
qc = QuantumCircuit(1, 1)
qc.h(0) # Hadamard 게이트 적용
qc.measure(0, 0) # 측정
sim = AerSimulator()
result = sim.run(qc, shots=1000).result()
print(result.get_counts()) # {'0': ~500, '1': ~500}
2. 다중 큐비트 중첩 — 병렬 탐색의 시작
개의 큐비트 각각에 H를 적용하면, 개의 모든 상태를 동시에 포함하는 중첩을 만들 수 있다.
3큐비트라면 단 3번의 H 게이트로 부터 까지 8가지 상태를 동시에 표현한다. Grover 탐색 알고리즘, Deutsch-Jozsa 알고리즘 등 대부분의 양자 알고리즘이 이 단계를 첫 번째 회로 블록으로 사용한다.
3. 기저 변환 도구
양자 오류 정정이나 양자 통신 프로토콜에서 Z 기저()와 X 기저() 사이를 오가야 할 때 H 게이트가 변환 연산자 역할을 담당한다.
정리
Hadamard 게이트는 구조는 단순하지만, 양자컴퓨팅 전체를 관통하는 핵심 도구다. 고전적으로 확정된 상태를 중첩으로 열고, 중첩 상태에서 다시 측정 가능한 결과로 닫는 '문(門)' 역할을 한다. 중첩과 위상이라는 두 가지 양자 자원을 모두 다루기 때문에, H 게이트를 이해하는 것은 양자 알고리즘 학습의 실질적인 첫 걸음이다.
Exercises
연습문제
Q1$|1\rangle$ 상태에 Hadamard 게이트를 적용한 결과를 계산하고, 측정 시 각 결과가 나올 확률을 구하라.
힌트 보기
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}} = |{-}\rangle$. 측정 시 $|0\rangle$이 나올 확률은 $\left|\frac{1}{\sqrt{2}}\right|^2 = \frac{1}{2}$, $|1\rangle$이 나올 확률도 $\left|\frac{-1}{\sqrt{2}}\right|^2 = \frac{1}{2}$이다.
Q22큐비트 모두 $|0\rangle$으로 초기화된 상태 $|00\rangle$에 각 큐비트에 H 게이트를 적용하면 몇 가지 상태의 중첩이 만들어지는가? 그 상태를 ket 표기로 써라.
해설 보기
$H^{\otimes 2}|00\rangle = \frac{1}{2}(|00\rangle + |01\rangle + |10\rangle + |11\rangle)$. 총 $2^2 = 4$가지 상태의 균등 중첩이 만들어지며, 각 상태의 측정 확률은 $\frac{1}{4}$이다.
Q3Hadamard 게이트를 같은 큐비트에 두 번 연속 적용하면 어떤 결과가 나오는가? 이 성질이 양자 회로 설계에서 어떻게 활용될 수 있는지 설명하라.
해설 보기
$H^2 = I$이므로 원래 상태로 복원된다. 예를 들어 $H|0\rangle = |{+}\rangle$, $H|{+}\rangle = |0\rangle$. 회로 설계에서는 중첩 상태를 다시 계산 기저(0 또는 1)로 되돌릴 때 사용한다. 또한 특정 연산을 X 기저에서 수행하기 위해 'H → 연산 → H' 패턴을 사용하는 기저 변환 기법에 활용된다.
관련 용어


