Hadamard 게이트는 왜 중요한가
Hadamard 게이트는 고전적인 0 또는 1 상태를 균등한 중첩 상태로 변환하는 양자 게이트로, 거의 모든 양자 알고리즘의 출발점에 자리한다. 이 챕터에서는 Hadamard 게이트의 수학적 구조, 동작 원리, 그리고 실제 양자컴퓨팅에서의 역할을 입문 수준으로 살펴본다.
개념 소개
동전을 던지기 전, 앞면과 뒷면 중 어느 쪽이 나올지 정해져 있지 않다. 이 '아직 결정되지 않은 상태'가 양자역학의 중첩(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 게이트를 이해하는 것은 양자 알고리즘 학습의 실질적인 첫 걸음이다.
연습문제
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}$이다.
Q2.2큐비트 모두 $|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}$이다.
Q3.Hadamard 게이트를 같은 큐비트에 두 번 연속 적용하면 어떤 결과가 나오는가? 이 성질이 양자 회로 설계에서 어떻게 활용될 수 있는지 설명하라.
해설 보기
$H^2 = I$이므로 원래 상태로 복원된다. 예를 들어 $H|0\rangle = |{+}\rangle$, $H|{+}\rangle = |0\rangle$. 회로 설계에서는 중첩 상태를 다시 계산 기저(0 또는 1)로 되돌릴 때 사용한다. 또한 특정 연산을 X 기저에서 수행하기 위해 'H → 연산 → H' 패턴을 사용하는 기저 변환 기법에 활용된다.