2026년 4월 19일 일요일
튜토리얼 목록
입문양자컴퓨팅AI 생성

Hadamard 게이트: 중첩을 만드는 양자컴퓨팅의 핵심 부품

Hadamard 게이트는 고전 비트의 0 또는 1 상태를 양자 중첩 상태로 변환하는 가장 기본적인 양자 게이트다. 양자 알고리즘의 대부분은 이 게이트로 시작하며, 중첩·간섭·얽힘을 활용하는 모든 회로의 출발점이 된다. 입문 수준에서 Hadamard 게이트를 이해하면 양자컴퓨팅 전반의 논리 흐름을 파악할 수 있다.

먼저 읽으면 좋은 용어

개념 소개

동전을 테이블 위에 올려놓으면 앞면 또는 뒷면이다. 그런데 동전을 공중에 던진 순간, 측정하기 전까지는 "앞면이기도 하고 뒷면이기도 한" 상태라고 상상해 보자. Hadamard 게이트는 바로 이 순간을 만들어 주는 장치다.

고전 컴퓨터의 비트는 $|0\rangle$ 또는 $|1\rangle$ 중 하나만 가질 수 있다. Hadamard 게이트 $H$를 적용하면 두 상태가 동등한 확률로 공존하는 중첩(superposition) 상태가 만들어진다.

$$H|0\rangle = \frac{|0\rangle + |1\rangle}{\sqrt{2}}, \qquad H|1\rangle = \frac{|0\rangle - |1\rangle}{\sqrt{2}}$$

측정하면 각각 50%의 확률로 0 또는 1이 나온다. 하지만 중요한 것은 측정 전의 상태다. 두 가능성이 동시에 존재한다는 사실이 양자컴퓨팅의 연산 능력을 폭발적으로 키운다.


핵심 원리

행렬 표현

Hadamard 게이트는 $2 \times 2$ 유니터리 행렬로 나타낸다.

$$H = \frac{1}{\sqrt{2}}\begin{pmatrix} 1 & 1 \ 1 & -1 \end{pmatrix}$$

  • 유니터리(unitary): $H H^\dagger = I$ 이므로 정보 손실이 없고, $H$를 두 번 적용하면 원래 상태로 돌아온다. 즉 $H^2 = I$.
  • 부호의 역할: $|0\rangle$을 넣을 때와 $|1\rangle$을 넣을 때, 두 결과의 차이는 $|1\rangle$ 성분의 부호뿐이다. 이 부호 차이가 양자 간섭(interference) 을 제어하는 핵심 열쇠다.

블로흐 구면에서의 의미

블로흐 구면(Bloch sphere) 위에서 $|0\rangle$은 북극, $|1\rangle$은 남극이다. Hadamard 게이트는 이 구면을 X축과 Z축의 중간 축을 기준으로 180° 회전시킨다. 결과적으로 북극과 남극이 적도 위의 두 점($+X$, $-X$ 방향)으로 이동한다.

왜 모든 알고리즘의 첫 단계인가

$n$개의 큐비트에 각각 Hadamard 게이트를 적용하면, $2^n$가지 상태가 동시에 균등하게 중첩된다.

$$H^{\otimes n}|0\rangle^{\otimes n} = \frac{1}{\sqrt{2^n}}\sum_{x=0}^{2^n - 1}|x\rangle$$

3큐비트만으로도 0부터 7까지 8가지 상태를 한꺼번에 표현할 수 있다. 이것이 양자 병렬성의 출발점이며, Deutsch–Jozsa, Grover, Shor 알고리즘 모두 이 준비 단계에서 Hadamard 게이트를 사용한다.


예시·응용

Python 코드: Qiskit으로 Hadamard 게이트 실습

from qiskit import QuantumCircuit
from qiskit.quantum_info import Statevector

# 1큐비트 회로 생성, |0⟩ 초기화
qc = QuantumCircuit(1)
qc.h(0)          # Hadamard 게이트 적용

# 상태벡터 확인
sv = Statevector(qc)
print(sv)        # [0.707+0.j, 0.707+0.j] ≈ (|0⟩ + |1⟩)/√2

# H를 두 번 적용 → 원래 상태로 복귀
qc.h(0)
sv2 = Statevector(qc)
print(sv2)       # [1.+0.j, 0.+0.j] → |0⟩ 복원

응용 1 — 무작위 수 생성

Hadamard 게이트 하나를 $|0\rangle$에 적용하고 측정하면 진정한 물리적 난수(0 또는 1)를 얻는다. 이는 알고리즘 기반의 의사(擬似) 난수와 근본적으로 다르다.

응용 2 — 양자 키 분배(BB84)

BB84 프로토콜에서는 Hadamard 게이트로 두 가지 기저(基底)를 전환하며 도청 여부를 감지한다. 도청자가 잘못된 기저로 측정하면 중첩이 붕괴되어 흔적이 남는다.

응용 3 — 양자 푸리에 변환(QFT)

양자 푸리에 변환의 핵심 빌딩 블록은 Hadamard 게이트다. Shor 알고리즘의 소인수 분해 속도 향상이 QFT, 즉 Hadamard 게이트에서 비롯된다.


정리

Hadamard 게이트는 개념적으로 단순하지만 기능적으로 강력하다. 고전 비트를 양자 중첩으로 변환하고, 두 번 적용하면 원상복귀되며, $n$큐비트에 동시 적용하면 $2^n$개의 균등 중첩을 단번에 만든다. 양자 알고리즘이 "모든 경우를 동시에 탐색한다"는 직관은 바로 이 게이트에서 시작된다. Hadamard 게이트 없이는 양자컴퓨팅의 속도 우위를 논하기 어렵다.

연습문제

  1. Q1.$H|1\rangle$을 계산하고, 이 상태를 측정했을 때 0과 1이 나올 확률을 각각 구하시오.

    힌트 보기

    $H = \frac{1}{\sqrt{2}}\begin{pmatrix}1&1\\1&-1\end{pmatrix}$를 $\begin{pmatrix}0\\1\end{pmatrix}$에 곱해 보자.

    해설 보기

    $H|1\rangle = \frac{1}{\sqrt{2}}\begin{pmatrix}1\\-1\end{pmatrix} = \frac{|0\rangle - |1\rangle}{\sqrt{2}}$. 각 진폭의 절댓값 제곱이 확률이므로, 0이 나올 확률 $= \left|\frac{1}{\sqrt{2}}\right|^2 = \frac{1}{2}$, 1이 나올 확률 $= \left|\frac{-1}{\sqrt{2}}\right|^2 = \frac{1}{2}$. 부호가 달라도 측정 확률은 동일하다.

  2. Q2.큐비트 하나에 Hadamard 게이트를 홀수 번(예: 3번) 적용한 결과는 1번 적용한 결과와 같은가? 이유를 서술하시오.

    해설 보기

    같다. $H^2 = I$이므로 $H^3 = H^2 \cdot H = I \cdot H = H$. 즉 홀수 번 적용하면 $H$와 동일하고, 짝수 번 적용하면 항등 연산이 되어 원래 상태가 복원된다.

  3. Q3.2큐비트 모두에 Hadamard 게이트를 적용하면 몇 가지 상태가 균등 중첩되는가? 그 상태를 수식으로 표현하시오.

    힌트 보기

    $n=2$일 때 $2^n$을 계산하고, $H^{\otimes 2}|00\rangle$을 전개해 보자.

    해설 보기

    $2^2 = 4$가지 상태($|00\rangle, |01\rangle, |10\rangle, |11\rangle$)가 균등 중첩된다. $H^{\otimes 2}|00\rangle = \frac{1}{2}(|00\rangle + |01\rangle + |10\rangle + |11\rangle)$. 각 상태의 측정 확률은 $\left|\frac{1}{2}\right|^2 = \frac{1}{4}$로 동일하다.

관련 용어

이 챕터는 Claude (claude-sonnet-4-6)가 작성했습니다. · 발행 2026. 4. 19.