표면 부호(Surface Code)의 구조와 원리
표면 부호는 2차원 격자 위에 큐비트를 배치하여 양자 오류를 검출·정정하는 위상학적 안정화 부호다. 면 연산자(plaquette operator)와 꼭짓점 연산자(vertex operator)로 구성된 안정화군이 오류 신드롬을 생성하며, 격자 거리 $d$가 부호의 오류 정정 능력을 결정한다. 높은 오류 임계값(~1%)과 국소적 측정만으로 구현 가능하다는 점에서 내결함성 양자컴퓨팅의 핵심 후보로 주목받는다.
개념 소개
양자 정보를 물리적 노이즈로부터 보호하려면 **양자 오류 정정 부호(quantum error-correcting code)**가 필요하다. 그 가운데 표면 부호는 2차원 격자 구조만으로 논리 큐비트 하나를 인코딩하며, 인접 큐비트 사이의 국소 연산만으로 오류 신드롬을 추출할 수 있다. 이 국소성은 실제 하드웨어에서의 구현 난도를 크게 낮추기 때문에 Google, IBM 등 주요 양자컴퓨팅 기업이 표면 부호를 장기 로드맵의 핵심으로 채택하고 있다.
표면 부호는 **위상학적 부호(topological code)**의 일종으로, 논리 연산자가 격자를 가로지르는 비국소적 끈(string)으로 표현된다는 특성을 갖는다. 단일 큐비트 오류는 끈의 끝점(anyon)으로 검출되고, 끈이 격자를 완전히 관통하지 않는 한 논리 오류로 번지지 않는다.
핵심 원리
격자 구조와 큐비트 배치
가장 널리 쓰이는 **회전 표면 부호(rotated surface code)**는 거리 에 대해 격자 위에 데이터 큐비트(data qubit) 개를 배치한다. 보조 큐비트(ancilla qubit)는 격자 칸(plaquette)에 대응하여 안정화 연산자를 측정하는 데 사용된다.
보조 큐비트를 포함한 전체 물리 큐비트 수는 약 이며, 이를 통해 논리 큐비트 1개를 인코딩한다.
안정화 연산자
표면 부호는 **안정화 형식(stabilizer formalism)**을 기반으로 한다. 안정화군 의 생성원은 두 종류다.
X형 면 연산자 (X-type plaquette):
Z형 면 연산자 (Z-type plaquette):
각 플래킷은 인접한 데이터 큐비트 4개(경계에서는 2~3개)에 파울리 연산자를 작용한다. 인접하지 않은 연산자들은 서로 교환(commute)하므로 이 성립하고, 전체 안정화군의 원소들이 동시에 측정 가능한 물리적 관측량이 된다.
코드 공간 은
로 정의되며, 이 공간이 논리 큐비트 1개를 담는다.
논리 연산자
논리 큐비트의 와 는 격자를 가로지르는 파울리 끈으로 정의된다.
여기서 는 격자 좌측에서 우측으로 이어지는 수평 경로, 는 상단에서 하단으로 이어지는 수직 경로다. 두 경로는 반드시 한 점에서 교차하므로 가 성립해 큐비트 대수 관계를 만족한다.
코드 거리(code distance) 는 논리 연산자의 최소 무게(weight)에 해당하며, 거리 부호는
개의 임의 오류를 정정할 수 있다.
오류 신드롬 추출
물리 큐비트에 파울리 오류 가 발생하면 일부 안정화 연산자의 측정값이 로 뒤집힌다. 이 측정 결과 전체를 **오류 신드롬(error syndrome)**이라 부른다.
예를 들어 단일 X 오류가 발생하면 해당 큐비트 양쪽의 Z형 플래킷 두 개에서 이 나타난다. 오류의 끝점 쌍을 최소 가중치 매칭(minimum-weight perfect matching, MWPM) 알고리즘으로 연결함으로써 오류를 추론하고 정정한다.
예시·응용
거리-3 표면 부호
경우 데이터 큐비트 9개, 안정화 연산자 8개(X형 4개, Z형 4개), 총 물리 큐비트 약 17개가 필요하다. 임의의 단일 큐비트 오류 1개를 정정할 수 있다.
# Stim 라이브러리를 활용한 거리-3 표면 부호 회로 생성 예시
import stim
circuit = stim.Circuit.generated(
"surface_code:rotated_memory_z",
rounds=3,
distance=3,
after_clifford_depolarization=0.001,
)
print(circuit)
오류 임계값
표면 부호의 물리적 오류율이 임계값 이하일 때, 격자 거리 를 키울수록 논리 오류율이 지수적으로 감소한다:
이 임계값은 다른 부호군에 비해 높은 편이어서 실제 소자의 노이즈 수준과 호환 가능하다.
정리
표면 부호는 2D 격자에 데이터 큐비트를 배치하고, X형·Z형 면 연산자를 안정화 생성원으로 삼아 논리 큐비트를 인코딩한다. 논리 연산자는 격자를 관통하는 파울리 끈으로 표현되며, 코드 거리 가 오류 정정 능력을 결정한다. 국소 측정만으로 신드롬을 추출하고 MWPM으로 오류를 추론하는 구조는 현실적인 하드웨어 제약에 잘 맞아, 내결함성 양자컴퓨팅 실현을 위한 가장 유력한 경로로 자리매김하고 있다.
연습문제
Q1.거리 $d=5$인 회전 표면 부호에서 데이터 큐비트 수, 안정화 생성원 수, 정정 가능한 최대 오류 개수를 각각 구하라.
힌트 보기
회전 표면 부호의 데이터 큐비트 수는 $d^2$이고, 안정화 생성원 수는 $d^2 - 1$이다.
해설 보기
데이터 큐비트 수: $5^2 = 25$개. 안정화 생성원: X형 12개, Z형 12개, 총 24개. 정정 가능한 최대 오류 수: $\lfloor(5-1)/2\rfloor = 2$개.
Q2.표면 부호에서 단일 Z 오류가 한 데이터 큐비트에 발생했을 때, X형 면 연산자의 측정 결과가 어떻게 변하는지 설명하라.
힌트 보기
X형 면 연산자 $B_p = \bigotimes_{i \in \partial p} X_i$와 $Z$ 오류의 교환 관계 $\{X, Z\} = 0$을 이용한다.
해설 보기
Z 오류가 발생한 큐비트를 공유하는 X형 플래킷들의 측정값이 $+1$에서 $-1$로 뒤집힌다. 내부 큐비트라면 인접한 X형 플래킷 2개에서, 경계 큐비트라면 1개에서 $-1$이 나타난다. 이 $-1$ 쌍이 오류 신드롬의 끝점(anyon)을 형성한다.
Q3.논리 연산자 $\bar{X}$와 $\bar{Z}$가 안정화군의 원소가 아님을 논증하라.
해설 보기
$\bar{X}$는 격자를 완전히 가로지르는 X 끈이고, $\bar{Z}$는 수직 Z 끈이다. 안정화 생성원은 국소 플래킷 연산자이므로 그 곱은 항상 닫힌 루프를 이룬다. 반면 $\bar{X}$와 $\bar{Z}$는 경계에서 끝나는 열린 끈이므로 어떤 안정화 원소의 곱으로도 표현할 수 없다. 또한 $\bar{X}\bar{Z} = -\bar{Z}\bar{X}$이므로 $\bar{X}, \bar{Z} \notin \mathcal{S}$임이 안정화군의 가환성으로부터 직접 따른다.