표면 부호(Surface Code)의 구조: 위상적 양자 오류 정정
표면 부호는 2차원 격자 위에 큐비트를 배열하고 국소적 안정화 연산자로 오류를 탐지·정정하는 위상적 안정화 부호이다. 오류 임계값이 약 1%로 높고 인접 큐비트 간 연산만 요구하여 현실적인 하드웨어 구현에 가장 유력한 양자 오류 정정 방식으로 꼽힌다. 본 챕터에서는 격자 구조, 안정화 연산자, 논리 큐비트, 신드롬 측정 메커니즘을 체계적으로 다룬다.
Photo: the blowup / Unsplash개념 소개
양자 오류 정정에서 표면 부호(Surface Code)는 현재 가장 활발히 연구되는 방식이다. 핵심 아이디어는 하나의 **논리 큐비트(logical qubit)**를 수십~수천 개의 물리 큐비트로 분산 부호화하는 것이다. 오류가 개별 물리 큐비트 수준에서 발생하더라도, 2차원 격자 전체에 걸친 위상적 구조 덕분에 논리 정보는 보호된다.
표면 부호가 주목받는 이유는 두 가지다. 첫째, **오류 임계값(error threshold)**이 약 1%로, 다른 오류 정정 부호에 비해 월등히 높다. 둘째, 모든 안정화 측정이 **국소적(nearest-neighbor)**이어서 초전도 큐비트·이온 트랩 등 물리 플랫폼에서 구현하기 용이하다.
핵심 원리
1. 격자 구조
거리(distance) 인 **회전형 표면 부호(rotated surface code)**를 기준으로 한다.
- 데이터 큐비트: 격자점에 총 개 배치
- 보조 큐비트(ancilla): 격자 내 셀에 체커보드 패턴으로 개 배치
- X형 플라켓(X-plaquette): 개
- Z형 플라켓(Z-plaquette): 개
거리 인 경우, 데이터 큐비트 9개와 보조 큐비트 8개, 총 17개의 물리 큐비트로 논리 큐비트 1개를 부호화한다.
2. 안정화 연산자
표면 부호는 **파울리 안정화 형식론(Pauli stabilizer formalism)**에 기반한다. 셀 에 인접한 데이터 큐비트 집합 에 대해:
모든 안정화 연산자 쌍은 을 만족한다. 코드 공간 는 이들의 공통 고유 상태로 정의된다:
3. 논리 연산자
하나의 논리 큐비트가 부호화되며, 논리 연산자는 격자를 완전히 가로지르는 파울리 체인으로 표현된다:
- : 격자 위쪽 경계에서 아래쪽 경계까지 이어지는 Z 연산자 열
- : 격자 왼쪽 경계에서 오른쪽 경계까지 이어지는 X 연산자 행
이 두 연산자는 을 만족하여 논리 큐비트의 파울리 대수를 형성한다. 오류가 논리 연산자와 동일한 체인을 형성하지 않는 한 논리 정보는 보존된다.
4. 신드롬 측정과 오류 정정
오류가 발생하면 일부 안정화 연산자의 측정 결과가 로 바뀐다. 이 패턴을 **신드롬(syndrome)**이라 한다.
- Z 오류 (비트 플립): X형 안정화 위반을 일으킴
- X 오류 (위상 플립): Z형 안정화 위반을 일으킴
신드롬 처리에는 최소 무게 완전 매칭(Minimum Weight Perfect Matching, MWPM) 알고리즘이 표준적으로 사용된다. 위반된 안정화 위치를 그래프 정점으로 보고, 가장 짧은 오류 체인 가설을 찾아 정정 연산을 적용한다.
예시·응용
거리-3 표면 부호 시뮬레이션 개념 (Python)
import numpy as np
# 거리-3 표면 부호: 3x3 데이터 큐비트 인덱스
# X-플라켓 안정화 연산자 정의 (인접 큐비트 인덱스 목록)
x_stabilizers = [
[0, 1, 3, 4], # 내부 X-플라켓 예시
[2, 5], # 경계 X-플라켓
[4, 5, 7, 8],
[6, 7],
]
z_stabilizers = [
[0, 3],
[1, 2, 4, 5],
[3, 4, 6, 7],
[5, 8],
]
def measure_syndrome(state, stabilizers, pauli='Z'):
"""각 안정화 연산자의 고유값(+1 or -1) 측정 시뮬레이션"""
syndromes = []
for stab in stabilizers:
# 실제 양자 측정을 고전 시뮬레이션으로 근사
eigenvalue = 1
for idx in stab:
eigenvalue *= state[idx] # 간략화된 예시
syndromes.append(eigenvalue)
return syndromes
실험적 구현
Google은 초전도 프로세서를 이용해 거리-5 이상의 표면 부호에서 거리가 증가할수록 논리 오류율이 감소하는 **코드 이득(code below threshold)**을 실험적으로 시연하였다. IBM 역시 Falcon·Eagle 프로세서 위에서 표면 부호 패치를 구현하는 연구를 진행 중이다.
오류 임계값 조건: 물리 큐비트의 오류율 가 임계값 미만이면, 거리 를 늘릴수록 논리 오류율이 지수적으로 감소한다:
정리
표면 부호의 구조는 세 요소로 요약된다: ① 개의 데이터 큐비트를 놓은 2차원 격자, ② 국소적 X형·Z형 안정화 연산자, ③ 격자 경계를 가로지르는 논리 연산자. 신드롬 측정 → MWPM 디코딩 → 정정 연산의 사이클을 반복하여 오류를 억제하며, 오류율이 임계값 이하이면 거리를 늘릴수록 논리 오류율이 지수적으로 줄어든다. 이 구조가 표면 부호를 결함 허용 양자 컴퓨팅의 핵심 후보로 만드는 근거이다.
연습문제
Q1.거리 $d=5$인 회전형 표면 부호에서 데이터 큐비트 수, X형 안정화 연산자 수, Z형 안정화 연산자 수를 각각 구하라.
힌트 보기
데이터 큐비트는 $d^2$개, 전체 안정화 연산자는 $d^2 - 1$개이며 X형과 Z형이 동수로 나뉜다.
해설 보기
데이터 큐비트는 $5^2 = 25$개이다. 전체 안정화 연산자는 $25 - 1 = 24$개이며, X형 12개, Z형 12개로 나뉜다. 부호화 큐비트 수는 $k = n - m = 25 - 24 = 1$로, 논리 큐비트 1개가 부호화됨을 확인할 수 있다.
Q2.어떤 데이터 큐비트에서 Z 오류가 발생했을 때, 해당 오류가 위반시키는 것은 X형 안정화인가, Z형 안정화인가? 그 이유를 파울리 교환 관계로 설명하라.
힌트 보기
$\{X, Z\} = 0$ (반교환), $[Z, Z] = 0$ (교환) 임을 이용한다.
해설 보기
Z 오류는 X형 안정화를 위반한다. X형 안정화 $A_s = \bigotimes_{i \in \partial s} X_i$에 오류 큐비트가 포함되면, $X_i Z_i = -Z_i X_i$이므로 고유값이 $+1$에서 $-1$로 반전된다. 반면 Z형 안정화는 $Z_i Z_i = Z_i Z_i$ (교환)이므로 고유값이 변하지 않는다. 이 원리에 의해 X형과 Z형 신드롬은 각각 Z 오류와 X 오류를 독립적으로 탐지한다.
Q3.논리 오류율 공식 $p_L \propto (p/p_{th})^{\lfloor(d+1)/2\rfloor}$에서, 물리 오류율 $p = 0.1\%$이고 임계값 $p_{th} = 1\%$일 때, 거리 $d=3$과 $d=5$ 사이에서 논리 오류율이 몇 배 개선되는지 추정하라.
해설 보기
$d=3$일 때 지수는 $\lfloor 4/2 \rfloor = 2$이므로 $p_L \propto (0.1/1)^2 = 10^{-4}$. $d=5$일 때 지수는 $\lfloor 6/2 \rfloor = 3$이므로 $p_L \propto (0.1/1)^3 = 10^{-6}$. 거리를 3에서 5로 높이면 논리 오류율이 약 $10^2 = 100$배 감소한다. 이는 $p < p_{th}$ 조건에서 거리 증가가 지수적 이득을 제공함을 보여 준다.