C01양자 컴퓨팅 · 통신 · 표면 부호
100%
강의 안내핵심O01

양자 컴퓨팅·통신에서 표면 부호까지

QUANTUM COMPUTING · COMMUNICATION · ERROR CORRECTION

양자 컴퓨팅·통신에서
표면 부호까지

고전 논리에서 출발하여 양자 상태와 통신,
알고리즘과 오류 정정을 하나의 흐름으로 연결한다.

이기훈
계산하다게이트와 간섭으로 정답을 얻을 확률을 바꾸기
전송하다채널과 얽힘 자원을 구별하기
보호하다신드롬에서 논리 정보의 복구까지
00 · 계산 · 통신 · 보호O01
강의 안내핵심B01

이 강의에서 답할 질문

“중첩을 쓰는 기계”라는 설명에서 한 걸음 더 나아가, 무엇을 조작하고 무엇을 읽는지 추적한다.

복소수와 행렬곱은 사용하지만 양자 회로·오류 정정의 사전 지식은 가정하지 않는다.
“핵심 + 실습”에서는 개념과 실습을 살펴본다. 유도 과정은 “전체”를 선택하거나 연결 버튼을 누르면 볼 수 있다.

00 · 계산 · 통신 · 보호B01
논리에서 회로로절 안내S01

논리에서 회로로

SECTION 01

논리에서 회로로

참과 거짓을 조합하면 어떻게 계산이 되는가?

01불 연산과 진리표
02NAND와 가산기
03계산 모형

계산한 결과를 다른 곳으로 보내려면 통신 모형이 필요하다.

01 · 논리에서 회로로S01
논리에서 회로로핵심O07 · 1/2

불 대수: 두 값과 네 가지 진리표

여기서는 가장 간단한 불 대수(Boolean algebra)인 두 원소 대수를 다룬다. 변수는 참과 거짓에 대응하는 1과 0의 두 값을 갖는다. 이 대수는 디지털 논리와 논리 게이트를 수학적으로 기술하는 바탕이 된다.

불 대수의 합 연산 \lor는 논리합, 곱 연산 \land는 논리곱에 해당한다. ¬x\neg xxx의 부정을 나타내는 여원이며, 논리합의 역원은 아니다. 다음 항등식들을 살펴보자. x¬x=0x \land \neg x = 0, x¬x=1x \lor \neg x = 1, ¬(¬x)=x\neg(\neg x) = x

진리표(truth table)는 가능한 입력 조합마다 출력값을 정리한 표다. 진리표로 불 함수를 정의할 수 있고, 반대로 주어진 진리표를 불 변수의 논리식으로 표현할 수도 있다. 앞의 항등식들은 각 입력에 대한 진리표를 비교하여 증명할 수 있다.

아래는 네 가지 이항 연산에 대한 진리표이다.

AND OR XOR XNOR
xx yy xyx \land y xyx \lor y xyx \oplus y xyx \odot y
00 00 00 00 00 11
00 11 00 11 11 00
11 00 00 11 11 00
11 11 11 11 00 11

¬(xy)=xy\neg (x \oplus y) = x \odot y이다. XNOR는 xyx \leftrightarrow y로도 쓴다. xxyy를 명제로 보면, 두 명제의 진릿값이 같을 때 참이 되는 동치 연산이다.

01 · 논리에서 회로로O07 · 1/2
논리에서 회로로핵심O07--2 · 2/2

불 대수의 항등식과 De Morgan 법칙

  • x1=1x \lor 1 = 1, x0=0x \land 0 = 0

  • xx=xx \lor x = x, xx=xx \land x = x

  • x(xy)=xx \land (x \lor y) = x, x(xy)=xx \lor (x \land y) = x

  • x(yz)=(xy)(xz)x \land (y \lor z) = (x \land y ) \lor (x \land z)

  • x(yz)=(xy)(xz)x \lor (y \land z) = (x \lor y ) \land (x \lor z)

드모르간의 법칙 ¬x¬y=¬(xy)¬x¬y=¬(xy)\begin{aligned} \neg x \land \neg y &= \neg (x \lor y)\\ \neg x \lor \neg y &= \neg (x \land y) \end{aligned}

01 · 논리에서 회로로O07 · 2/2
논리에서 회로로핵심O08 · 1/2

DNF의 준비: 원하는 입력을 골라내기

주어진 진리표와 같은 출력을 내는 논리식을 어떻게 만들까? NOT, AND, OR만 조합해도 모든 불 함수를 표현할 수 있다.

먼저 두 비트열이 같을 때만 11을 출력하는 함수를 만들자. 비트열 XXii번째 비트를 xix_i, 비트열 YYii번째 비트를 yiy_i라 하자. 두 비트열 XXYY가 같을 때만 11이 되는 함수는 다음과 같다. XY:=(x1y1)(x2y2)(xnyn)X \odot Y := (x_{1} \odot y_{1}) \land (x_{2} \odot y_{2}) \land\cdots\land (x_{n} \odot y_{n}) 이 함수는 XXYY의 각 자리 비트를 비교한다.

XX가 정해져 있으면 다음 항등식을 이용할 수 있다. xy={¬y,x=0y,x=1x \odot y = \begin{cases} \neg y, & x = 0\\ y, & x = 1 \end{cases}

이제 nn개의 비트를 입력받는 불 함수 ff를 생각하자. 출력이 11인 입력들의 집합을 {Xi}i=1m\{X_i\}_{i=1}^{m}이라 하자. 그러면 f(Xi)=1f(X_i) = 1이고, 이 집합에 속하지 않는 입력에서 ff의 값은 00이다.

논리에서 회로로핵심O08--2 · 2/2

DNF: 선택한 입력들을 OR로 묶기

이 함수는 다음과 같이 표현된다. f(Y):=(X1Y)(X2Y)(XmY)f(Y) := (X_1 \odot Y) \lor (X_2 \odot Y) \lor \cdots \lor (X_m \odot Y) 이러한 형태를 논리합 표준형(disjunctive normal form, DNF)이라 한다. 출력이 11인 입력이 없으면 f=0f=0이다.

XOR의 논리합 표준형을 구해 보자. 위 식에서 x=y1x = y_1, y=y2y = y_2로 놓으면 xy=((0x)(1y))((1x)(0y))=(¬xy)(x¬y)\begin{aligned} x \oplus y &= ( (0 \odot x) \land (1 \odot y) ) \lor ( (1 \odot x) \land (0 \odot y) )\\ &= (\neg x \land y) \lor (x \land \neg y) \end{aligned}이다. XNOR의 논리합 표준형은 다음과 같다. xy=(xy)(¬x¬y)x \odot y = (x \land y) \lor (\neg x \land \neg y) [질문] xy=¬(xy)x \odot y = \neg (x \oplus y)와 앞서 구한 XOR의 논리합 표준형을 이용하여 이 식을 유도하자.

같은 함수를 나타내는 논리식은 여러 가지다. 카르노 맵(Karnaugh map)이나 콰인–매클러스키(Quine–McCluskey) 방법으로 논리합 표준형을 단순화할 수 있다. 실제 회로를 구현할 때는 하드웨어에 적합한 형태로 최적화하기도 한다.

논리에서 회로로핵심O09

NAND 하나로 논리 게이트 만들기

논리 게이트는 불 연산을 수행하는 기본 단위다. 게이트를 연결하여 연산의 흐름을 나타낸 것이 논리 회로다. 회로도를 보면 동시에 수행할 수 있는 연산, 순서대로 수행해야 하는 연산, 배선의 복잡도를 파악할 수 있다.

NAND는 AND의 결과에 NOT을 적용하는 게이트다. NAND 게이트만 조합해도 모든 불 함수를 구현할 수 있으므로, NAND를 보편 게이트(universal gate)라 한다.

  • ¬(xx)=¬x\neg (x \land x) = \neg x이므로 NOT 게이트를 대체할 수 있다.

  • NAND와 NOT을 조합하여 AND를 만들 수 있다.

  • ¬((¬x)(¬y))=xy\neg ((\neg x) \land (\neg y)) = x \lor y임을 이용하여 OR을 만들 수 있다.

따라서 새로운 소재나 설계로 디지털 회로를 만들 때, NAND 게이트를 구현하고 연결할 수 있으면 논리적으로는 모든 불 함수를 구현할 수 있다.

전자식 논리 게이트는 보통 트랜지스터로 만든다. 아래 회로는 무슨 게이트인가?

NAND 하나로 논리 게이트 만들기 — 설명 그림
NAND 하나로 논리 게이트 만들기

VCCV_{\mathrm{CC}}는 전원이다. 베이스(base) 전류가 충분하면 NPN 트랜지스터가 켜져 컬렉터(collector)에서 이미터(emitter)로 전류가 흐른다. 두 입력 전압이 모두 높을 때만 출력 전압이 낮아진다. 실제 회로에서는 전압과 저항을 적절한 범위로 정해야 한다.

논리에서 회로로실습L01

진리표와 NAND를 직접 조작하기

논리에서 회로로핵심O10

반가산기: 합과 올림을 나누어 계산하기

가장 간단한 덧셈 회로인 반가산기(half adder)를 살펴보자. 두 1비트 이진수를 더하면 합 비트와 올림 비트가 각각 어떻게 정해지는가?

xx yy (x+y)0(x + y)_0 (x+y)1(x + y)_1
00 00 00 00
00 11 11 00
11 00 11 00
11 11 00 11

합 비트는 XOR로, 올림 비트는 AND로 구한다. 여러 자릿수의 덧셈에서는 아랫자리에서 넘어온 올림도 더해야 한다. 반가산기 두 개와 OR 게이트로 전가산기를 만들고, 전가산기들을 연결하면 된다.

반가산기: 합과 올림을 나누어 계산하기 — 설명 그림
반가산기: 합과 올림을 나누어 계산하기

반가산기의 합 비트 ss와 올림 비트 cc. 배선이 교차하는 곳의 점은 두 배선이 연결되어 있음을 뜻한다.

논리에서 회로로계산B02

계산: 두 반가산기로 전가산기 만들기

두 입력 비트 x,yx,y뿐 아니라 아랫자리에서 넘어온 올림 cinc_{\mathrm{in}}도 더해야 한다. 첫 반가산기의 출력을 s1,c1s_1,c_1, 둘째의 출력을 s,c2s,c_2라 하자.

계산: 두 반가산기로 전가산기 만들기 — 설명 그림
두 반가산기로 전가산기 만들기

x+y=s1+2c1x+y=s_1+2c_1이고 s1+cin=s+2c2s_1+c_{\mathrm{in}}=s+2c_2이므로 x+y+cin=s+2(c1+c2)=s+2cout.x+y+c_{\mathrm{in}}=s+2(c_1+c_2)=s+2c_{\mathrm{out}}.이다. c1=1c_1=1이면 s1=0s_1=0이므로 c2=0c_2=0이다. 따라서 c1,c2c_1,c_2가 동시에 1일 수 없으며, 두 올림 비트의 합은 OR 연산의 결과와 같다.

논리에서 회로로핵심O06 · 1/2

Turing 기계: 테이프·상태·전이 규칙

튜링 기계(Turing machine)는 계산 과정을 수학적으로 기술한 모형이다. 튜링은 이 모형을 통해 기계적인 절차로는 해결할 수 없는 계산 문제가 있음을 보였다.

튜링 기계는 무한히 긴 테이프, 기호를 읽고 쓰는 헤드, 유한한 내부 상태로 기술된다. 현재 상태와 읽은 기호에 따라 쓸 기호, 헤드의 이동 방향, 다음 상태를 정한다. 이 규칙을 전이 함수(transition function)라 한다.

계산 기계의 모델: 튜링 기계 — 설명 그림
계산 기계의 모델: 튜링 기계
01 · 논리에서 회로로O06 · 1/2
논리에서 회로로핵심O06--2 · 2/2

계산 가능성과 보편 Turing 기계

유한한 기계적 절차로 계산할 수 있는 함수는 튜링 기계로도 계산할 수 있다는 주장을 처치–튜링 논제(Church–Turing thesis)라 한다.

이 논제는 비형식적인 “기계적 절차에 의한 계산”과 수학적 계산 모형을 연결한다. 여기서 계산 가능성은 계산 속도와 다른 개념이다. 한편 튜링 계산 가능성과 부분 재귀 함수로의 표현 가능성이 동치라는 명제는 수학적 정리다.

적절한 입력을 받아 임의의 튜링 기계를 모사할 수 있는 튜링 기계를 보편 튜링 기계(universal Turing machine)라 한다. 그 구성 방법은 여러 가지이며, 테이프의 기호를 0011 두 종류로 제한해도 구성할 수 있다.

튜링 기계보다 더 많은 종류의 함수를 계산할 수 있는 계산 기계는 없을까?

어떤 계산 모형이나 프로그래밍 언어가 튜링 기계를 모사할 수 있으면, 그 모형은 튜링 기계가 할 수 있는 계산을 모두 수행할 수 있다. 이 성질을 튜링 완전성(Turing completeness)이라 한다.

01 · 논리에서 회로로O06 · 2/2
잡음 속에서 비트 보내기절 안내S02

잡음 속에서 비트 보내기

SECTION 02

잡음 속에서 비트 보내기

정보를 압축하는 것과 잡음에도 정확하게 전달하는 것은 어떻게 다른가?

01정보량과 입력 분포
02채널·반복 부호·거리
03전송률과 용량

고전 통신의 자원과 한계를 살펴본 뒤, 큐비트의 상태와 측정 결과를 구별한다.

02 · 잡음 속에서 비트 보내기S02
잡음 속에서 비트 보내기핵심C01

통신: 계산한 결과를 다른 곳에 전달하기

통신의 한 과제는 송신자가 고른 메시지 MM을 수신자가 알아내게 하는 것이다. 신호가 도착하더라도 잡음 때문에 메시지를 잘못 읽을 수 있다. 수신자의 추정값을 M̂\widehat M이라 하자. Perr=Pr(M̂M).P_{\mathrm{err}}=\Pr(\widehat M\ne M). 정보원 부호화 (source coding)는 메시지를 효율적으로 표현하여 평균 길이를 줄이는 과정이다. 채널 부호화 (channel coding)는 중복 정보를 추가하여 잡음이 있어도 메시지를 구별할 수 있게 하는 과정이다. 압축과 오류 정정은 목적이 다르므로 함께 사용할 수 있다.

한 번의 채널 사용과 1초는 같은 단위가 아니다. 이하에서는 주로 채널 사용 한 번당 전달하는 비트 수를 센다.

통신: 계산한 결과를 다른 곳에 전달하기 — 설명 그림
통신: 계산한 결과를 다른 곳에 전달하기

아래 세 가지를 구별하며 읽자.

  • 어떤 메시지를 보내는가?

  • 어떤 채널과 사전 자원을 사용하는가?

  • 오류를 얼마나 허용하며, 비용은 무엇으로 세는가?

참고: [SH48]. 통신 모형과 두 종류의 부호화.

02 · 잡음 속에서 비트 보내기C01
잡음 속에서 비트 보내기핵심C02

정보량: 흔한 결과와 드문 결과는 다르다

확률변수 XX가 값 xx을 가질 확률을 p(x)p(x)라 하자. 이 결과의 정보량은 log2p(x)-\log_2p(x)이며, 그 평균을 섀넌 엔트로피(Shannon entropy)라 한다. H(X)=xp(x)log2p(x).H(X)=-\sum_x p(x)\log_2p(x). 로그의 밑이 2이므로 단위는 비트다. 연속성을 이용하여 0log20=00\log_2 0=0으로 정한다. 항상 같은 결과가 나오면 H=0H=0이고, 0과 1이 같은 확률로 나오는 이진 정보원이면 H=1H=1이다.

Pr(X=1)=q\Pr(X=1)=q인 이진 정보원에 대해서는 h2(q)=qlog2q(1q)log2(1q).h_2(q)=-q\log_2q-(1-q)\log_2(1-q). 엔트로피는 물리적 큐비트 수나 진폭 개수와 같은 양이 아니다.

정보량: 흔한 결과와 드문 결과는 다르다 — 설명 그림
정보량: 흔한 결과와 드문 결과는 다르다

예를 들어 q=0.1q=0.1이면 엔트로피는 H(X)0.469H(X)\simeq0.469비트다. 독립적으로 반복되는 긴 메시지에서는 이 값이 무손실 압축의 점근적 한계를 정한다. 각 결과를 반드시 0.4690.469개의 이진 기호로 적어야 한다는 뜻은 아니다. 기호 사이에 상관관계가 있으면 개별 기호의 엔트로피가 아니라 긴 기호열의 엔트로피율을 고려해야 한다.

참고: [SH48]. 여기서는 독립·동일분포 정보원의 기초만 다룬다.

02 · 잡음 속에서 비트 보내기C02
잡음 속에서 비트 보내기핵심C03

이진 대칭 채널: 오류 확률과 전송률

보낸 비트가 독립적으로 확률 pp로 뒤집히는 이진 대칭 채널 (binary symmetric channel, BSC)을 생각하자. Y=XN,Pr(N=1)=p,0p12.Y=X\oplus N,\qquad \Pr(N=1)=p,\quad 0\le p\le\tfrac12. NNXX와 독립이다. p=1/2p=1/2이면 출력은 입력에 대한 정보를 주지 않는다. 수신값을 통해 입력에 대해 얻는 평균 정보는 상호정보량 (mutual information)이다. I(X;Y)=H(Y)H(YX).I(X;Y)=H(Y)-H(Y\mid X). 조건부 엔트로피 H(YX)H(Y\mid X)XX를 알고도 남는 YY의 평균 불확실성이다. 입력 분포까지 최적화한 최댓값이 이 채널의 용량이다. C=maxp(x)I(X;Y)=1h2(p).C=\max_{p(x)}I(X;Y)=1-h_2(p).

이진 대칭 채널: 오류 확률과 전송률 — 설명 그림
이진 대칭 채널: 오류 확률과 전송률

kk비트 메시지를 보내는 데 채널을 nn번 사용하면 전송률은 R=k/nR=k/n이다. 이 무기억 채널 (memoryless channel)에서는 R<CR<C일 때 충분히 긴 부호를 적절히 선택하여 블록 오류 확률을 작게 할 수 있다. 어떤 부호나 이러한 성능을 낸다는 뜻도, 유한한 부호 길이에서 오류가 전혀 없다는 뜻도 아니다.

참고: [SH48]. 용량은 채널 사용 한 번당 비트 수다.

02 · 잡음 속에서 비트 보내기계산 C04C03
잡음 속에서 비트 보내기핵심O11

고전적 반복 부호: 중복으로 오류 줄이기

메시지를 전송·저장할 비트열에 대응시키는 것을 부호화(encoding)라 한다. 부호화는 데이터 압축에도 사용하지만, 여기서는 오류를 줄이기 위한 부호화를 다룬다.

앞서 본 통신 채널뿐 아니라 고전적인 저장과 연산에도 오류가 생길 수 있다. 여기서는 독립적인 비트 반전만 가정한다. 가장 단순한 방법은 00000\mapsto000, 11111\mapsto111로 세 번 반복하고 다수결로 읽는 것이다. 각 비트가 독립적으로 확률 ϵ\epsilon로 뒤집힌다고 하자.

00을 부호화하여 보냈는데 다수결 결과가 11이 될 확률은 ϵ3+3(1ϵ)ϵ2=3ϵ22ϵ3\epsilon^3 + 3(1-\epsilon)\epsilon^2 = 3\epsilon^2 - 2 \epsilon^3이다. 이는 0<ϵ<1/20<\epsilon<1/2일 때 반복 없이 보낸 오류 확률 ϵ\epsilon보다 작으며, ϵ1\epsilon\ll1이면 3ϵ23\epsilon^2에 가깝다.

판정 수신열 확률
00 000000 (1ϵ)3(1-\epsilon)^3
00 001001 (1ϵ)2ϵ(1-\epsilon)^2\epsilon
00 010010 (1ϵ)2ϵ(1-\epsilon)^2\epsilon
00 100100 (1ϵ)2ϵ(1-\epsilon)^2\epsilon
11 111111 ϵ3\epsilon^3
11 011011 (1ϵ)ϵ2(1-\epsilon)\epsilon^2
11 101101 (1ϵ)ϵ2(1-\epsilon)\epsilon^2
11 110110 (1ϵ)ϵ2(1-\epsilon)\epsilon^2
02 · 잡음 속에서 비트 보내기O11
잡음 속에서 비트 보내기핵심O39

해밍 거리: 오류 검출과 정정의 차이

두 비트열의 해밍 거리(Hamming distance)는 서로 다른 자리의 수다. 아래의 a와 b는 첫째와 셋째 자리에서 다르므로 거리가 2다. 부호 거리(code distance)는 서로 다른 부호어 쌍의 해밍 거리 중 최솟값이다.

부호어
a 0000
b 1010
c 1100
d 0011
a b c d
a 0 2 2 2
b 2 0 2 2
c 2 2 0 4
d 2 2 4 0

위 부호의 거리는 22다. 거리가 dd인 부호는 최대 d1\lfloor d-1 \rfloor개의 비트 반전 오류를 검출하거나, 최대 (d1)/2\lfloor (d-1)/2 \rfloor개의 비트 반전 오류를 정정할 수 있다. [질문] 검출과 정정에 필요한 거리 조건이 왜 다른가?

02 · 잡음 속에서 비트 보내기O39
잡음 속에서 비트 보내기계산C04

계산: 채널 용량과 반복 부호의 비용

Pr(X=1)=q\Pr(X=1)=q라 하면 r:=Pr(Y=1)=(1q)p+q(1p)=p+q(12p).r:=\Pr(Y=1)=(1-q)p+q(1-p)=p+q(1-2p). 어떤 XX를 고정해도 YY의 조건부 엔트로피는 h2(p)h_2(p)다. 따라서 I(X;Y)=h2(r)h2(p).I(X;Y)=h_2(r)-h_2(p). 이진 엔트로피는 11 이하이고 q=1/2q=1/2이면 r=1/2r=1/2이므로 maxqI(X;Y)=1h2(p).\max_q I(X;Y)=1-h_2(p). p=1/2p=1/2일 때는 모든 qq에 대해 I=0I=0이다. p=0p=0일 때는 I=h2(q)I=h_2(q)이며 균등한 입력에서 용량 11을 얻는다.

p=0.1p=0.1인 예를 살펴보자. C=1h2(0.1)0.531.C=1-h_2(0.1)\simeq0.531. 각 비트를 세 번 반복하여 보내고 다수결로 복호하면, 오류가 두 번 또는 세 번 발생한 경우에 잘못 판정한다. prep=3p2(1p)+p3=3p22p3.p_{\mathrm{rep}}=3p^2(1-p)+p^3=3p^2-2p^3. prep=0.028,Rrep=13.p_{\mathrm{rep}}=0.028,\qquad R_{\mathrm{rep}}=\frac13. 오류 확률은 줄지만, 한 비트를 보내는 데 채널을 세 번 사용한다. 이 유한 길이의 부호가 채널 용량을 달성하는 것은 아니다.

p=0p=0, p=1/2p=1/2에서는 무엇이 달라지는가? 독립성 가정을 버리면 3p22p33p^2-2p^3을 그대로 쓸 수 있는가?

참고: [SH48]. 앞서 본 반복 부호의 원리는 뒤의 양자 오류 정정 부분과 연결된다.

잡음 속에서 비트 보내기실습L02

잡음·정보량·반복 부호의 대가

한 큐비트로 간섭 만들기절 안내S03

한 큐비트로 간섭 만들기

SECTION 03

한 큐비트로 간섭 만들기

같은 측정 확률을 가진 두 상태가 왜 다르게 계산되는가?

01상태 준비와 측정
02파울리와 아다마르
03상대 위상과 간섭

한 큐비트의 연산을 여러 큐비트의 회로로 확장한다.

03 · 한 큐비트로 간섭 만들기S03
한 큐비트로 간섭 만들기핵심A01

큐비트와 측정: 한 번의 출력은 하나의 비트

고전 비트는 0 또는 1을 나타낸다. 큐비트(qubit)는 두 기저 상태 |0,|1\left|0\right\rangle,\left|1\right\rangle을 갖는 양자계다. 먼저 순수 상태를 다루자. |ψ=α|0+β|1,|α|2+|β|2=1.\left|\psi\right\rangle=\alpha\left|0\right\rangle+\beta\left|1\right\rangle,\qquad |\alpha|^2+|\beta|^2=1. 두 기저 상태 |0,|1\left|0\right\rangle,\left|1\right\rangle를 구별하는 측정에서는 0 또는 1을 얻으며, 각 결과의 확률은 Pr(0)=|α|2,Pr(1)=|β|2\Pr(0)=|\alpha|^2,\qquad \Pr(1)=|\beta|^2이다. 한 번의 측정으로 α,β\alpha,\beta를 모두 읽어 내는 것은 아니다.

예를 들어 |ψ=3|0/2+|1/2\left|\psi\right\rangle=\sqrt3\left|0\right\rangle/2+\left|1\right\rangle/2이면 두 측정 결과의 확률은 3/4,1/43/4,1/4다. 이 확률을 실험으로 확인하려면 매번 같은 상태를 새로 준비한 뒤 측정하는 과정을 반복한다.

큐비트와 측정: 한 번의 출력은 하나의 비트 — 설명 그림
큐비트와 측정: 한 번의 출력은 하나의 비트

|0\left|0\right\rangle|1\left|1\right\rangle은 서로 직교한다. 계수의 절댓값 제곱이 확률이라는 규칙이 양자 계산의 출력과 연결된다.

정규화된 두 상태벡터가 전체 위상만 다르면 같은 순수 상태를 나타낸다. 이러한 순수 상태들의 공간을 P()P(\mathcal H)라 쓴다.

03 · 한 큐비트로 간섭 만들기A01
한 큐비트로 간섭 만들기핵심O12a

양자 게이트는 상태를 어떻게 바꾸는가?

고전 논리 게이트와 마찬가지로 양자 게이트도 입력 상태에 연산을 수행한다. 이상적인 닫힌 양자계에서는 상태벡터에 유니타리(unitary) 행렬 UU가 작용한다. |ψU|ψ,UU=I.\left|\psi\right\rangle\longmapsto U\left|\psi\right\rangle,\qquad U^\dagger U=I.

이 조건을 만족하는 연산은 내적과 정규화를 보존한다. Uψ|Uψ=ψ|UU|ψ=1.\langle U\psi|U\psi\rangle=\left\langle\psi\right|U^\dagger U\left|\psi\right\rangle=1. 또한 U1=UU^{-1}=U^\dagger이므로 가역적이다. 다만 측정, 초기화, 부분계를 버리는 과정까지 모두 하나의 유니타리 게이트로 나타낼 수 있는 것은 아니다.

회로는 상태 준비 → 게이트 → 측정으로 구성된다. 복소수 계수를 조절한 뒤, 측정 결과의 확률을 이용하여 답을 얻는다.

고전 게이트와의 차이는 무엇인가?

  1. 단일 큐비트의 입력도 두 기저 상태에만 한정되지 않는다.

  2. 가능한 유니타리 행렬은 무한히 많다.

  3. 닫힌 계의 게이트는 입력과 출력 공간의 차원이 같다.

  4. 미지의 임의 상태를 완벽하게 복제하는 게이트는 없다.

여러 큐비트의 공간, 복제 불가능성, 보편 게이트는 필요한 예제를 본 뒤 구체적으로 다룬다.

03 · 한 큐비트로 간섭 만들기O12a
한 큐비트로 간섭 만들기핵심O15a

파울리 게이트: 비트와 위상의 변화

I, X, Y, Z 게이트는 각각 항등 연산자와 파울리(Pauli) 연산자에 해당한다. [A,B]+=AB+BA[A,B]_+ = A B + B A로 놓으면 파울리 연산자는 다음 관계를 만족한다. X2=Y2=Z2=IX^2 = Y^2 = Z^2 = I XY=YX=iZYZ=ZY=iXZX=XZ=iY\begin{aligned} XY &= - YX = \mathrm{i}Z\\ YZ &= - ZY = \mathrm{i}X\\ ZX &= - XZ = \mathrm{i}Y \end{aligned} 이 세 관계는 XYZ=iIXYZ = \mathrm{i}I로도 쓸 수 있다.

여기서 계산 기저는 Z 연산자의 행렬 표현이 대각행렬이 되는 기저다. 이 기저에서 각 게이트를 행렬로 쓰면 다음과 같다. (1001),(0110),(0ii0),(1001)\begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix},\, \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix},\,\, \begin{pmatrix} 0 & -\mathrm{i}\\ \mathrm{i}& 0 \end{pmatrix},\,\, \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}

이 행렬들은 모두 에르미트(Hermitian) 행렬인 동시에 유니타리 행렬이다.

X|0=|1,X|1=|0.X\left|0\right\rangle=\left|1\right\rangle,\quad X\left|1\right\rangle=\left|0\right\rangle. Z|0=|0,Z|1=|1.Z\left|0\right\rangle=\left|0\right\rangle,\quad Z\left|1\right\rangle=-\left|1\right\rangle. XX는 계산 기저의 0과 1을 바꾸고, ZZ는 두 성분 사이의 상대적인 부호를 바꾼다. Y|0=i|1,Y|1=i|0.Y\left|0\right\rangle=i\left|1\right\rangle,\quad Y\left|1\right\rangle=-i\left|0\right\rangle. 상태에 작용하는 순서에도 주의하자. XZ=ZXXZ=-ZX이므로 행렬로는 순서가 중요하다.

Y=iXZY=iXZ임을 확인하자. YY가 단순한 “확률적 비트 반전”와 다른 이유는 무엇인가?

03 · 한 큐비트로 간섭 만들기O15a
한 큐비트로 간섭 만들기핵심O15b

아다마르 게이트: 중첩을 만들고 다시 합치기

아다마르(Hadamard) 게이트는 계산 기저 상태 |0,|1\left|0\right\rangle,\left|1\right\rangle을 각각 XX의 고유 상태 |+,|\left|+\right\rangle,\left|-\right\rangle로 보낸다. Ĥ:=12(Ẑ+X̂)\hat{H} := \frac{1}{\sqrt{2}}(\hat{Z} + \hat{X}) 계산 기저에 대한 작용은 Ĥ|0=12(|0+|1)Ĥ|1=12(|0|1)\begin{aligned} \hat{H} \left|0\right\rangle &= \frac{1}{\sqrt{2} } \left( \left|0\right\rangle + \left|1\right\rangle \right)\\ \hat{H} \left|1\right\rangle &= \frac{1}{\sqrt{2} } \left( \left|0\right\rangle - \left|1\right\rangle \right) \end{aligned}이며, 행렬 표현은 Ĥ=12(1111)\hat{H} = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}이다. 두 번 적용하면 처음 상태로 돌아온다. Ĥ2=12(2Î2+ẐX̂+X̂Ẑ)=Î\hat{H}^2 = \frac{1}{2} (2 \hat{I}^2 + \hat{Z}\hat{X} + \hat{X}\hat{Z}) = \hat{I}

아다마르 게이트: 중첩을 만들고 다시 합치기 — 설명 그림
아다마르 게이트: 중첩을 만들고 다시 합치기

|+,|\left|+\right\rangle,\left|-\right\rangle는 서로 직교하며, XX의 고윳값이 각각 +1,1+1,-1인 상태다. 계산 기저로 측정하면 두 상태 모두 0과 1이 각각 확률 1/2로 나온다.

그러나 HH를 한 번 더 적용한 뒤 측정하면 두 상태를 확실히 구별할 수 있다. 같은 측정 확률을 주는 두 상태가 반드시 같은 양자 상태인 것은 아니다.

03 · 한 큐비트로 간섭 만들기O15b
한 큐비트로 간섭 만들기핵심A03

상대 위상이 측정 확률로 바뀌는 간섭

두 상태 |+=(|0+|1)/2\left|+\right\rangle=(\left|0\right\rangle+\left|1\right\rangle)/\sqrt2|=(|0|1)/2\left|-\right\rangle=(\left|0\right\rangle-\left|1\right\rangle)/\sqrt2를 바로 측정하면 0과 1이 각각 확률 1/21/2로 나온다. 그러나 두 상태는 같지 않다. H|+=|0,H|=|1.H\left|+\right\rangle=\left|0\right\rangle,\qquad H\left|-\right\rangle=\left|1\right\rangle. 중간에 위상 게이트 P(ϕ)=diag(1,eiϕ)P(\phi)=\operatorname{diag}(1,e^{i\phi})를 넣어보자.

상대 위상이 측정 확률로 바뀌는 간섭 — 설명 그림
상대 위상이 측정 확률로 바뀌는 간섭

이 회로의 출력 확률은 Pr(0)=cos2ϕ2,Pr(1)=sin2ϕ2\Pr(0)=\cos^2\frac\phi2,\qquad \Pr(1)=\sin^2\frac\phi2이다. 상대 위상을 바꾸면 마지막 간섭에 따른 측정 확률이 달라진다.

상대 위상이 측정 확률로 바뀌는 간섭 — 설명 그림
상대 위상이 측정 확률로 바뀌는 간섭

상태 전체에 같은 위상 eiχe^{i\chi}를 곱하는 것과, 한 성분에만 위상을 곱하는 것은 다르다. 계산은 다음 슬라이드에서 확인하자.

03 · 한 큐비트로 간섭 만들기계산 A04A03
한 큐비트로 간섭 만들기계산A04

계산: 간섭 회로의 출력과 중간 측정

앞 슬라이드의 회로는 왼쪽부터, 수식의 연산자 곱은 오른쪽부터 계산하자. |0H|0+|12P(ϕ)|0+eiϕ|12,HP(ϕ)H|0=12[(1+eiϕ)|0+(1eiϕ)|1]=eiϕ/2[cosϕ2|0isinϕ2|1].\begin{aligned} \left|0\right\rangle&\xrightarrow{H}\frac{\left|0\right\rangle+\left|1\right\rangle}{\sqrt2} \xrightarrow{P(\phi)}\frac{\left|0\right\rangle+e^{i\phi}\left|1\right\rangle}{\sqrt2},\\ HP(\phi)H\left|0\right\rangle &=\frac12\bigl[(1+e^{i\phi})\left|0\right\rangle+(1-e^{i\phi})\left|1\right\rangle\bigr]\\ &=e^{i\phi/2}\left[\cos\frac\phi2\left|0\right\rangle-i\sin\frac\phi2\left|1\right\rangle\right]. \end{aligned} 따라서 |1+eiϕ|2/4=cos2(ϕ/2)|1+e^{i\phi}|^2/4=\cos^2(\phi/2)이고 두 출력 확률의 합은 1이다. 공통 인자 eiϕ/2e^{i\phi/2}는 측정 확률에 영향을 주지 않는다.

ϕ=0\phi=0이면 결과는 반드시 0이고, ϕ=π\phi=\pi이면 반드시 1이다.

중간에 측정하면 어떻게 되는가?HH 뒤에서 계산 기저로 측정하면 0과 1이 각각 확률 1/2로 나온다. 어느 결과를 얻더라도 마지막 HH 뒤의 측정에서는 다시 0과 1이 각각 확률 1/2로 나온다. 중간 측정 결과를 사용하지 않으면 Pr(0)=1212+1212=12.\Pr(0)=\tfrac12\cdot\tfrac12+\tfrac12\cdot\tfrac12=\tfrac12.이므로 상대 위상에 따른 변화가 사라진다. 중첩을 단순히 “0 또는 1이지만 아직 모르는 상태”로 볼 수 없는 이유다. 밀도 행렬을 도입한 뒤 이 차이를 다시 확인한다.

한 큐비트로 간섭 만들기실습L03

큐비트에 게이트를 가하고 측정하기

여러 큐비트와 얽힘절 안내S04

여러 큐비트와 얽힘

SECTION 04

여러 큐비트와 얽힘

서로 얽히게 하는 것과 같은 상태를 복사하는 것은 왜 다른가?

01텐서곱과 연산자 위치
02CNOT과 벨 상태
03복제 불가능성

이제 전체 상태와 부분계의 관측을 구별할 수 있다.

04 · 여러 큐비트와 얽힘S04
여러 큐비트와 얽힘핵심O02

여러 큐비트: 복합계와 텐서곱

두 양자계를 하나의 복합계로 다루려면 어떻게 해야 할까? 계 A와 계 B의 상태 공간을 각각 P(A)\operatorname{P}(\mathcal{H}_{\textrm{A}})P(B)\operatorname{P}(\mathcal{H}_{\textrm{B}})라 하자. 두 계를 합친 복합계를 A+BA+B라 할 때, P(A+B)\operatorname{P}(\mathcal{H}_{\textrm{A+B}})의 상태 공간 A+B\mathcal{H}_{\textrm{A+B}}는 기본적으로 텐서곱 A+B=AB\mathcal{H}_{\textrm{A+B}} = \mathcal{H}_{\textrm{A}} \otimes \mathcal{H}_{\textrm{B}}로 주어진다. 다만 모든 상황에서 단순한 텐서곱만으로 충분한 것은 아니다.

한 입자의 상태 공간으로부터 다입자계의 상태 공간을 구성할 때는 입자의 구별 가능성에 주의해야 한다. 동일한 보손에는 대칭 부분공간을, 동일한 페르미온에는 반대칭 부분공간을 사용한다. 반면 위치와 스핀처럼 서로 구분되는 자유도를 결합할 때는 텐서곱을 사용한다.

두 큐비트의 계산 기저는 |00,|01,|10,|11\left|00\right\rangle,\ \left|01\right\rangle,\ \left|10\right\rangle,\ \left|11\right\rangle 이다. 계수 네 개로 임의의 순수 상태를 적는다. |Ψ=c00|00+c01|01+c10|10+c11|11.\left|\Psi\right\rangle=c_{00}\left|00\right\rangle+c_{01}\left|01\right\rangle+c_{10}\left|10\right\rangle+c_{11}\left|11\right\rangle. 예를 들어 두 독립적인 상태의 곱은 (a|0+b|1)(c|0+d|1)=ac|00+ad|01+bc|10+bd|11.\begin{aligned} &(a\left|0\right\rangle+b\left|1\right\rangle)\otimes(c\left|0\right\rangle+d\left|1\right\rangle)\\ &=ac\left|00\right\rangle+ad\left|01\right\rangle+bc\left|10\right\rangle+bd\left|11\right\rangle. \end{aligned} nn개 큐비트의 공간 차원은 2n2^n이다. 그러나 한 번의 계산 기저 측정에서는 nn비트 문자열 하나만 얻는다. 큰 상태 공간과 한 번에 읽을 수 있는 정보는 구별해야 한다.

여러 큐비트와 얽힘계산O03

계산: 텐서곱의 구성과 기저

두 계 A와 B의 복합계에 대해 생각해 보자. 먼저 벡터 공간의 카테시안 곱의 정의는 다음과 같다. A×B={(|ψ,|ϕ)||ψA,|ϕB}\mathcal{H}_{\mathrm{A}} \times \mathcal{H}_{\mathrm{B}} = \left\{ (\left|\psi\right\rangle, \left|\phi\right\rangle) | \left|\psi\right\rangle \in \mathcal{H}_{\textrm{A}}, \left|\phi\right\rangle \in \mathcal{H}_{\textrm{B}} \right\} AB=F(A×B)/R\mathcal{H}_{\mathrm{A}} \otimes \mathcal{H}_{\mathrm{B}} = F(\mathcal{H}_{\mathrm{A}}\times\mathcal{H}_{\mathrm{B}})/R FF는 위 순서쌍들을 기저로 하는 자유 복소 벡터 공간이다. RR은 아래 쌍선형 관계의 양변 차이로 생성되는 부분공간이다. 여기서는 유한차원 공간을 다룬다. 앞으로 다음 표기법을 사용한다. |ψϕ|ψ|ϕ|ψ|ϕ\left|\psi\phi\right\rangle \equiv \left|\psi\right\rangle\left|\phi\right\rangle \equiv \left|\psi\right\rangle\otimes\left|\phi\right\rangle 몫공간에서는 다음 쌍선형 관계가 성립한다. (α|ψ)(|ϕ)=α(|ψ|ϕ)=(|ψ)(α|ϕ)(|ψ)(|ϕ)+((|ζ)(|ϕ))=(|ψ+|ζ)(|ϕ)(|ψ)(|ϕ)+((|ψ)(|ζ))=(|ψ)(|ϕ+|ζ)\begin{aligned} (\alpha\left|\psi\right\rangle)(\left|\phi\right\rangle) &=\alpha(\left|\psi\right\rangle\left|\phi\right\rangle)=(\left|\psi\right\rangle)(\alpha\left|\phi\right\rangle)\\ (\left|\psi\right\rangle)(\left|\phi\right\rangle) + ((\left|\zeta\right\rangle)(\left|\phi\right\rangle)) &= (\left|\psi\right\rangle + \left|\zeta\right\rangle)(\left|\phi\right\rangle)\\ (\left|\psi\right\rangle)(\left|\phi\right\rangle) + ((\left|\psi\right\rangle)(\left|\zeta\right\rangle)) &= (\left|\psi\right\rangle)(\left|\phi\right\rangle + \left|\zeta\right\rangle) \end{aligned} 계 A와 B의 기저를 {|en}\{\left|e_n\right\rangle\}, {|em}\{\left|e_m'\right\rangle\}라 하면 텐서곱 공간의 기저는 {|en,em}\{\left|e_n,e_m'\right\rangle\}이다.

곱벡터가 위 벡터들의 선형 결합으로 표현되는지 먼저 확인하자. |ψϕ=(nψn|en)(mϕm|em)=nmψnϕm|en,em\begin{aligned}\left|\psi\phi\right\rangle &= \left( \sum_{n} \psi_n \left|e_n\right\rangle \right) \left( \sum_{m} \phi_m \left|e_m'\right\rangle \right) \\ &= \sum_{nm} \psi_n \phi_m \left|e_n,e_m'\right\rangle\end{aligned} 따라서 이 벡터들은 텐서곱 공간을 생성한다. 원래 기저가 정규직교기저이면 en,em|er,es=δnrδms\left\langle e_n,e_m'\middle|e_r,e_s'\right\rangle=\delta_{nr}\delta_{ms}이므로 이들은 서로 독립이다.

|Φ=n,mcnm|en,em\left|\Phi\right\rangle = \sum_{n,m} c_{nm} \left|e_n, e_m'\right\rangle 각 부분계의 상태는 복합계의 상태와 어떻게 대응할까? |ψ\left|\psi\right\rangle에 해당하는 상태와 |ϕ\left|\phi\right\rangle에 해당하는 상태의 곱은 다음과 같이 표현된다. z(|ψ|ϕ)=(z|ψ)|ϕ=|ψ(z|ϕ)\begin{aligned} z (\left|\psi\right\rangle\left|\phi\right\rangle) = (z\left|\psi\right\rangle)\left|\phi\right\rangle = \left|\psi\right\rangle (z \left|\phi\right\rangle) \end{aligned} 즉, 각 부분계에서 같은 물리적 순수 상태를 나타내는 상태벡터의 동치류(ray)를 정하면 복합계의 곱상태도 정해진다. 단, 모든 복합계 상태가 곱상태인 것은 아니다.

여러 큐비트와 얽힘핵심O22

연산자 표기: 어느 큐비트에 작용하는가?

  1. 이하에서는 연산자를 나타내는 모자 기호(hat)를 생략한다.

  2. XiX_iIIi1XIIni\underbrace{I \otimes \cdots \otimes I}_{i-1} \otimes X \otimes \underbrace{ I \otimes \cdots \otimes I}_{n-i}로 해석한다.

  3. ABCDABCD처럼 첨자 없이 연산자를 나열하면, 미리 정한 큐비트 순서에 따른 텐서곱을 뜻한다. 예를 들어 A1B2C3D4A_1 B_2 C_3 D_4로 해석할 수 있다.

이 표기법을 사용한 예는 다음과 같다. IXXIZ=IXXIZ=X2X3Z5I \otimes X \otimes X \otimes I \otimes Z = IXXIZ = X_2 X_3 Z_5

연산자 표기: 어느 큐비트에 작용하는가? — 설명 그림
연산자 표기: 어느 큐비트에 작용하는가?

서로 다른 큐비트에 작용하는 인자들은 가환한다. X2X3Z5|00001=|01101.X_2X_3Z_5\left|00001\right\rangle=-\left|01101\right\rangle. 둘째ㆍ셋째 비트가 뒤집히고, 다섯째 비트가 1이어서 부호가 바뀐다. 같은 큐비트에 두 연산자를 적용할 때는 곱의 순서를 따로 확인한다.

04 · 여러 큐비트와 얽힘O22
여러 큐비트와 얽힘핵심O17a

CNOT: 한 큐비트의 값으로 다른 큐비트 제어하기

제어 NOT(CNOT) 게이트를 다음과 같이 정의한다. |00|Î+|11|X̂=12(Î+Ẑ)Î+12(ÎẐ)X̂\left|0\right\rangle\!\left\langle 0\right| \otimes \hat{I} + \left|1\right\rangle\!\left\langle 1\right| \otimes \hat{X} = \frac{1}{2} (\hat{I} + \hat{Z}) \otimes \hat{I} + \frac{1}{2} (\hat{I} - \hat{Z}) \otimes \hat{X}

계산 기저에서의 작용은 CNOT1,2|00=|00,CNOT1,2|01=|01,CNOT1,2|10=|11,CNOT1,2|11=|10\begin{aligned} \operatorname{CNOT}_{1,2} \left|00\right\rangle &= \left|00\right\rangle,\quad \operatorname{CNOT}_{1,2} \left|01\right\rangle = \left|01\right\rangle,\\ \operatorname{CNOT}_{1,2} \left|10\right\rangle &= \left|11\right\rangle,\quad \operatorname{CNOT}_{1,2} \left|11\right\rangle = \left|10\right\rangle \end{aligned}이다. 첫째 큐비트를 제어 큐비트(control qubit), 둘째를 표적 큐비트(target qubit)라 한다. 계산 기저 상태 사이의 변환은 불 연산을 사용하여 CNOT1,2|q0q1=|q0(q0q1)\operatorname{CNOT}_{1,2} \left|q_0 q_1\right\rangle = \left|q_0 (q_0 \oplus q_1)\right\rangle로 나타낼 수 있다.

표적 큐비트의 입력 q1q_1가 정해져 있으면 CNOT1,2|q0q1={|q0q0,q1=0|q0q0,q1=1\operatorname{CNOT}_{1,2} \left|q_0 q_1\right\rangle = \begin{cases} \left|q_0 q_0\right\rangle,& q_1 = 0\\ \left|q_0 \bar{q}_0\right\rangle,& q_1 = 1 \end{cases}이다. 계산 기저 입력에서 표적이 00이면 제어 비트의 값을 복사하고, 11이면 그 값을 반전하여 복사한다. 이는 임의의 양자 상태를 복제한다는 뜻이 아니다.

[질문] 임의의 입력 상태에 CNOT을 적용해 보고, 양자 복제 불가 정리(no-cloning theorem)와 모순되지 않음을 확인하자.

여러 큐비트와 얽힘계산O17b

계산: CNOT의 두 방향과 행렬

행렬의 기저 순서는 {|00,|01,|10,|11}\{\left|00\right\rangle,\left|01\right\rangle,\left|10\right\rangle,\left|11\right\rangle\}이다. CNOT1,2=(1000010000010010),CNOT2,1=(1000000100100100)\operatorname{CNOT}_{1,2} = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{pmatrix},\,\,\, \operatorname{CNOT}_{2,1} = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \end{pmatrix}

첫 번째 행렬은 |10\left|10\right\rangle|11\left|11\right\rangle을 바꾸고, 두 번째 행렬은 |01\left|01\right\rangle|11\left|11\right\rangle을 바꾼다. 어느 큐비트가 제어 비트인지 행렬의 기저 순서와 함께 확인해야 한다. U122=U212=I,U12=U12,U21=U21.U_{12}^2=U_{21}^2=I,\qquad U_{12}^\dagger=U_{12},\quad U_{21}^\dagger=U_{21}. 벡터 |ψ=a|00+b|01+c|10+d|11\left|\psi\right\rangle=a\left|00\right\rangle+b\left|01\right\rangle+c\left|10\right\rangle+d\left|11\right\rangle에 대해서는 U12|ψ=a|00+b|01+d|10+c|11.U_{12}\left|\psi\right\rangle=a\left|00\right\rangle+b\left|01\right\rangle+d\left|10\right\rangle+c\left|11\right\rangle. [질문] U12U_{12}를 다시 작용하여 원래 상태로 돌아감을 확인하자.

여러 큐비트와 얽힘핵심A02

두 큐비트 회로: 벨 상태와 측정

양자 회로는 상태를 준비하고 게이트를 순서대로 적용한 뒤 측정하는 절차를 나타낸다. 회로도는 왼쪽에서 오른쪽으로 읽는다. 반면 연산자 곱은 오른쪽 연산자부터 상태에 작용한다.

두 큐비트 회로: 벨 상태와 측정 — 설명 그림 고전적 측정 결과
두 큐비트 회로: 벨 상태와 측정

위 회로는 |00\left|00\right\rangle(|00+|11)/2(\left|00\right\rangle+\left|11\right\rangle)/\sqrt2로 바꾼다. 측정하면 00과 11이 각각 확률 1/21/2로 나온다. 앞서 정의한 두 게이트로 |00|+|0(|00+|11)/2\left|00\right\rangle\to\left|+\right\rangle\left|0\right\rangle\to(\left|00\right\rangle+\left|11\right\rangle)/\sqrt2를 얻는다.

일반적으로 nn개 큐비트의 상태는 x=02n1cx|x\sum_{x=0}^{2^n-1}c_x\left|x\right\rangle이고, 측정 결과는 nn자리 이진수 하나다. 결과 xx의 확률은 |cx|2|c_x|^2다.

양자 알고리즘의 핵심은 모든 계수를 읽는 것이 아니라, 원하는 답이 나오도록 확률을 바꾸는 것이다. 이를 위해 중첩된 성분 사이의 간섭을 이용한다. 게이트 수, 준비 비용, 측정 반복 횟수도 계산 비용에 포함해야 한다.

참고: [C98]. 이 예에서는 이상적인 게이트와 측정을 가정한다.

04 · 여러 큐비트와 얽힘A02
여러 큐비트와 얽힘핵심O13a

복제 불가능성: 얽히게 하는 것과 복사하는 것은 다르다

같은 종류의 두 양자계에서 |ψ,|e\left|\psi\right\rangle, \left|e\right\rangle \in \mathcal{H}라 하자. 모든 입력 |ψ\left|\psi\right\rangle에 대해 다음 식을 만족하는 유니타리 연산자 Û\hat{U}는 없다. Û|ϕ|e=eiα(ϕ)|ϕ|ϕ\hat{U} \left|\phi\right\rangle\left|e\right\rangle = \mathrm{e}^{ \mathrm{i}\alpha(\phi)} \left|\phi\right\rangle \left|\phi\right\rangle 여기서 α(ϕ)\alpha(\phi)는 실수다. 이 식은 Û\hat{U}가 입력 상태 |ϕ\left|\phi\right\rangle를 복제한다는 뜻이다.

귀류법으로 증명하자. 위 유니타리 연산자 Û\hat{U}가 존재한다고 가정하고, 서로 다르지만 직교하지 않는 두 상태 |ψ\left|\psi\right\rangle|ϕ\left|\phi\right\rangle를 택한다. 즉, 0<|ψ|ϕ|<10 < \left|\left\langle\psi\middle|\phi\right\rangle\right| < 1이다. ϕ|ψ=ϕ|ψe|e=ϕ,e|ÛÛ|ψ,e=ei(α(ϕ)α(ψ))ϕ,ϕ|ψ,ψ=ei(α(ϕ)α(ψ))ϕ|ψ2\begin{aligned} \left\langle\phi\middle|\psi\right\rangle &= \left\langle\phi\middle|\psi\right\rangle \left\langle e\middle|e\right\rangle = \left\langle\phi,e\right| \hat{U}^{\dagger} \hat{U} \left|\psi, e\right\rangle\\ &= \mathrm{e}^{ - \mathrm{i}(\alpha(\phi) - \alpha(\psi) )} \left\langle\phi, \phi\middle|\psi, \psi\right\rangle = \mathrm{e}^{ - \mathrm{i}(\alpha(\phi) - \alpha(\psi) )} \left\langle\phi\middle|\psi\right\rangle^2 \end{aligned} 양변의 절댓값을 비교하면 |ϕ|ψ|=|ϕ|ψ|2|\left\langle\phi\middle|\psi\right\rangle| = |\left\langle\phi\middle|\psi\right\rangle|^2이다. 따라서 |ϕ|ψ|=1|\left\langle\phi\middle|\psi\right\rangle| = 1 또는 00여야 하므로 가정과 모순된다.

CNOT을 |ψ|0\left|\psi\right\rangle\left|0\right\rangle에 적용하면 a|00+b|11a\left|00\right\rangle+b\left|11\right\rangle을 얻는다. 그러나 입력의 두 복사본은 |ψ|ψ=a2|00+ab|01+ab|10+b2|11\begin{aligned} \left|\psi\right\rangle\left|\psi\right\rangle&=a^2\left|00\right\rangle+ab\left|01\right\rangle\\ &\quad+ab\left|10\right\rangle+b^2\left|11\right\rangle \end{aligned}이므로, 두 결과는 일반적으로 다르다.

복제 불가능성은 이미 알고 있는 상태를 여러 번 준비할 수 없다는 뜻이 아니다. 또한 서로 직교하는 계산 기저 상태만 복사하는 고전적인 동작을 금지하지도 않는다.

다음 슬라이드에서는 보조계를 추가해도 미지의 임의 상태를 복제할 수 없는지 확인한다.

여러 큐비트와 얽힘계산O13b

계산: 보조계를 허용한 복제 불가능성

보조 큐비트를 도입하면 상황이 변하는가? 즉, 다음을 만족하는 유니타리 연산자 Û\hat{U}가 존재할 수 있는가? Û|ϕ|e|μ=eiα(ϕ)|ϕ|ϕ|ν(ϕ)\hat{U} \left|\phi\right\rangle\left|e\right\rangle \left|\mu\right\rangle = \mathrm{e}^{ \mathrm{i}\alpha(\phi)} \left|\phi\right\rangle \left|\phi\right\rangle \left|\nu(\phi)\right\rangle ϕ|ψ=ϕ|ψe|eμ|μ=ei(α(ϕ)α(ψ))ϕ,ϕ,ν(ϕ)|ψ,ψ,ν(ψ)=ei(α(ϕ)α(ψ))ϕ|ψ2ν(ϕ)|ν(ψ)\begin{aligned} \left\langle\phi\middle|\psi\right\rangle &= \left\langle\phi\middle|\psi\right\rangle \left\langle e\middle|e\right\rangle \left\langle\mu\middle|\mu\right\rangle\\ &= \mathrm{e}^{ - \mathrm{i}(\alpha(\phi) - \alpha(\psi) )} \left\langle\phi, \phi, \nu(\phi)\middle|\psi, \psi, \nu(\psi)\right\rangle\\ &= \mathrm{e}^{ - \mathrm{i}(\alpha(\phi) - \alpha(\psi) )} \left\langle\phi\middle|\psi\right\rangle^2 \left\langle\nu(\phi)\middle|\nu(\psi)\right\rangle \end{aligned} |ϕ|ψ|=|ϕ|ψ|2|ν(ϕ)|ν(ψ)||\left\langle\phi\middle|\psi\right\rangle| = |\left\langle\phi\middle|\psi\right\rangle|^2 |\left\langle\nu(\phi)\middle|\nu(\psi)\right\rangle| r=|ϕ|ψ|r=|\left\langle\phi\middle|\psi\right\rangle|, s=|ν(ϕ)|ν(ψ)|s=|\left\langle\nu(\phi)\middle|\nu(\psi)\right\rangle|라 두면r=r2sr2<rr=r^2s\le r^2<r이다. 0<r<10<r<1, 0s10\le s\le1이므로 모순이다. 따라서, 보조 큐비트를 도입해도 양자 상태 복제는 불가하다.

혼합과 상태의 기하절 안내S05

혼합과 상태의 기하

SECTION 05

혼합과 상태의 기하

측정 통계가 같은 상태도 준비 방법에 따라 구별할 수 있는가?

01밀도 행렬과 부분계
02블로흐 구와 회전
03슈미트 분해와 엔트로피

이제 상태를 표현하는 방법을 바탕으로 잡음과 얽힘 자원을 살펴본다.

05 · 혼합과 상태의 기하S05
혼합과 상태의 기하핵심A05

얽힘과 고전적인 혼합을 구별하기

다음 두 준비 방법을 비교하자. |Φ=|00+|112.\left|\Phi\right\rangle=\frac{\left|00\right\rangle+\left|11\right\rangle}{\sqrt2}. 첫째는 위 순수 상태를 준비하는 것이다. 둘째는 동전을 던져 확률 1/21/2|00\left|00\right\rangle, 확률 1/21/2|11\left|11\right\rangle을 준비하는 것이다.

두 경우 모두 ZZ 기저로 측정하면 00 또는 11이 나온다. 한 큐비트만 관측해도 두 준비 방법을 구별할 수 없다.

그러나 XXX\otimes X의 기댓값은 서로 다르다. XXΦ=1,XXmix=0.\langle X\otimes X\rangle_{\Phi}=1,\qquad \langle X\otimes X\rangle_{\mathrm{mix}}=0. 같은 측정에서 상관관계가 나타난다는 사실만으로 얽힘을 판정할 수는 없다.

혼합 상태는 밀도 행렬(density matrix)로 나타낸다. ρ=jpj|ψjψj|,pj0,jpj=1.\rho=\sum_j p_j\left|\psi_j\right\rangle\!\left\langle\psi_j\right|,\quad p_j\ge0,\quad\sum_jp_j=1. 관측량 OO의 기댓값은 Tr(ρO)\operatorname{Tr}(\rho O)다. 부분계 BB를 관측하지 않고 나머지 계만 기술하려면, BB에 대해 부분 대각합(partial trace)을 취한다. ρA=TrBρ.\rho_{\mathrm{A}}=\operatorname{Tr}_{\mathrm{B}}\rho. 이 예에서는 두 준비 방법 모두 ρA=I/2\rho_{\mathrm{A}}=I/2를 준다.

전체가 순수 상태일 때, ρA\rho_{\mathrm{A}}가 혼합 상태라는 것과 두 부분계가 얽혀 있다는 것은 동치다. 전체가 혼합 상태일 때는 이 판정법을 그대로 쓸 수 없다.

혼합과 상태의 기하계산A06a

계산: 밀도 행렬과 부분계의 상태

기저 순서를 00,01,10,1100,01,10,11로 정하면 두 밀도 행렬은 ρΦ=12(1001000000001001),ρmix=12(1000000000000001)\rho_\Phi=\frac12\begin{pmatrix}1&0&0&1\\0&0&0&0\\0&0&0&0\\1&0&0&1\end{pmatrix},\qquad \rho_{\mathrm{mix}}=\frac12\begin{pmatrix}1&0&0&0\\0&0&0&0\\0&0&0&0\\0&0&0&1\end{pmatrix} 이다. 부분 대각합은 TrB(|abcd|)=δbd|ac|\operatorname{Tr}_{\mathrm{B}}(\left|ab\right\rangle\!\left\langle cd\right|)=\delta_{bd}\left|a\right\rangle\!\left\langle c\right|로 계산한다. 두 경우 모두 ρA=(|00|+|11|)/2\rho_{\mathrm{A}}=(\left|0\right\rangle\!\left\langle 0\right|+\left|1\right\rangle\!\left\langle 1\right|)/2를 얻는다.

한편 XXX\otimes X|00\left|00\right\rangle|11\left|11\right\rangle을 서로 바꾼다. 따라서 ρΦ\rho_\Phi의 두 비대각 성분이 기댓값에 기여하는 양의 합은 1이다. 반면 ρmix\rho_{\mathrm{mix}}에는 이 비대각 성분이 없다.

간섭 회로의 중간 측정도 이 표기법으로 나타낼 수 있다. 측정값을 버린 상태는 ρ=12|00|+12|11|=I/2\rho=\tfrac12\left|0\right\rangle\!\left\langle 0\right|+\tfrac12\left|1\right\rangle\!\left\langle 1\right|=I/2다. P(ϕ)ρP(ϕ)=ρ,HρH=ρ.P(\phi)\rho P(\phi)^\dagger=\rho,\qquad H\rho H^\dagger=\rho. 따라서 상대 위상 ϕ\phi와 관계없이 최종 측정 확률은 1/2,1/21/2,1/2다.

혼합과 상태의 기하실습L04

같은 단일 큐비트 통계, 다른 결합 확률

혼합과 상태의 기하핵심O16a

블로흐 구: 한 큐비트 상태의 좌표

한 큐비트의 밀도 행렬은 ρ=I+xX+yY+zZ2\rho=\frac{I+xX+yY+zZ}{2} 로 적을 수 있다. x,y,zx,y,z는 각각 X,Y,ZX,Y,Z의 기댓값이며 실수다. ρ\rho가 양의 준정부호라는 조건은 x2+y2+z21x^2+y^2+z^2\le1 이다. 순수 상태는 구의 표면, 혼합 상태는 내부에 놓인다.

순수 상태를 |ψ=cosθ2|0+eiφsinθ2|1\left|\psi\right\rangle=\cos\frac\theta2\left|0\right\rangle+e^{i\varphi}\sin\frac\theta2\left|1\right\rangle 로 적으면 x=sinθcosφx=\sin\theta\cos\varphi, y=sinθsinφy=\sin\theta\sin\varphi, z=cosθz=\cos\theta다.

블로흐 구: 한 큐비트 상태의 좌표 — 설명 그림
블로흐 구: 한 큐비트 상태의 좌표

Ra(θ)=eiθσa/2R_a(\theta)=e^{-i\theta\sigma_a/2}는 이 구에서 aa축 둘레의 회전을 나타낸다. 상태벡터의 회전각 인자 1/21/2와 블로흐 구의 회전각을 구별하자.

혼합과 상태의 기하계산O16b · 1/2

계산: 블로흐 구에서의 회전

단일 큐비트의 상태는 X̂\hat{X}, Ŷ\hat{Y}, Ẑ\hat{Z}의 기댓값으로 완전히 결정된다. 순수 상태에서는 이 값들이 x2+y2+z2=1x^2 + y^2 + z^2 = 1을 만족하므로 반지름이 11인 구면 위의 점을 이룬다. 이 구면을 블로흐 구(Bloch sphere)라 한다. 혼합 상태까지 포함하면 x2+y2+z21x^2+y^2+z^2\le1인 구 내부도 사용한다.

블로흐 구의 점 (x,y,z)(x,y,z)에 각 연산자를 적용하면 다음과 같이 변한다.

U(2)U(2) 변환 결과
Î\hat{I} (x,y,z)(x,y,z)
X̂=iR̂x(π)\hat{X} = \mathrm{i}\hat{R}_{\mathrm{x}}(\pi) (x,y,z)(x,-y,-z)
Ŷ=iR̂y(π)\hat{Y} = \mathrm{i}\hat{R}_{\mathrm{y}}(\pi) (x,y,z)(-x,y,-z)
Ẑ=iR̂z(π)\hat{Z} = \mathrm{i}\hat{R}_{\mathrm{z}}(\pi) (x,y,z)(-x,-y,z)
R̂x(π/2)\hat{R}_{\mathrm{x}}(\pi/2) (x,z,y)(x,-z,y)
R̂y(π/2)\hat{R}_{\mathrm{y}}(\pi/2) (z,y,x)(z,y,-x)
R̂z(π/2)\hat{R}_{\mathrm{z}}(\pi/2) (y,x,z)(-y,x,z)
Ĥ=iR̂x+z(π)\hat{H} = \mathrm{i}\hat{R}_{\mathrm{x}+\mathrm{z}}(\pi) (z,y,x)(z,-y,x)

회전의 부호 관례는 Ra(θ)=eiθσa/2R_a(\theta)=e^{-\mathrm{i}\theta\sigma_a/2}로 정한다. Rx+zR_{\mathrm{x}+\mathrm{z}}의 회전축은 (x̂+ẑ)/2(\hat{x}+\hat{z})/\sqrt2다. 표에 있는 인자 i\mathrm{i}도 이 관례에 따른다.

혼합과 상태의 기하계산O16b--2 · 2/2

계산: 전체 위상을 제어 게이트에서 버리면 안 되는 이유

유니타리 행렬 Â\hat{A}에 위상 인자를 곱하면 행렬 자체는 달라진다. Ô=eiλÂ\hat{O} = \mathrm{e}^{\mathrm{i}\lambda} \hat{A} 그러나 단일 큐비트 상태에 작용했을 때 생기는 전체 위상 eiλ\mathrm{e}^{\mathrm{i}\lambda}는 물리적 상태를 바꾸지 않는다. 따라서 전체 위상을 제외한 상태 변환은 SU(2) 원소로 나타낼 수 있다. detÔ=e2iλdetÂ\det\hat{O}=\mathrm{e}^{2\mathrm{i}\lambda}\det\hat{A} e2iλ=(detÂ)1\mathrm{e}^{2 \mathrm{i}\lambda} = (\det\hat{A})^{-1}가 되도록 λ\lambda를 정하여 곱하면 Ô\hat{O}는 SU(2) 원소가 된다.

따라서 HH와 같은 단일 큐비트 상태 변화를 주는 SU(2) 연산자는 Rx+z(π)=iHR_{\mathrm{x}+\mathrm{z}}(\pi)=-\mathrm{i}H이다. 다만 제어 게이트를 만들 때에는 이 위상이 상대 위상이 되므로 함부로 버릴 수 없다.

혼합과 상태의 기하심화O14

심화: 한 큐비트 유니타리 행렬의 자유도

단일 큐비트 양자 게이트의 자유도는 몇 개인가? 닫힌 단일 큐비트 계의 게이트는 2×22\times 2 유니타리 행렬로 나타낸다. 유니타리 조건 (a*c*b*d*)(abcd)=(|a|2+|c|2a*b+c*db*a+d*c|b|2+|d|2)=(1001)\begin{aligned} \begin{pmatrix} a^* & c^* \\ b^* & d^* \end{pmatrix} \begin{pmatrix} a & b \\ c & d \end{pmatrix} &= \begin{pmatrix} |a|^2 + |c|^2 & a^* b + c^* d\\ b^* a + d^* c & |b|^2 + |d|^2 \end{pmatrix}\\ &= \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix} \end{aligned}(a)2+(a)2+(c)2+(c)2=1(b)2+(b)2+(d)2+(d)2=1ab+ab+cd+cd=0abab+cdcd=0\begin{aligned} (\Re a)^2 + (\Im a)^2 + (\Re c)^2 + (\Im c)^2 &= 1\\ (\Re b)^2 + (\Im b)^2 + (\Re d)^2 + (\Im d)^2 &= 1\\ \Re a \Re b + \Im a \Im b + \Re c \Re d + \Im c \Im d &= 0\\ \Re a \Im b - \Im a \Re b + \Re c \Im d - \Im c \Re d &= 0 \end{aligned}라는 제약을 준다. 독립인 실수 제약이 네 개이므로 남는 실수 자유도도 네 개다. 이는 연속 변환의 생성자가 SU(2)에 세 개, U(1)에 한 개 있다는 사실과 일치한다.

복소수 성분 네 개에는 실수 매개변수 여덟 개가 있다. 두 열의 길이 조건 두 개와 복소 직교 조건 하나가 실수 조건 네 개를 준다. 따라서 U(2)U(2)의 실수 차원은 4다.

전체 위상을 분리하면 U=eiχRz(α)Ry(β)Rz(γ)U=e^{i\chi}R_{\mathrm{z}}(\alpha)R_{\mathrm{y}}(\beta)R_{\mathrm{z}}(\gamma) 로 적을 수 있다. 나머지 세 매개변수는 SU(2)SU(2)의 국소적인 자유도와 대응된다. 좌표가 특별한 점에서 유일하지 않을 수 있다는 것과 군의 차원은 다른 문제다.

단일 큐비트 상태의 전체 위상은 물리적 의미가 없는데, 제어 eiχUe^{i\chi}U 연산에서는 왜 같은 위상 인자를 생략할 수 없을까? 제어 큐비트가 1인 성분에만 이 위상이 곱해져 상대 위상이 되기 때문이다.

05 · 혼합과 상태의 기하O14
혼합과 상태의 기하핵심O04a

슈미트 분해: 얽힘과 행렬의 계수

|ψA|ϕB\left|\psi\right\rangle_{\mathrm{A}}\otimes\left|\phi\right\rangle_{\mathrm{B}}로 쓸 수 있는 순수 상태를 곱상태라 한다. 계수 행렬 C=(cnm)C=(c_{nm})를 도입하여 |Ψ=n,mcnm|en|em\left|\Psi\right\rangle=\sum_{n,m}c_{nm}\left|e_n\right\rangle\left|e'_m\right\rangle로 쓰자. 곱상태이면 cnm=anbmc_{nm}=a_n b_m이므로 행렬 CC의 계수(rank)는 1이다.

특이값분해 (singular value decomposition)를 이용하면 임의의 순수 상태를 |Ψ=kαk|uk|vk,αk0\left|\Psi\right\rangle=\sum_k\alpha_k\left|u_k\right\rangle\left|v_k\right\rangle,\qquad\alpha_k\ge0로 쓸 수 있다. 두 벡터 집합은 각각 정규직교하며 kαk2=1\sum_k\alpha_k^2=1이다. 이를 슈미트(Schmidt) 분해라 한다.

0이 아닌 슈미트 계수가 하나이면, 그리고 그때만 곱상태다. |+|0:α1=1.\left|+\right\rangle\left|0\right\rangle:\quad \alpha_1=1. |00+|112:α1=α2=12.\frac{\left|00\right\rangle+\left|11\right\rangle}{\sqrt2}:\quad \alpha_1=\alpha_2=\frac1{\sqrt2}. 후자의 상태는 곱상태로 적을 수 없으므로 얽혀 있다.

(|00+|01+|10+|11)/2(\left|00\right\rangle+\left|01\right\rangle+\left|10\right\rangle+\left|11\right\rangle)/2는 곱상태인가? 계수들을 배열한 행렬의 계수(rank)를 구하거나, 두 단일 큐비트 상태의 곱으로 표현해 보자.

혼합과 상태의 기하계산O04b

계산: 특이값분해에서 슈미트 분해로

|ψϕ\left|\psi\phi\right\rangle로 쓸 수 있는 상태를 곱상태(product state)라 한다. 임의의 상태 |Φ\left|\Phi\right\rangle nmcnm|en,em\sum_{nm} c_{nm} \left|e_n,e_m'\right\rangle가 곱상태인지 어떻게 확인할까? 계수 cnmc_{nm}을 행렬 CC의 성분으로 놓고, C=UΣVC=U\Sigma V^\dagger와 같이 특이값분해를 한다. cnm=kUnkΣkkVmk*c_{nm} =\sum_k U_{nk} \Sigma_{kk} V_{mk}^* nmkUnkΣkkVmk*|en,em=kαk|uk|vk\sum_{nmk} U_{nk} \Sigma_{kk} V_{mk}^* \left|e_n,e_m'\right\rangle = \sum_{k} \alpha_{k} \left| u_{k}\right\rangle \otimes \left| v_{k} \right\rangle 여기서 U,VU,V는 유니타리 행렬이다. αk:=Σkk,|uk:=nUnk|en,|vk:=mVmk*|em\alpha_{k} := \Sigma_{kk}, \,\, \left|u_k\right\rangle := \sum_n U_{nk} \left|e_n\right\rangle, \,\, \left|v_k\right\rangle := \sum_m V_{mk}^* \left|e_m'\right\rangle

U,VU,V의 전체 열로 정의한 |uk\left|u_k\right\rangle, |v\left|v_{\ell}\right\rangle는 각각 정규직교기저다. uk|u=nmUnk*Umδnm=nUnk*Un=δk\left\langle u_k\middle|u_{\ell}\right\rangle = \sum_{nm} U_{nk}^* U_{m\ell} \delta_{nm} = \sum_{n} U_{nk}^* U_{n\ell} = \delta_{k\ell} |vk\left|v_k\right\rangle에 대해서도 비슷한 계산을 할 수 있다.

이를 슈미트 분해라 한다. 정규화된 상태에서 αk\alpha_k 중 하나만 11이고 나머지가 00이면 곱상태다. 이때 두 인자는 서로 상쇄되는 위상 인자를 제외하면 유일하다. 이를 확인하자. |u|v=z|u|v\left|u\right\rangle \left|v\right\rangle = z \left|u'\right\rangle \left|v'\right\rangle 1=zu|uv|v1 = z \left\langle u\middle|u'\right\rangle \left\langle v\middle|v'\right\rangle |z|=1|z|=1이므로 두 내적의 절댓값은 모두 11이다. 따라서 각 인자는 위상만 다르다. 계수가 00인 항에 대응하는 기저는 유일하지 않다. 일반적으로 00이 아닌 슈미트 계수의 수가 11인지 확인하면 곱상태 여부를 판정할 수 있다.

혼합과 상태의 기하핵심O05

순수 상태의 얽힘 엔트로피

슈미트 분해를 이용하면 두 부분계로 이루어진 순수 상태의 얽힘을 정량화할 수 있다. 확률 pk=αk2p_k=\alpha_k^2에 대한 엔트로피를 생각하자. αk0\alpha_k\ge0, kαk2=1\sum_k\alpha_k^2=1이다. S=kαk2lnαk2S=-\sum_k\alpha_k^2\ln\alpha_k^2 간단한 예로, 슈미트 분해에서 α|α=β|β=0\left\langle\alpha\middle|\alpha'\right\rangle = \left\langle\beta\middle|\beta'\right\rangle = 0이고 12(|αβ+|αβ)\frac{1}{\sqrt{2}} \left( \left|\alpha\beta\right\rangle + \left|\alpha'\beta'\right\rangle \right)라 하자. 그러면 12ln1212ln12=ln2-\frac12\ln\frac12-\frac12\ln\frac12=\ln 2이다. 벨 상태나 스핀 단일항 상태(spin singlet)가 이러한 예다.

얽힌 상태에서는 한 부분계의 측정 결과를 알면 다른 부분계의 조건부 상태에 관한 정보를 얻을 수 있다. 다만 이러한 상관관계가 있다는 사실만으로 얽힘을 판정할 수는 없다.

전체 상태가 순수할 때, 한 부분계의 축약 상태가 혼합 상태이면 두 부분계는 얽혀 있다. 축약 상태가 순수하면 전체는 곱상태다. 여기서 축약 상태는 측정 결과로 조건을 건 상태가 아니라 다른 부분계에 대해 부분 대각합을 취한 상태다. 축약 밀도 행렬의 폰 노이만(von Neumann) 엔트로피는 위의 SS와 같다. 전체가 혼합 상태이면 이 판정법을 그대로 적용할 수 없다.

조건부 상태와 신호 전달은 다르다. 한쪽에서 측정하더라도 그 결과를 알려 주지 않으면, 다른 쪽만의 측정 통계는 바뀌지 않는다. 얽힘의 상관관계만으로 원하는 비트를 즉시 전달할 수 있는 것은 아니다.

혼합과 상태의 기하계산A06b

계산: 슈미트 계수에서 얽힘 엔트로피로

정규화된 순수 상태 |Ψ=kαk|uk|vk\left|\Psi\right\rangle=\sum_k\alpha_k\left|u_k\right\rangle\left|v_k\right\rangle에서 출발하자. ρAB=k,αkα(|uku|)(|vkv|),ρA=TrBρAB=k,αkαv|vk|uku|=kαk2|ukuk|.\begin{aligned} \rho_{\mathrm{A}\mathrm{B}}&=\sum_{k,\ell}\alpha_k\alpha_\ell (\left|u_k\right\rangle\!\left\langle u_\ell\right|)\otimes(\left|v_k\right\rangle\!\left\langle v_\ell\right|),\\ \rho_{\mathrm{A}}&=\operatorname{Tr}_{\mathrm{B}}\rho_{\mathrm{A}\mathrm{B}} =\sum_{k,\ell}\alpha_k\alpha_\ell\left\langle v_\ell\middle|v_k\right\rangle\left|u_k\right\rangle\!\left\langle u_\ell\right| =\sum_k\alpha_k^2\left|u_k\right\rangle\!\left\langle u_k\right|. \end{aligned} 따라서 ρA\rho_{\mathrm{A}}의 고윳값은 pk=αk2p_k=\alpha_k^2다. S(ρA)=Tr(ρAlnρA)=kαk2lnαk2.S(\rho_{\mathrm{A}})=-\operatorname{Tr}(\rho_{\mathrm{A}}\ln\rho_{\mathrm{A}})=-\sum_k\alpha_k^2\ln\alpha_k^2. 0ln0=00\ln0=0으로 연속적으로 정의한다. 벨 상태에서는 S=12ln1212ln12=ln2.S=-\frac12\ln\frac12-\frac12\ln\frac12=\ln2. 로그의 밑을 2로 정하면 1이다. 계수 αk\alpha_k 자체를 확률로 넣으면 안 된다.

전체가 혼합 상태이면 이 부분계 엔트로피에는 고전적 불확실성도 포함될 수 있다. 그러므로 위 양을 일반적인 혼합 상태의 얽힘으로 그대로 사용할 수 없다.

혼합과 상태의 기하핵심O12b

보편 게이트: 모든 연산을 각각 준비할 필요는 없다

일정한 게이트들을 조합하여 모든 양자 연산을 구현할 수 있는 보편 게이트 집합 (universal gate set)이 존재한다.

  • Rx(θ)R_{\mathrm{x}}(\theta), Ry(θ)R_{\mathrm{y}}(\theta), Rz(θ)R_{\mathrm{z}}(\theta), 위상 이동 게이트 P(ϕ)P(\phi)와 CNOT을 조합하면 임의의 양자 게이트를 구현할 수 있다.

  • 토폴리(Toffoli) 게이트와 아다마르 게이트만으로도, 실수 진폭 표현에 보조 큐비트를 허용하면 보편 양자 계산을 구현할 수 있다. 다만 주어진 복소 힐베르트 공간의 모든 유니타리 행렬을 이 게이트들로 직접 구현한다는 뜻은 아니다. [A03]

연속적인 한 큐비트 회전과 CNOT으로 여러 큐비트의 유니타리 연산을 분해할 수 있다. 다만 일반적인 nn-큐비트 행렬을 구현하는 데 필요한 게이트 수가 작다는 뜻은 아니다.

실제 알고리즘은 문제의 구조를 이용하여 짧은 회로를 구성해야 한다. 또한 유한한 게이트 목록을 쓰면 원하는 정밀도까지 근사한다는 의미의 보편성이 중요하다.

이 강의 마지막에는 H,S,CNOTH,S,\mathrm{CNOT}TT를 논리 큐비트에서 구현하는 문제로 돌아온다. 고전 계산도 입력과 보조 비트를 함께 보존하는 가역 회로로 구현할 수 있다. 곧 다룰 오라클이 그 예다.

05 · 혼합과 상태의 기하O12b
얽힘을 통신 자원으로절 안내S06

얽힘을 통신 자원으로

SECTION 06

얽힘을 통신 자원으로

얽힘과 고전 메시지를 함께 쓰면 무엇을 보낼 수 있는가?

01읽을 수 있는 정보의 한계
02순간이동과 초밀집 부호화
03얽힘 교환

같은 측정과 통신의 원리가 비밀 키 분배에서는 어떻게 쓰이는지 살핀다.

06 · 얽힘을 통신 자원으로S06
얽힘을 통신 자원으로핵심C05

양자 통신: 무엇을 보내려는가?

양자 통신에는 서로 다른 과제가 있다. 무엇을 전송하거나 공유하려는지 먼저 정해야 필요한 자원과 성능을 비교할 수 있다.

  1. 고전 메시지 전송 (classical message transmission): 송신자가 선택한 비트열을 수신자가 읽는다.

  2. 양자 상태 전송 (quantum state transmission): 송신자가 모르는 |ψ\left|\psi\right\rangle까지 수신 측에 옮긴다. 다른 계와의 얽힘도 보존해야 한다.

  3. 비밀 키 분배 (secret key distribution): 공개 통신의 내용을 도청자가 읽더라도, 두 통신 당사자만 아는 무작위 비트열을 공유한다.

계산은 상태를 처리하고, 통신은 떨어진 곳의 상태와 정보를 연결한다. 통신 도중의 잡음과 저장 도중의 잡음은 모두 양자 채널로 기술할 수 있다.

양자 통신: 무엇을 보내려는가? — 설명 그림 미리 공유한 벨 쌍
양자 통신: 무엇을 보내려는가?

고전 비트(cbit), 전송한 큐비트, 공유한 얽힘은 서로 다른 자원으로 센다. 이상적인 벨 쌍 한 개에 해당하는 얽힘 자원을 1 ebit이라 한다. 벨 쌍을 미리 나누어 갖는 데에도 통신 자원이 필요하다.

참고: [BW92, TP93, BB84, PR16]. 이하의 프로토콜은 이상적인 준비·게이트·측정을 먼저 가정한다.

06 · 얽힘을 통신 자원으로C05
얽힘을 통신 자원으로핵심C06

양자 채널: 전송 중 생기는 상태 변화

입력 밀도 연산자 ρ\rho가 출력 (ρ)\mathcal E(\rho)로 변한다고 하자. 유한차원에서 측정 결과를 사후 선별하지 않는 물리적 채널은 완전 양성·대각합 보존 사상 (completely positive trace-preserving map, CPTP map)이며, (ρ)=μKμρKμ,μKμKμ=I\mathcal E(\rho)=\sum_\mu K_\mu\rho K_\mu^\dagger, \qquad\sum_\mu K_\mu^\dagger K_\mu=I로 쓸 수 있다. KμK_\mu를 크라우스(Kraus) 연산자라 한다. 대각합 보존은 전체 확률을 보존한다는 뜻이다.

완전 양성의 뜻. 양성은 양의 준정부호, 즉 고윳값이 모두 0 이상인 성질이다. 단독 입력의 양성을 보존하는 것보다 더 강하게, 임의 크기의 보조계 R과 모든 공동 상태에 대해 ρAR0(AidR)(ρAR)0\rho_{\mathrm{A}\mathrm{R}}\ge0\;\Rightarrow\;(\mathcal E_{\mathrm{A}}\otimes\mathrm{id}_{\mathrm{R}})(\rho_{\mathrm{A}\mathrm{R}})\ge0를 요구한다. 여기서 idR은 R을 그대로 두는 항등 사상이다. A와 R이 얽혀 있어도 A에만 채널을 적용한 전체 상태에서 음의 측정 확률이 나와서는 안 된다.

간단한 위상 반전 채널은 p(ρ)=(1p)ρ+pZρZ\mathcal E_p(\rho)=(1-p)\rho+pZ\rho Z이다. K0=1pIK_0=\sqrt{1-p}I, K1=pZK_1=\sqrt p Z로 놓으면 위 조건을 만족한다.

계산 기저에서의 측정 확률은 유지되지만, |0\left|0\right\rangle|1\left|1\right\rangle 사이의 결맞음은 바뀐다. p=1/2p=1/2이면 비대각 성분이 사라진다. 1/2(|++|)=I/2.\mathcal E_{1/2}(\left|+\right\rangle\!\left\langle+\right|)=I/2. 반면 p=1p=1은 무작위 잡음이 아니라 확률 1로 적용되는 ZZ 연산이다. 따라서 반전 확률이 커진다고 해서 상태가 점점 더 혼합되는 것은 아니다.

계와 환경의 초기 곱상태를 유니타리하게 변화시키고 환경의 부분 대각합을 취하면 CPTP 채널을 얻는다. 특정 측정 결과만 선별하면 일반적으로 대각합은 보존되지 않는다.

참고: [PR16]. 계와 환경 사이에 초기 상관관계가 있거나 상태 누설이 일어나면 별도의 모형이 필요하다.

얽힘을 통신 자원으로계산C07

계산: 위상 잡음은 무엇을 지우는가?

일반적인 한 큐비트 상태를 ρ=(ucc*1u)\rho=\begin{pmatrix}u&c\\c^*&1-u\end{pmatrix} 로 쓰면 ZρZ=(ucc*1u),Z\rho Z=\begin{pmatrix}u&-c\\-c^*&1-u\end{pmatrix}, p(ρ)=(u(12p)c(12p)c*1u).\mathcal E_p(\rho)=\begin{pmatrix}u&(1-2p)c\\(1-2p)c^*&1-u\end{pmatrix}. ZZ 측정의 확률 u,1uu,1-u만 보면 이 변화를 알아낼 수 없다. X,YX,Y 측정까지 고려해야 비대각 성분의 변화를 확인할 수 있다.

입력이 |+\left|+\right\rangle이면 ρ=12(112p12p1).\rho'=\frac12\begin{pmatrix}1&1-2p\\1-2p&1\end{pmatrix}.이다. XX 기저에서 고윳값은 각각 1p,p1-p,p이므로 Pr(X=+1)=1p,S2(ρ)=h2(p).\Pr(X=+1)=1-p,\qquad S_2(\rho')=h_2(p).이다. 여기서는 S2=Trρlog2ρS_2=-\operatorname{Tr}\rho\log_2\rho다. 입력이 순수 상태인 경우, 이 강의에서는 충실도(fidelity)를 입력과 출력의 겹침으로부터 F:=+|ρ|+=1pF:=\left\langle+\right|\rho'\left|+\right\rangle=1-p과 같이 정의한다. F\sqrt F를 충실도라 부르는 관례도 있으므로 정의식을 확인해야 한다.

참고: [PR16]. 엔트로피의 밑은 앞선 자연로그 관례와 달리 여기서는 2다.

얽힘을 통신 자원으로실습L05

위상 반전 채널을 통과한 상태

얽힘을 통신 자원으로핵심C08

큐비트의 연속적인 진폭을 모두 읽을 수는 없다

송신자가 고전 기호 xx를 확률 pxp_x로 골라 상태 ρx\rho_x에 부호화한다고 하자. 수신자의 측정은 My0M_y\ge0, yMy=I\sum_yM_y=I로 표현되며, p(yx)=Tr(Myρx).p(y\mid x)=\operatorname{Tr}(M_y\rho_x). 측정 결과 YY에서 얻는 고전 정보에는 홀레보 상한 (Holevo bound)이 있다. I(X;Y)χ:=S2(ρ)xpxS2(ρx),ρ=xpxρx.I(X;Y)\le\chi:=S_2(\bar\rho)-\sum_xp_x S_2(\rho_x), \quad\bar\rho=\sum_xp_x\rho_x. dd차원 수신계만 이용한다면 χlog2d\chi\le\log_2d다. 진폭을 연속적으로 정할 수 있다고 해서 한 번 받은 상태에서 무한한 고전 정보를 읽을 수 있는 것은 아니다.

공유된 얽힘이나 별도의 메시지 관련 정보를 쓰지 않고 한 큐비트만 받으면 I(X;Y)1I(X;Y)\le1이다. 이는 측정 결과의 종류가 반드시 두 개뿐이라는 주장이 아니다. 여러 결과를 갖는 측정에서도 메시지와의 상호정보량에 상한이 있다.

예를 들어 |0,|1\left|0\right\rangle,\left|1\right\rangle은 한 번의 ZZ 측정으로 정확히 구별된다. 그러나 |0,|+\left|0\right\rangle,\left|+\right\rangle는 직교하지 않으므로 항상 성공하는 단일 측정으로 구별할 수 없다.

곧 소개할 초밀집 부호화에서 Bob은 미리 가진 큐비트까지 포함하여 두 큐비트를 측정한다. 수신계와 사전 자원이 달라지므로 위 상한과 모순되지 않는다.

참고: [HO73, PR16]. 상한을 소개하며, 일반적인 증명은 이 강의의 범위 밖이다.

06 · 얽힘을 통신 자원으로C08
얽힘을 통신 자원으로핵심C09

얽힘만으로 메시지를 보낼 수 있을까?

Alice와 Bob이 |Φ+AB\left|\Phi^+\right\rangle_{\mathrm{A}\mathrm{B}}를 나누어 갖는다고 하자. Bob의 축약 상태는 ρB=TrA|Φ+Φ+|=I/2\rho_{\mathrm{B}}=\operatorname{Tr}_{\mathrm{A}}\left|\Phi^+\right\rangle\!\left\langle\Phi^+\right|=I/2이다. Alice가 ZZ 또는 XX를 측정하더라도 그 결과를 알려 주지 않으면, Bob의 상태는 어느 경우든 I/2I/2다.

Alice의 측정 결과에 따라 조건을 걸면 Bob의 조건부 상태는 달라진다. 그러나 Bob은 어떤 결과가 나왔는지 알기 위해 고전 메시지를 받아야 한다. 조건부 상태의 변화와 Bob이 자신의 계에서 관측할 수 있는 통계의 변화는 구별해야 한다.

얽힘만으로 메시지를 보낼 수 있을까? — 설명 그림 B 얽힘: 두 계 사이의 상관관계 통신: 측정 기록의 물리적 전달
얽힘만으로 메시지를 보낼 수 있을까?

예: Alice가 ZZ 측정에서 0을 얻은 경우만 모으면 Bob은 |0\left|0\right\rangle이다. 0과 1의 결과를 모두 합치면 12|00|+12|11|=I/2\tfrac12\left|0\right\rangle\!\left\langle 0\right|+\tfrac12\left|1\right\rangle\!\left\langle 1\right|=I/2다.

Alice가 측정 대신 XX 게이트를 가하면 Bob의 ZZ 측정 확률은 바뀌는가?

참고: [BW92, TP93]. 다음 슬라이드는 국소 채널에 대한 일반 계산이다.

얽힘을 통신 자원으로계산C10

계산: 국소 연산은 상대편의 통계를 바꾸지 않는다

임의의 복합계 상태 ρAB\rho_{\mathrm{A}\mathrm{B}}와, 측정 결과를 선별하지 않는 Alice의 국소 채널 A(ρ)=μKμρKμ\mathcal E_{\mathrm{A}}(\rho)=\sum_\mu K_\mu\rho K_\mu^\dagger를 생각하자. Bob의 임의의 관측량을 OBO_{\mathrm{B}}라 하면 OB=μTr[(IOB)(KμI)ρAB(KμI)]=Tr[(μKμKμOB)ρAB]=Tr[(IOB)ρAB]=OB.\begin{aligned} \langle O_{\mathrm{B}}\rangle' &=\sum_\mu\operatorname{Tr}\!\left[(I\otimes O_{\mathrm{B}})(K_\mu\otimes I)\rho_{\mathrm{A}\mathrm{B}}(K_\mu^\dagger\otimes I)\right]\\ &=\operatorname{Tr}\!\left[\left(\sum_\mu K_\mu^\dagger K_\mu\otimes O_{\mathrm{B}}\right)\rho_{\mathrm{A}\mathrm{B}}\right]\\ &=\operatorname{Tr}[(I\otimes O_{\mathrm{B}})\rho_{\mathrm{A}\mathrm{B}}]=\langle O_{\mathrm{B}}\rangle. \end{aligned}이다. 둘째 줄에서는 대각합의 순환성과 서로 다른 부분계의 연산자들이 가환한다는 성질을 이용했다. 마지막 줄은 μKμKμ=I\sum_\mu K_\mu^\dagger K_\mu=I에서 따른다.

측정 결과 μ\mu가 주어졌을 때 Bob의 조건부 상태는 ρBμ=TrA[(KμI)ρAB(KμI)]pμ,pμ>0\rho_{\mathrm{B}\mid\mu}=\frac{\operatorname{Tr}_{\mathrm{A}}[(K_\mu\otimes I)\rho_{\mathrm{A}\mathrm{B}}(K_\mu^\dagger\otimes I)]}{p_\mu},\qquad p_\mu>0이며, 결과에 따라 달라질 수 있다. 그러나 결과를 전달받지 못한 Bob의 측정 통계는 결과에 대해 평균한 상태 μpμρBμ=ρB\sum_\mu p_\mu\rho_{\mathrm{B}\mid\mu}=\rho_{\mathrm{B}}로 결정된다.

참고: [PR16]. 결과의 선별에 필요한 고전 기록을 숨겨진 통신 자원으로 취급하지 않는다.

얽힘을 통신 자원으로핵심C11

양자 순간이동: 상태를 옮기되 복제하지 않기

Alice는 미지의 입력 상태 |ψS=α|0+β|1\left|\psi\right\rangle_{\mathrm{S}}=\alpha\left|0\right\rangle+\beta\left|1\right\rangle와 벨 쌍을 이루는 큐비트 AA를 갖고, Bob은 다른 큐비트 BB를 갖는다. |ψS|Φ+AB.\left|\psi\right\rangle_{\mathrm{S}}\otimes\left|\Phi^+\right\rangle_{\mathrm{A}\mathrm{B}}. Alice는 CNOTS,A\mathrm{CNOT}_{\mathrm{S},\mathrm{A}}HSH_{\mathrm{S}}를 차례로 적용한 뒤, S,AS,AZZ 기저에서 측정한다. 두 측정 결과를 순서대로 a,ba,b라 하자. Alice가 이 두 비트를 보내면, Bob은 ZaXbZ^aX^b를 적용하여 입력 상태 |ψ\left|\psi\right\rangle를 복구한다.

이상적인 자원은 공유된 벨 쌍 한 개와 고전 비트 두 개다. 미리 벨 쌍을 나누는 단계 이후에는 미지의 입력 큐비트를 직접 전송하지 않는다.

행렬곱 ZaXbZ^aX^b를 적용하는 시간 순서는 XbX^b 다음 ZaZ^a다. 네 측정 결과에 따른 상태 전개와 복구 연산은 다음 슬라이드에서 확인한다.

양자 순간이동: 상태를 옮기되 복제하지 않기 — 설명 그림 A, B: 미리 공유한 벨 쌍
양자 순간이동: 상태를 옮기되 복제하지 않기

순간이동이라는 이름과 달리 고전 메시지보다 먼저 상태를 이용할 수 없다. 입력의 복사본이 Alice에게 남는 것도 아니다.

참고: [TP93]. 입력은 정규화되어 있으며 준비·게이트·측정·고전 전달에 오류가 없다고 가정한다.

얽힘을 통신 자원으로계산C12

계산: 순간이동의 네 측정 결과와 복구

순서는 S,A,BS,A,B로 고정한다. |ψ=α|0+β|1\left|\psi\right\rangle=\alpha\left|0\right\rangle+\beta\left|1\right\rangle에 대해 |Ψ0=12(α|000+α|011+β|100+β|111),CNOTS,A|Ψ0=12(α|000+α|011+β|110+β|101),HSCNOTS,A|Ψ0=12[|00(α|0+β|1)+|01(β|0+α|1)+|10(α|0β|1)+|11(β|0+α|1)]=12a,b{0,1}|abXbZa|ψ.\begin{aligned} \left|\Psi_0\right\rangle &=\frac1{\sqrt2}(\alpha\left|000\right\rangle+\alpha\left|011\right\rangle+\beta\left|100\right\rangle+\beta\left|111\right\rangle),\\ \mathrm{CNOT}_{\mathrm{S},\mathrm{A}}\left|\Psi_0\right\rangle &=\frac1{\sqrt2}(\alpha\left|000\right\rangle+\alpha\left|011\right\rangle+\beta\left|110\right\rangle+\beta\left|101\right\rangle),\\ H_{\mathrm{S}}\mathrm{CNOT}_{\mathrm{S},\mathrm{A}}\left|\Psi_0\right\rangle &=\frac12\big[\left|00\right\rangle(\alpha\left|0\right\rangle+\beta\left|1\right\rangle)+\left|01\right\rangle(\beta\left|0\right\rangle+\alpha\left|1\right\rangle)\\ &\qquad+\left|10\right\rangle(\alpha\left|0\right\rangle-\beta\left|1\right\rangle)+\left|11\right\rangle(-\beta\left|0\right\rangle+\alpha\left|1\right\rangle)\big]\\ &=\frac12\sum_{a,b\in\{0,1\}}\left|ab\right\rangle\,X^bZ^a\left|\psi\right\rangle. \end{aligned} 각 괄호의 상태는 정규화되어 있으므로 네 결과의 확률은 모두 1/41/4다.

결과 abab Bob의 상태 Bob의 복구 연산
00 |ψ\left|\psi\right\rangle II
01 X|ψX\left|\psi\right\rangle XX
10 Z|ψZ\left|\psi\right\rangle ZZ
11 XZ|ψXZ\left|\psi\right\rangle ZXZX

ZaXbXbZa=IZ^aX^bX^bZ^a=I이므로 어느 측정 결과가 나와도 입력 상태를 정확히 복구한다.

참고: [TP93]. 이 식은 α,β\alpha,\beta를 알아야 수행할 수 있는 복구가 아니다.

얽힘을 통신 자원으로핵심C13

순간이동 예제: 복소 진폭도 그대로 전달된다

예를 들어 입력이 |ψ=32|0+i2|1\left|\psi\right\rangle=\frac{\sqrt3}{2}\left|0\right\rangle+\frac i2\left|1\right\rangle이라고 하자. 측정 결과가 ab=11ab=11이면 Bob의 상태는 XZ|ψ=i2|0+32|1.XZ\left|\psi\right\rangle=-\frac i2\left|0\right\rangle+\frac{\sqrt3}{2}\left|1\right\rangle.다. XX를 먼저 적용하고 ZZ를 적용하면 i2|0+32|1X32|0i2|1Z|ψ.-\frac i2\left|0\right\rangle+\frac{\sqrt3}{2}\left|1\right\rangle \ \xrightarrow{X}\ \frac{\sqrt3}{2}\left|0\right\rangle-\frac i2\left|1\right\rangle \ \xrightarrow{Z}\ \left|\psi\right\rangle.를 얻는다. 복구한 상태를 ZZ 기저에서 측정할 확률은 3/4,1/43/4,1/4다. 순간이동은 이 두 확률뿐 아니라 상대 위상 ii도 보존한다.

고전 메시지를 받기 전 Bob의 측정 통계를 나타내는 상태는 ρB=14a,bXbZa|ψψ|ZaXb=I2.\rho_{\mathrm{B}}=\frac14\sum_{a,b}X^bZ^a\left|\psi\right\rangle\!\left\langle\psi\right| Z^aX^b=\frac I2.이며, 입력 α,β\alpha,\beta에 의존하지 않는다. 두 비트를 전달받아야 네 가지 변환 중 어느 것을 되돌려야 하는지 알 수 있다.

측정 후 Alice의 두 큐비트는 |ab\left|ab\right\rangle 상태다. Alice에게 입력 |ψ\left|\psi\right\rangle의 독립적인 복사본이 남는 것은 아니다.

특정 입력과 측정 결과에서는 복구 연산을 생략해도 되는가? 그러한 경우가 있다는 사실과, 임의의 입력 상태를 항상 전달할 수 있다는 주장은 어떻게 다른가?

참고: [TP93]. 다음 실습에서는 측정, 고전 메시지 전달, 복구를 별도의 단계로 진행한다.

얽힘을 통신 자원으로실습L06

순간이동을 한 단계씩 따라가기

얽힘을 통신 자원으로핵심C14

초밀집 부호화: 한 큐비트를 보내 두 비트 읽기

이번에는 Alice가 두 고전 비트 a,ba,b를 보내려 한다. Alice와 Bob은 미리 벨 상태 |Φ+AB\left|\Phi^+\right\rangle_{\mathrm{A}\mathrm{B}}를 나누어 갖는다. Alice는 자신의 큐비트 AAUab=ZaXbU_{ab}=Z^aX^b를 적용한 뒤 큐비트 AA를 Bob에게 보낸다. Bob은 두 큐비트에 CNOTA,B\mathrm{CNOT}_{\mathrm{A},\mathrm{B}}HAH_{\mathrm{A}}를 차례로 적용하여 HACNOTA,B(UabI)|Φ+=|abH_{\mathrm{A}}\mathrm{CNOT}_{\mathrm{A},\mathrm{B}}(U_{ab}\otimes I)\left|\Phi^+\right\rangle=\left|ab\right\rangle를 얻고 측정한다.

미리 공유한 1 ebit의 얽힘과 큐비트 한 개의 전송으로 2 cbit를 전달한다. 벨 쌍을 미리 분배하는 데 드는 비용까지 포함하면, 총자원이 큐비트 한 개뿐이라는 뜻은 아니다.

초밀집 부호화: 한 큐비트를 보내 두 비트 읽기 — 설명 그림 벨 기저 측정 A B
초밀집 부호화: 한 큐비트를 보내 두 비트 읽기

큐비트가 도착하기 전 Bob의 축약 상태는 여전히 I/2I/2다. 도착한 뒤에는 두 큐비트를 함께 측정하여 네 직교 상태를 구별할 수 있다.

순간이동은 양자 상태를, 초밀집 부호화는 선택한 고전 비트를 전달한다. 자원 사용의 방향을 비교해 보자.

참고: [BW92]. 원 논문의 당사자 이름과 전송 방향을 현재 관례에 맞게 바꾸어 표기했다.

얽힘을 통신 자원으로계산C15

계산: 네 메시지와 네 벨 상태

|Φ±=(|00±|11)/2\left|\Phi^\pm\right\rangle=(\left|00\right\rangle\pm\left|11\right\rangle)/\sqrt2, |Ψ±=(|01±|10)/2\left|\Psi^\pm\right\rangle=(\left|01\right\rangle\pm\left|10\right\rangle)/\sqrt2라 하자.

메시지 abab Alice의 연산 ZaXbZ^aX^b 두 큐비트 상태 Bob의 복호 결과
00 II |Φ+\left|\Phi^+\right\rangle |00\left|00\right\rangle
01 XX |Ψ+\left|\Psi^+\right\rangle |01\left|01\right\rangle
10 ZZ |Φ\left|\Phi^-\right\rangle |10\left|10\right\rangle
11 ZXZX |Ψ\left|\Psi^-\right\rangle |11\left|11\right\rangle

예를 들어 1111이면 (ZXI)|Φ+=|01|102,CNOTA,B|01|102=|01|112=||1,HA||1=|11.\begin{aligned} (ZX\otimes I)\left|\Phi^+\right\rangle&=\frac{\left|01\right\rangle-\left|10\right\rangle}{\sqrt2},\\ \mathrm{CNOT}_{\mathrm{A},\mathrm{B}}\frac{\left|01\right\rangle-\left|10\right\rangle}{\sqrt2} &=\frac{\left|01\right\rangle-\left|11\right\rangle}{\sqrt2}=\left|-\right\rangle\left|1\right\rangle,\\ H_{\mathrm{A}}\left|-\right\rangle\left|1\right\rangle&=\left|11\right\rangle. \end{aligned}이다. 네 벨 상태는 서로 직교하지만, 각각에서 Alice의 부분계에 대해 부분 대각합을 취하면 Bob의 상태는 모두 I/2I/2다. 연산 순서를 XZXZ로 바꾸면 1111인 경우에 전체 부호가 달라진다. 따라서 연산 순서의 관례를 일관되게 사용해야 한다.

참고: [BW92]. 전송한 큐비트의 수와 최종 결합 측정에 사용하는 계의 차원을 구별하자.

얽힘을 통신 자원으로실습L07

두 비트를 벨 상태에 부호화하기

얽힘을 통신 자원으로핵심C21

얽힘 교환과 양자 중계기의 역할

Alice–중간 지점 사이의 벨 쌍 AB1AB_1과, 중간 지점–Charlie 사이의 벨 쌍 B2CB_2C를 준비하자. 중간 지점에서 B1,B2B_1,B_2를 벨 기저로 측정하면 측정 결과에 따라 A,CA,C가 벨 상태가 된다. 이를 얽힘 교환(entanglement swapping)이라 한다.

측정 결과를 고전 메시지로 전달하면, 양 끝 지점에서 그 결과에 따른 파울리 연산을 적용하여 정해진 벨 상태로 맞출 수 있다. 결과를 모르는 상태에서는 이 조건부 얽힘을 바로 이용할 수 없다.

얽힘 교환과 양자 중계기의 역할 — 설명 그림 벨 쌍 벨 쌍 결합 측정
얽힘 교환과 양자 중계기의 역할

이상적인 얽힘 교환만으로 장거리 통신의 잡음·손실이 해결되지는 않는다. 쌍의 생성 성공을 확인하는 과정, 저장 장치, 오류를 줄이는 절차와 기다리는 시간을 함께 고려해야 한다. 모르는 양자 신호를 복제해서 증폭하는 고전 중계 방식을 그대로 쓸 수는 없다.

참고: [SW93, BR98]. 중계기의 구현·전송률·결함 허용 구현의 분석은 후속 주제다.

얽힘을 통신 자원으로계산C22

계산: 가운데 두 큐비트를 측정하여 얽힘 잇기

네 큐비트의 순서를 A,B1,B2,CA,B_1,B_2,C로 고정하자. 초기 상태는 |Φ+AB1|Φ+B2C=12(|0000+|0011+|1100+|1111).\left|\Phi^+\right\rangle_{\mathrm{A}\mathrm{B}_1}\left|\Phi^+\right\rangle_{\mathrm{B}_2\mathrm{C}} =\frac12(\left|0000\right\rangle+\left|0011\right\rangle+\left|1100\right\rangle+\left|1111\right\rangle).이다. 큐비트들을 B1,B2B_1,B_2A,CA,C로 묶으면 같은 상태를 다음과 같이 전개할 수 있다. |Φ+AB1|Φ+B2C=12[|Φ+B1B2|Φ+AC+|ΦB1B2|ΦAC+|Ψ+B1B2|Ψ+AC+|ΨB1B2|ΨAC].\begin{aligned} \left|\Phi^+\right\rangle_{\mathrm{A}\mathrm{B}_1}\left|\Phi^+\right\rangle_{\mathrm{B}_2\mathrm{C}} =\frac12\big[&\left|\Phi^+\right\rangle_{\mathrm{B}_1\mathrm{B}_2}\left|\Phi^+\right\rangle_{\mathrm{A}\mathrm{C}} +\left|\Phi^-\right\rangle_{\mathrm{B}_1\mathrm{B}_2}\left|\Phi^-\right\rangle_{\mathrm{A}\mathrm{C}}\\ &+\left|\Psi^+\right\rangle_{\mathrm{B}_1\mathrm{B}_2}\left|\Psi^+\right\rangle_{\mathrm{A}\mathrm{C}} +\left|\Psi^-\right\rangle_{\mathrm{B}_1\mathrm{B}_2}\left|\Psi^-\right\rangle_{\mathrm{A}\mathrm{C}}\big]. \end{aligned} 오른쪽 텐서곱의 부분계는 첨자로 지정한다. 식을 확인할 때는 각 항을 원래의 네 큐비트 순서로 다시 배열해야 한다.

가운데 측정의 네 결과는 각각 확률 1/41/4로 나온다. 예를 들어 Ψ+\Psi^+를 얻으면 A,CA,CΨ+\Psi^+이고 XCX_{\mathrm{C}}Φ+\Phi^+를 만들 수 있다. Ψ\Psi^-일 때는 XCX_{\mathrm{C}} 다음 ZCZ_{\mathrm{C}}를 작용하면 Φ+\Phi^+가 된다.

결과를 무시한 평균은 14ν{Φ±,Ψ±}|νν|=IAC/4\tfrac14\sum_{\nu\in\{\Phi^\pm,\Psi^\pm\}}\left|\nu\right\rangle\!\left\langle\nu\right|=I_{\mathrm{A}\mathrm{C}}/4다. 조건부 얽힘을 이용하려면 어느 결과가 나왔는지 알아야 한다.

참고: [SW93, BR98]. 복소 벨 기저를 쓰는 다른 관례에서는 켤레와 위상을 일관되게 추적해야 한다.

얽힘을 통신 자원으로실습L09

얽힘 교환: 양 끝 지점의 상태

BB84: 기록에서 키 후보로절 안내S07

BB84: 기록에서 키 후보로

SECTION 07

BB84: 기록에서 키 후보로

어떤 기록을 남기고, 무엇을 공개하며, 무엇을 추가로 보장해야 하는가?

01기저 선택과 기록 비교
02도청 모형과 공개 검사
03키 분배와 암호화

통신에서는 자원을 구별했다. 다음에는 계산의 비용과 이득을 구별한다.

07 · BB84: 기록에서 키 후보로S07
BB84: 기록에서 키 후보로핵심C16

BB84: 네 상태로 비밀 키를 나누기

양자 키 분배는 미리 정해 둔 메시지를 순간이동시키는 과정이 아니다. Alice와 Bob이 서로 같고 도청자에게 거의 알려지지 않은 무작위 키를 만드는 과정이다. Alice는 비트 xx와 기저 θ{0,1}\theta\in\{0,1\}를 각각 균등하게, 서로 독립적으로 고른다. |ψx,θ=Hθ|x.\left|\psi_{x,\theta}\right\rangle=H^\theta\left|x\right\rangle.

x=0x=0 x=1x=1
θ=0\theta=0 (ZZ) |0\left|0\right\rangle |1\left|1\right\rangle
θ=1\theta=1 (XX) |+\left|+\right\rangle |\left|-\right\rangle

Bob도 기저를 무작위로 골라 측정한다. 이상적인 채널에서는 같은 기저를 골랐을 때 비트가 일치하고, 다른 기저에서는 결과가 무작위다.

전송 후에는 사용한 기저를 공개하고, 기저가 일치하는 위치의 비트만 남긴다. 이를 기저 대조·비트 선별(sifting)이라 한다. 두 사람이 기저를 균등하게 고르면 평균적으로 절반이 남는다.

일부 비트를 공개하여 오류율을 추정한 뒤, 나머지 비트열의 불일치를 고치는 정보 조정(information reconciliation)을 수행한다. 이어서 도청자의 정보량을 제한하기 위해 더 짧은 키를 만든다. 이 단계를 비밀성 증폭(privacy amplification)이라 한다.

고전 통신은 공개되어도 되지만 인증되어야 한다. 인증이 없으면 도청자가 양쪽에서 각각 상대방인 척할 수 있다. 이상적인 단일 큐비트 모형은 광원·검출기의 실제 결함까지 자동으로 다루지 않는다.

참고: [BB84, SP00]. BB84는 1984년 발표되었으며 2020년은 원문 스캔의 arXiv 공개 연도다.

07 · BB84: 기록에서 키 후보로계산 C17C16
BB84: 기록에서 키 후보로계산C17

예제: 기저가 같은 위치만 남기기

아래는 잡음이 없는 경우의 가능한 기록 한 개다. ZZXX는 측정 기저를 뜻한다. 다른 기저를 쓴 위치의 Bob 비트는 무작위 결과의 한 예일 뿐이다.

위치 1 2 3 4 5 6 7 8
Alice 비트 0 1 1 0 1 0 0 1
Alice 기저 ZZ XX ZZ XX XX ZZ ZZ XX
Bob 기저 ZZ ZZ ZZ XX ZZ XX ZZ XX
Bob 비트 0 0 1 0 0 1 0 1
남길 위치 1 3 4 7 8

남은 두 비트열은 모두 0100101001이다. 이 중 위치 3과 7을 검사에 쓴다면 비트 1,01,0을 공개하고 키 후보에서 제거한다. 남은 후보는 원래 위치 1,4,8의 001001이다.

이 짧은 예는 선별과 검사 절차를 보여 준다. 검사한 두 비트가 일치한다고 비밀성이 증명되는 것은 아니다. 실제 분석에서는 유한 표본의 통계적 오차, 정보 조정 중 공개한 정보, 인증 비용과 실패 확률을 함께 고려한다.

기저가 다른 위치까지 모두 키에 넣으면 어떤 문제가 생기는가? 공개한 검사 비트를 그대로 최종 키에 남겨도 되는가?

참고: [BB84, SP00]. 표시된 비트열은 이 강의에서 만든 유한 예제다.

BB84: 기록에서 키 후보로핵심C18

도청 예제: 중간에서 측정하고 다시 보내면

가장 단순한 공격을 가정하자. Eve가 비율 ff의 신호를 가로채고 ZZ 또는 XX 기저를 같은 확률로 골라 측정한 뒤, 그 결과에 해당하는 새 큐비트를 Bob에게 보낸다.

Alice와 Bob의 기저가 같아 남긴 비트 중에서 오류가 생길 확률은 Q=f4.Q=\frac f4. 모든 신호를 가로채면 Q=25%Q=25\%다. 이는 이 공격 모형의 결과이지, 모든 공격의 오류율이나 보안 임계값이 아니다.

도청 예제: 중간에서 측정하고 다시 보내면 — 설명 그림
도청 예제: 중간에서 측정하고 다시 보내면

검출된 오류가 반드시 도청 때문인 것은 아니다. 장치 잡음도 오류를 만든다. 보안 분석에서는 공격·장치 모형을 가정하고, 관측 통계로부터 도청자의 정보량에 대한 상한을 구한다.

브라우저 예제의 난수는 교육용이며 암호키 생성에 사용할 수 없다.

참고: [BB84, SP00]. 가로채기와 재전송은 이해를 위한 제한된 공격이다.

07 · BB84: 기록에서 키 후보로계산 C19C18
BB84: 기록에서 키 후보로계산C19

계산: 25% 오류율과 유한 검사 표본

조건은 Alice와 Bob의 기저가 같다는 것이다. Eve가 가로챈 신호에 대해 Pr(오류기저 일치, 공격)=Pr(Eve 기저 불일치)×Pr(반대 비트불일치)=12×12=14.\begin{aligned} \Pr(\text{오류}\mid\text{기저 일치, 공격}) &=\Pr(\text{Eve 기저 불일치})\\ &\quad\times\Pr(\text{반대 비트}\mid\text{불일치})\\ &=\tfrac12\times\tfrac12=\tfrac14. \end{aligned} 공격 여부가 독립이고 비율이 ff이면 Q=f/4,Pr(기저 일치)=1/2.Q=f/4,\qquad \Pr(\text{기저 일치})=1/2. 분모는 전체 전송 수가 아니라 기저가 일치하여 남긴 비트 수다.

각 검사 비트에 독립적으로 확률 QQ의 오류가 생기는 이 모형에서만, 검사 비트 mm개가 모두 일치할 확률은 Pmiss=(1Q)m.P_{\mathrm{miss}}=(1-Q)^m.다. f=1f=1, m=20m=20이면 Pmiss=(3/4)200.00317.P_{\mathrm{miss}}=(3/4)^{20}\simeq0.00317.다. 유한한 검사에서 오류가 관측되지 않았다는 사실만으로 도청이 없었다고 단정할 수는 없다.

일반 공격에서는 상관관계, 양자 메모리, 유한 길이 효과와 정보 누출을 다뤄야 한다. 이 때문에 위 곱셈 계산만으로 BB84의 보안이 증명되었다고 말할 수 없다.

참고: [SP00]. 일반적인 보안 증명과 단순화한 공격 모형에서의 검출 확률 계산을 구별한다.

BB84: 기록에서 키 후보로실습L08

BB84 기록에서 무엇을 남길까?

BB84: 기록에서 키 후보로핵심C20

키 분배와 암호화는 서로 다른 단계다

비밀 키 KK를 얻은 뒤 메시지 MM을 숨기는 것은 별도의 고전 과제다. 가장 단순한 일회용 패드는 같은 길이의 균등한 독립 키를 사용한다. C=MK,M=CK.C=M\oplus K,\qquad M=C\oplus K. 예를 들어 M=10110,K=01101,C=11011.M=10110,\quad K=01101,\quad C=11011. 도청자가 CC를 보더라도 키가 완전히 균등하고 비밀이며 한 번만 쓰인다면 메시지의 분포에 대한 정보가 늘지 않는다. 실제 생성 키의 근사적 비밀성은 별도의 오차 기준으로 기술한다.

같은 키를 두 번 쓰면 C1C2=M1M2C_1\oplus C_2=M_1\oplus M_2가 공개되어 두 메시지 사이의 관계가 드러난다. 일회용 패드는 짧은 비밀 키를 무한히 늘려 쓰는 방법이 아니다.

양자 키 분배는 양자 채널과 인증된 고전 채널을 사용한다. 양자 내성 암호는 양자 공격도 고려하여 설계한 고전적인 암호 기술이다. 두 용어는 동의어가 아니다.

QKD가 성공해도 수신자의 단말이 이미 침해되었다면 메시지가 안전한가? 채널 보안과 단말 보안의 가정을 구별하자.

참고: [SH49, BB84, SP00]. 여기서는 암호 구현이나 실제 보안 설정을 제공하지 않는다.

07 · BB84: 기록에서 키 후보로C20
양자 알고리즘의 판정과 비용절 안내S08

양자 알고리즘의 판정과 비용

SECTION 08

양자 알고리즘의 판정과 비용

간섭을 이용한 판정은 어떤 비교 조건에서 이득을 주는가?

01계산 가능성과 효율
02복잡도와 오라클
03도이치–조사

함수의 성질을 판정하는 문제에서 탐색과 위상 추정으로 넘어간다.

08 · 양자 알고리즘의 판정과 비용S08
양자 알고리즘의 판정과 비용핵심O18a

계산 가능한가, 효율적으로 계산 가능한가?

(1) 양자 컴퓨터는 고전 컴퓨터가 할 수 있는 계산을 모두 수행할 수 있는가? (2) 반대로 고전 컴퓨터도 양자 컴퓨터의 계산을 재현할 수 있는가?

(1)은 고전 논리 회로를 보조 비트와 토폴리(Toffoli) 게이트 등의 가역 회로로 옮겨 구현한다. (2)는 양자 상태의 변화를 선형 대수 연산으로 모사한다. 게이트의 성분이 계산 가능하고 회로를 유한하게 기술하는 표준 계산 모형에서는 계산 가능성 자체가 확장되지는 않는다. 차이는 필요한 계산 자원에 있다.

실용적으로 중요한 질문은 고전적으로 많은 계산이 필요한 문제를 양자 컴퓨터가 더 적은 자원으로 풀 수 있는가이다. 이를 비교하려면 먼저 계산 복잡도의 기본 개념을 알아야 한다.

시간 복잡도(time complexity)는 입력 길이가 증가할 때 필요한 기본 연산 횟수가 어떻게 증가하는지를 나타낸다. 이 절에서는 별도 언급이 없으면 시간 복잡도를 줄여 복잡도라 부른다.

nn개 큐비트의 일반적인 순수 상태는 2n2^n개의 복소수 진폭으로 나타난다. 이를 고전 컴퓨터에 모두 저장하는 직접적인 방법은 지수적으로 많은 메모리를 요구한다.

이것만으로 모든 양자 회로가 고전적으로 어렵다고 결론 내릴 수는 없다. 특별한 구조가 있는 회로는 훨씬 작은 표현으로 계산할 수 있다.

계산 가능성, 특정 시뮬레이션 방법의 비용, 모든 고전 알고리즘에 대한 하한은 서로 다른 주장이다. 양자 알고리즘의 장점을 말할 때 무엇을 비교했는지 명시해야 한다.

08 · 양자 알고리즘의 판정과 비용계산 O18bO18a
양자 알고리즘의 판정과 비용계산O18b

계산: 입력 길이와 시간 복잡도

입력이 커지면 필요한 계산량도 달라지므로, 실행 시간 하나만으로 알고리즘을 비교하기는 어렵다. 빅 오(big O) 표기는 증가율의 점근적 상한을 나타낸다. 시간 복잡도가 O(n2n^2)라는 것은 입력 길이 nn이 충분히 클 때 연산 횟수가 n2n^2의 일정한 상수배를 넘지 않는다는 뜻이다.

길이가 같은 입력도 내용에 따라 연산 횟수가 달라질 수 있다. 따라서 최악의 경우를 다루는지, 특정 입력 분포에 대한 평균을 다루는지 구별해야 한다.

버블 정렬(bubble sort)은 인접한 두 수를 비교하여 순서가 거꾸로이면 교환하는 과정을 반복한다. 역순 배열에는 n(n1)/2n(n-1)/2개의 역전 쌍이 있다. 한 번의 인접 교환이 이를 하나씩 줄이므로 총교환 횟수는 n2n^2에 비례한다. 따라서 최악의 경우 시간 복잡도는 O(n2n^2)다. 한 차례 순회에서 교환이 없으면 멈추도록 구현하면, 이미 정렬된 입력에서는 n1n-1번 비교하고 종료된다.

계산: 입력 길이와 시간 복잡도 — 설명 그림
입력 길이와 시간 복잡도

위 역순 배열에는 세 번의 인접 교환이 필요하다. 일반적인 nn개 역순 배열에는 역전된 쌍이 n(n1)/2n(n-1)/2개 있고, 인접 교환 한 번은 이 수를 하나 줄인다. 종료 여부를 매 순회마다 검사하는 구현에서, 이미 정렬된 배열은 n1n-1번 비교한 뒤 끝난다.

양자 알고리즘의 판정과 비용핵심O19a

복잡도 분류: P와 NP

복잡도 클래스(complexity class)는 주어진 자원 제한 아래에서 풀 수 있는 문제들의 집합이다. 이를 정의할 때는 계산 모형, 허용하는 시간·공간 자원의 상한, 문제의 종류를 지정한다.

대표적인 복잡도 클래스는 P와 NP다. P(PTIME)는 결정적 튜링 기계로 다항식 시간에 풀 수 있는 결정 문제들의 집합이다. 즉, 시간 복잡도가 O(nc)O(n^c)인 알고리즘이 존재한다. 여기서 nn은 입력 길이이고, cc는 입력과 무관한 상수다.

NP는 비결정적 다항식 시간(nondeterministic polynomial time)을 뜻한다. 비결정적 튜링 기계로 다항식 시간에 풀 수 있는 결정 문제들의 집합이다. 동치인 정의는 다음과 같다. 답이 ‘예’인 입력에는 다항식 길이의 증명서가 존재하며, 결정적 튜링 기계로 이를 다항식 시간에 검증할 수 있다. [Complexity Zoo] 참고.

정수 NN을 입력으로 주면 입력 길이는 보통 L=log2(N+1)L=\lceil\log_2(N+1)\rceil이다. NN에 비례하는 반복은 LL에 대해서는 지수적일 수 있다.

P와 NP는 결정 문제의 분류다. 예를 들어 “주어진 조건을 만족하는 해가 있는가?”라는 질문을 다룬다. NP의 검증에서는 길이가 다항식으로 제한된 증명서(certificate)가 주어진다. 답이 ‘아니오’인 입력은 어떤 증명서로도 검증을 통과해서는 안 된다.

큰 정수의 약수 dd를 받았을 때 dNd\mid N인지 확인하는 것과, dd를 직접 찾는 것은 같은 작업인가? 검증과 탐색을 구별하자.

08 · 양자 알고리즘의 판정과 비용O19a
양자 알고리즘의 판정과 비용핵심O19b · 1/2

BPP와 BQP: 확률적 계산과 양자 계산

복잡도 클래스 사이의 포함 관계에는 해결되지 않은 문제가 많다. P와 NP에 대해서는 PNP\textrm{P} \subseteq \textrm{NP}가 알려져 있지만, P=NP\textrm{P} = \textrm{NP}인지 PNP\textrm{P} \neq \textrm{NP}인지는 미해결 문제다. 이것이 클레이 수학연구소의 밀레니엄 문제 중 하나인 P 대 NP 문제다.

양자 컴퓨터와 관련된 분류는 보통 양자 튜링 기계를 가정한다.

BPP(bounded-error probabilistic polynomial time)는 확률적 튜링 기계로 다항식 시간에 풀 수 있고, 모든 입력에서 정답 확률이 적어도 2/32/3인 결정 문제들의 집합이다. 독립적으로 반복 실행한 뒤 다수결로 판정하면 오류 확률을 줄일 수 있다. P는 BPP에 포함된다.

BQP(bounded-error quantum polynomial time)는 같은 오류 확률 조건 아래에서 양자 컴퓨터로 다항식 시간에 풀 수 있는 결정 문제들의 집합이다.

BPP \subseteq BQP는 알려져 있다. 그러나 BPP가 BQP의 진부분집합인지, 두 클래스가 같은지는 미해결 문제다.

확률적 계산과 양자 계산: BPP와 BQP — 설명 그림
확률적 계산과 양자 BPP와 BQP
08 · 양자 알고리즘의 판정과 비용O19b · 1/2
양자 알고리즘의 판정과 비용핵심O19b--2 · 2/2

계산 이득의 비교: 회로·오라클·포함 관계

표준 회로 모델에서는 입력 길이에 해당하는 회로를 고전 컴퓨터로 다항식 시간에 생성할 수 있어야 한다.

그림에 없는 포함 관계를 가정하지 않는다. 특히 양자 컴퓨터가 모든 NP 문제를 빠르게 푼다고 결론 내릴 수 없다.

오라클 질의 횟수를 세는 오라클 모형 (oracle model)과 실제 게이트 수를 세는 회로 모형을 구별해야 한다. 다음 도이치–조사 예에서는 먼저 오라클 호출 횟수를 비교한다.

08 · 양자 알고리즘의 판정과 비용O19b · 2/2
양자 알고리즘의 판정과 비용핵심B03

함수를 가역적으로 계산하는 오라클

고전 함수 ff는 서로 다른 입력을 같은 출력으로 보낼 수 있다. 양자 회로에서는 입력을 보존하고 보조 레지스터에 결과를 XOR로 기록하자. Uf|x|y=|x|yf(x),Uf2=I.U_f\left|x\right\rangle\left|y\right\rangle=\left|x\right\rangle\left|y\oplus f(x)\right\rangle,\qquad U_f^2=I.

예를 들어 f(x1,x2)=x1x2f(x_1,x_2)=x_1\land x_2이면 토폴리 게이트가 이 역할을 한다.

함수를 가역적으로 계산하는 오라클 — 설명 그림
함수를 가역적으로 계산하는 오라클

y=0y=0이면 함숫값이 기록된다. 하지만 입력 xx는 지우지 않는다.

계산 중 사용한 보조 큐비트가 입력과 얽힌 채 남으면 이후의 간섭에 영향을 줄 수 있다. 필요한 출력값을 보존한 뒤 계산을 역순으로 실행하여 보조 큐비트를 초기 상태로 되돌린다. 이를 역계산(uncomputation)이라 한다.

오라클(oracle)은 함수 계산을 하나의 호출로 취급하는 계산 모형이다. 물리적인 구현 비용이 없다는 뜻은 아니다. 실제 실행 시간을 비교할 때는 입력 준비, 함수 구현, 반복 측정과 후처리 비용도 포함해야 한다.

참고: [C98, Sh97]. XOR는 길이가 같은 레지스터에 비트별로 적용한다.

08 · 양자 알고리즘의 판정과 비용B03
양자 알고리즘의 판정과 비용핵심O20a

도이치–조사: 상수 함수인가, 균형 함수인가?

함수 f:{0,1}n{0,1}f:\{0,1\}^n\to\{0,1\}가 상수 함수 또는 균형 함수라는 사전 조건(promise)을 둔다. 균형 함수는 가능한 입력의 정확히 절반에서 0, 나머지 절반에서 1을 출력한다. 목표는 두 경우를 구별하는 것이다.

도이치–조사: 상수 함수인가, 균형 함수인가? — 설명 그림
도이치–조사: 상수 함수인가, 균형 함수인가?

위 회로는 오라클을 한 번 호출한다. 입력 레지스터를 측정하여 y=0n상수 함수,y0n균형 함수y=0^n\Rightarrow\text{상수 함수},\qquad y\ne0^n\Rightarrow\text{균형 함수}로 판정한다. 사전 조건을 만족하는 함수와 이상적인 회로에서는 이 판정이 정확하다.

어떻게 상수 함수와 균형 함수를 구별할까? 함숫값은 보조 큐비트에서 직접 읽는 대신, 각 입력 성분의 진폭 부호 (amplitude sign)에 기록된다. 이어지는 두 슬라이드에서 그 과정을 계산한다.

참고: [DJ92, C98]. 함수에 대한 사전 조건이 없으면 이 판정 규칙은 일반적으로 성립하지 않는다.

양자 알고리즘의 판정과 비용계산O20b

계산: 오라클이 함숫값을 상대 위상에 기록한다

모든 큐비트에 아다마르 연산을 작용한다. |+n|=12n+1x=02n1|x(|0|1)\left|+\right\rangle^{\otimes n}\left|-\right\rangle = \frac{ 1 }{ \sqrt{2^{n+1} } } \sum_{x=0}^{2^n-1} \left|x\right\rangle(\left|0\right\rangle - \left|1\right\rangle) 함수 ff를 가역적으로 계산하는 오라클 UfU_f를 가정하자. 여기서는 UfU_f를 호출하는 횟수를 비교한다. 실제 실행 시간에는 UfU_f를 구현하는 비용도 포함된다. Uf:|x|y|x|yf(x)U_f: \left|x\right\rangle\left|y\right\rangle \mapsto \left|x\right\rangle \left|y\oplus f(x)\right\rangle

Uf12n+1x=02n1|x(|0|1)=12n+1x|x(|0f(x)|1f(x))=12n+1x|x(1)f(x)(|0|1)\begin{aligned} &U_f \frac{ 1 }{ \sqrt{ 2^{n+1} } } \sum_{x=0}^{2^n-1} \left|x\right\rangle(\left|0\right\rangle - \left|1\right\rangle)\\ &=\frac{ 1 }{ \sqrt{2^{n+1} } } \sum_x \left|x\right\rangle ( \left| 0 \oplus f(x)\right\rangle - \left|1 \oplus f(x)\right\rangle )\\ &= \frac{ 1 }{ \sqrt{2^{n+1} } }\sum_x \left|x\right\rangle (-1)^{f(x)} ( \left| 0 \right\rangle - \left| 1 \right\rangle ) \end{aligned}

X|=|X\left|-\right\rangle=-\left|-\right\rangle이므로 Uf|x|=(1)f(x)|x|.U_f\left|x\right\rangle\left|-\right\rangle=(-1)^{f(x)}\left|x\right\rangle\left|-\right\rangle. 보조 상태는 분리된 채 남는다. 따라서 다음 계산에서는 |\left|-\right\rangle를 생략해도 된다.

양자 알고리즘의 판정과 비용계산O21a

계산: 마지막 간섭과 판정 확률

12n+1x|x(1)f(x)(|0|1)\frac{ 1 }{ \sqrt{2^{n+1} } }\sum_x \left|x\right\rangle (-1)^{f(x)} ( \left| 0 \right\rangle - \left| 1 \right\rangle )

Hn|k=12nj=02n1(1)kj|jH^{\otimes n}\left|k\right\rangle = \frac{1}{\sqrt{2^n}} \sum_{j=0}^{2^n-1} (-1)^{k \cdot j} \left|j\right\rangle이다. kjk\cdot j는 대응하는 자리의 비트끼리 곱하여 더한 뒤 22로 나눈 나머지다. 입력과 분리된 보조 상태 |\left|-\right\rangle를 생략하고, 입력 레지스터에 다시 아다마르 게이트를 적용하면 12nx(1)f(x)12ny=02n1(1)xy|y=y[12nx(1)f(x)(1)xy]|y\begin{aligned} &\frac{1}{\sqrt{2^n}} \sum_{x} (-1)^{f(x)} \frac{1}{\sqrt{2^n}} \sum_{y=0}^{2^n-1} (-1)^{x \cdot y} \left|y\right\rangle\\ &= \sum_y \left[ \frac{1}{2^n} \sum_{x} (-1)^{f(x)} (-1)^{x\cdot y}\right] \left|y\right\rangle \end{aligned}를 얻는다.

이제 입력 전체가 |0n\left|0\right\rangle^{\otimes n}으로 측정될 확률 Pr(0n)=|2nx=02n1(1)f(x)|2\Pr(0^n)=\left|2^{-n}\sum_{x=0}^{2^n-1}(-1)^{f(x)}\right|^2 을 고려하자. 상수 함수이면 합이 ±2n\pm2^n이므로 확률은 11이다. 균형 함수이면 양ㆍ음의 항이 상쇄되므로 00이다.

y=0ny=0^n의 진폭을 계산할 때는 xy=0x\cdot y=0이다. 따라서 모든 입력별 부호를 같은 비중으로 더한다. 상수 함수에서는 같은 부호가 보강되고, 균형 함수에서는 서로 반대인 부호가 상쇄된다. Pr(0n)={1,f가 상수 함수,0,f가 균형 함수.\Pr(0^n)=\begin{cases}1,&f\text{가 상수 함수},\\0,&f\text{가 균형 함수}.\end{cases}

참고: [DJ92, C98]. 고전 계산과의 비교는 유한 예제 뒤에서 따로 정리한다.

양자 알고리즘의 판정과 비용핵심A07

도이치–조사: 두 입력 큐비트로 직접 확인하기

n=2n=2인 경우를 끝까지 계산해 보자. 균형 함수 f(x1,x2)=x1x2f(x_1,x_2)=x_1\oplus x_2를 택하면 오라클은 두 CNOT으로 구현된다. 아래 회로의 보조 큐비트는 |1\left|1\right\rangle에서 출발한다.

도이치–조사: 두 입력 큐비트로 직접 확인하기 — 설명 그림
도이치–조사: 두 입력 큐비트로 직접 확인하기

오라클 뒤에는 입력 xx에 따라 부호 (1)f(x)(-1)^{f(x)}가 붙는다. 마지막 HHH\otimes H를 작용하면 입력 부분의 출력은 반드시 11이다.

xx f(x)f(x) (1)f(x)(-1)^{f(x)}
00 0 +1+1
01 1 1-1
10 1 1-1
11 0 +1+1

상수 함수 f=0f=0이면 오라클은 항등연산이고 최종 출력은 00이다. f=1f=1이면 보조 큐비트에 XX를 작용한다. 전체 부호만 바뀌므로 출력은 역시 00이다.

단, 모든 균형 함수가 11을 출력하는 것은 아니다. 일반적인 판정 기준은 “00이 나오는가?”다.

참고: [DJ92, C98]. 이 예의 오라클 회로는 함수가 어떻게 구현되는지도 보여 주기 위한 것이다.

08 · 양자 알고리즘의 판정과 비용계산 A08A07
양자 알고리즘의 판정과 비용계산A08

계산: 네 입력 성분의 부호와 간섭

오라클 직전의 상태는 12x{00,01,10,11}|x|\tfrac12\sum_{x\in\{00,01,10,11\}}\left|x\right\rangle\left|-\right\rangle다. X|=|X\left|-\right\rangle=-\left|-\right\rangle이므로 오라클 뒤의 입력 부분은 12(|00|01|10+|11)=||.\frac12(\left|00\right\rangle-\left|01\right\rangle-\left|10\right\rangle+\left|11\right\rangle) =\left|-\right\rangle\otimes\left|-\right\rangle. 두 입력 큐비트에 HH를 작용하면 H|=|1H\left|-\right\rangle=\left|1\right\rangle이므로 |11\left|11\right\rangle을 얻는다. 행렬로도 직접 확인할 수 있다. (HH)12(1111)=14(1111111111111111)(1111)=(0001).(H\otimes H)\frac12\begin{pmatrix}1\\-1\\-1\\1\end{pmatrix} =\frac14\begin{pmatrix} 1&1&1&1\\1&-1&1&-1\\1&1&-1&-1\\1&-1&-1&1 \end{pmatrix}\begin{pmatrix}1\\-1\\-1\\1\end{pmatrix} =\begin{pmatrix}0\\0\\0\\1\end{pmatrix}. 첫 성분에서는 111+1=01-1-1+1=0으로 상쇄되고, 마지막 성분에서는 네 항이 같은 부호로 더해진다. 이것이 함숫값에 붙인 부호를 측정 결과로 바꾸는 간섭이다.

상수 함수이면 입력 벡터는 ±(1,1,1,1)T/2\pm(1,1,1,1)^T/2이고 같은 계산으로 ±(1,0,0,0)T\pm(1,0,0,0)^T를 얻는다. 보조 큐비트는 끝까지 |\left|-\right\rangle에 머물며 입력 부분과 분리되어 있다.

양자 알고리즘의 판정과 비용실습L10

도이치–조사: 사전 조건을 벗어나면

양자 알고리즘의 판정과 비용핵심O21b

도이치–조사의 이득과 비교의 조건

고전 결정론적 방법으로 오류 없이 판정할 때를 생각하자. 서로 다른 두 함숫값을 보면 바로 균형 함수임을 안다. 하지만 최악의 경우에는 2n1+12^{n-1}+1개의 서로 다른 입력을 확인해야 한다. 그때까지 값이 모두 같으면 상수 함수다.

양자 회로는 같은 사전 조건에서 UfU_f를 한 번만 호출한다. 따라서 오류 없이 판정하는 데 필요한 질의 복잡도(query complexity)에 차이가 있다.

고전 알고리즘에 작은 오류 확률을 허용하면 비교가 달라진다. 독립적으로 균등하게 고른 입력 mm개에서 값이 모두 같을 때만 상수라고 하자. 균형 함수를 상수로 오인할 확률은 2(12)m=21m2\left(\frac12\right)^m=2^{1-m} 이다. nn과 무관하게 작은 오류 확률을 얻는다.

따라서 이 예가 BPPBQP\mathrm{BPP}\ne\mathrm{BQP}를 증명하는 것은 아니다. 사이먼의 문제는 오라클 모델에서 다른 분리를 주며, 쇼어의 인수분해는 또 다른 문제다. 일반적인 고전 계산의 하한과 혼동하지 말자.

참고: [C98]. 실제 실행 시간에서는 오라클의 구현 비용도 비교해야 한다.

08 · 양자 알고리즘의 판정과 비용O21b
진폭 증폭과 위상 추정절 안내S09

진폭 증폭과 위상 추정

SECTION 09

진폭 증폭과 위상 추정

간섭으로 진폭을 바꾸고, 측정 결과에서 어떻게 답을 얻는가?

01그로버의 반복
02위상 추정과 푸리에 변환
03주기 찾기와 인수분해

계산의 원리를 이해했다면, 이제 오류로부터 그 계산을 보호해야 한다.

09 · 진폭 증폭과 위상 추정S09
진폭 증폭과 위상 추정핵심A09

그로버 탐색: 네 후보 중 하나 찾기

후보는 00,01,10,1100,01,10,11이고 정답은 하나라고 하자. 정답 여부를 확인하는 연산을 이용하여 정답의 진폭에만 부호를 바꿀 수 있다고 가정한다. Ow|x=(1)[x=w]|x.O_w\left|x\right\rangle=(-1)^{[x=w]}\left|x\right\rangle. 먼저 모든 후보의 진폭이 같은 상태를 준비한다. |s=H2|00=12x|x.\left|s\right\rangle=H^{\otimes2}\left|00\right\rangle=\frac12\sum_x\left|x\right\rangle. w=11w=11인 예에서 OwO_w를 한 번 작용한 다음 D=2|ss|ID=2\left|s\right\rangle\!\left\langle s\right|-I 를 작용한다. 결과는 정확히 |11\left|11\right\rangle이다.

DD는 각 진폭 axa_x를 평균값 a\bar a를 기준으로 2aax2\bar a-a_x로 바꾼다. 이 진폭 반전 과정을 다음 슬라이드에서 계산하자.

그로버 탐색: 네 후보 중 하나 찾기 — 설명 그림 평균 기준 진폭 반전
그로버 탐색: 네 후보 중 하나 찾기

참고: [Gr96]. 막대는 확률이 아니라 실수 진폭이다.

진폭 증폭과 위상 추정계산A10

계산: 한 번의 그로버 반복

기저 순서를 00,01,10,1100,01,10,11로 정하자. 정답이 11이면 |s=12(1111),O11=diag(1,1,1,1),O11|s=12(1111).\left|s\right\rangle=\frac12\begin{pmatrix}1\\1\\1\\1\end{pmatrix},\qquad O_{11}=\operatorname{diag}(1,1,1,-1),\qquad O_{11}\left|s\right\rangle=\frac12\begin{pmatrix}1\\1\\1\\-1\end{pmatrix}. 진폭의 평균은 a=(1/2+1/2+1/21/2)/4=1/4\bar a=(1/2+1/2+1/2-1/2)/4=1/4다. 일반적인 벡터 |v=xax|x\left|v\right\rangle=\sum_xa_x\left|x\right\rangle에 대해 D|v=2|ss|v|v=x(2aax)|xD\left|v\right\rangle=2\left|s\right\rangle\left\langle s\middle|v\right\rangle-\left|v\right\rangle =\sum_x(2\bar a-a_x)\left|x\right\rangle 이므로 앞의 세 진폭은 2(1/4)1/2=02(1/4)-1/2=0, 정답의 진폭은 2(1/4)(1/2)=12(1/4)-(-1/2)=1이 된다. D=12(1111111111111111),DO11|s=(0001).D=\frac12\begin{pmatrix}-1&1&1&1\\1&-1&1&1\\1&1&-1&1\\1&1&1&-1\end{pmatrix},\qquad DO_{11}\left|s\right\rangle=\begin{pmatrix}0\\0\\0\\1\end{pmatrix}. D=DD^\dagger=D, D2=ID^2=I이므로 이는 허용되는 유니타리 연산이다. 정답이 다른 위치에 있어도 같은 계산이 성립한다.

진폭 증폭과 위상 추정핵심A11

그로버 탐색의 반복 횟수와 비용

정답이 하나인 N=2nN=2^n개의 후보를 구조 없이 검사하는 오라클 문제에서는, 그로버 반복으로 상수 이상의 성공 확률을 얻는 데 O(N)O(\sqrt N)번의 호출이면 충분하다. 고전적인 방법은 최악의 입력에 대해 Ω(N)\Omega(N)번이 필요하다.

오라클 호출 횟수의 증가율이 제곱근 수준으로 줄어드는 이차적 속도 향상 (quadratic speedup)이다. 하지만 N=2nN=2^n이면 N=2n/2\sqrt N=2^{n/2}이므로 입력 큐비트 수 nn에 대한 다항식 시간 알고리즘이 된다는 뜻은 아니다.

네 후보에서는 한 번으로 정확히 찾았지만, 일반적인 NN에서는 적절한 횟수만큼 반복해야 한다. 너무 많이 반복하면 성공 확률이 다시 낮아질 수도 있다.

실제 계산 시간은 오라클 호출 횟수만으로 결정되지 않는다.

데이터를 양자 상태로 준비하는 비용과 정답 판정 회로의 비용을 포함해야 한다. 모든 문제에서 양자 컴퓨터가 빠른 것은 아니다.

그로버 탐색의 반복 횟수와 비용 — 설명 그림 오라클과 나머지 게이트
그로버 탐색의 반복 횟수와 비용

오류 정정은 이 알고리즘들의 부호와 진폭을 긴 계산 동안 보호하기 위한 것이다.

참고: [Gr96, C98]. 구조 없는 오라클 모형과 실제 응용의 총비용을 구분한다.

진폭 증폭과 위상 추정실습L11

그로버 탐색: 반복 횟수는 얼마나?

진폭 증폭과 위상 추정핵심B04

위상 추정: 위상을 이진수로 읽어내기

U|u=e2πiφ|uU\left|u\right\rangle=e^{2\pi i\varphi}\left|u\right\rangle인 고유 상태 |u\left|u\right\rangle가 준비되어 있다고 하자. 여기서 0φ<10\le\varphi<1이고 실제 위상각은 2πφ2\pi\varphi다. 세 보조 큐비트로 φ=3/8\varphi=3/8을 읽는 예를 보자.

위상 추정: 위상을 이진수로 읽어내기 — 설명 그림
위상 추정: 위상을 이진수로 읽어내기

상단 비트가 가장 큰 자릿값을 나타낸다. 제어된 U4,U2,UU^4,U^2,U를 거치면 보조 레지스터는 18x=07e2πixφ|x\frac1{\sqrt8}\sum_{x=0}^{7}e^{2\pi i x\varphi}\left|x\right\rangle 가 된다. 역 양자 푸리에 변환 F8F_8^\dagger가 이 위상 패턴을 |3=|011\left|3\right\rangle=\left|011\right\rangle로 바꾼다.

일반적인 위상은 유한한 이진수로 정확히 표현되지 않는다. 그때는 가까운 값들을 확률적으로 얻으며 정밀도에 맞추어 보조 큐비트와 제어 연산을 준비해야 한다.

참고: [C98]. 이 슬라이드는 고유 상태가 주어진 이상적인 위상 추정의 예다.

진폭 증폭과 위상 추정계산B05

계산: 푸리에 변환이 위상을 구별하는 이유

Q=2tQ=2^t이고, 다음 부호 약속으로 양자 푸리에 변환을 정의하자. FQ|j=1Qy=0Q1e2πijy/Q|y.F_Q\left|j\right\rangle=\frac1{\sqrt Q}\sum_{y=0}^{Q-1}e^{2\pi i jy/Q}\left|y\right\rangle. 위상 추정의 입력 레지스터에 역변환을 작용하면 FQ1Qxe2πixφ|x=yay|y,ay=1Qx=0Q1e2πix(φy/Q).\begin{aligned} F_Q^\dagger\frac1{\sqrt Q}\sum_xe^{2\pi i x\varphi}\left|x\right\rangle &=\sum_y a_y\left|y\right\rangle,\\ a_y&=\frac1Q\sum_{x=0}^{Q-1}e^{2\pi i x(\varphi-y/Q)}. \end{aligned} φ=m/Q\varphi=m/Q이면 y=my=m에서 모든 항이 1이고, ymy\ne m에서는 등비수열의 합이 0이다. ay=1Q1e2πi(my)1e2πi(my)/Q=0(ym),am=1.a_y=\frac1Q\frac{1-e^{2\pi i(m-y)}}{1-e^{2\pi i(m-y)/Q}}=0\quad(y\ne m),\qquad a_m=1. 따라서 Q=8Q=8, φ=3/8\varphi=3/8에서는 반드시 011011을 얻는다. 일반적인 경우에도 위 합의 절댓값 제곱이 각 결과의 확률이다.

FQF_QQ×QQ\times Q 행렬을 통째로 구현하는 것이 아니라, 아다마르와 제어 위상 게이트로 분해한다. tt큐비트의 정확한 QFT는 O(t2)O(t^2)개의 이런 게이트와 비트 순서 반전으로 구현할 수 있다. 제어된 U2jU^{2^j}의 비용은 별도로 세어야 한다.

참고: [C98, Sh97]. 비트 순서 반전까지 포함한 FQF_Q를 사용한다.

진폭 증폭과 위상 추정실습L12

유한 정밀도에서의 위상 추정

진폭 증폭과 위상 추정핵심B06

쇼어 알고리즘: 인수분해를 주기 찾기로 바꾸기

N=15N=15, a=2a=2를 택하자. gcd(a,N)=1\gcd(a,N)=1이고, ar1(modN)a^r\equiv1\pmod N인 최소 양의 정수 rr을 찾는다.

xx 0 1 2 3 4 5 6 7 8
2xmod152^x\bmod15 1 2 4 8 1 2 4 8 1

이 예의 주기는 r=4r=4다. 답을 모르는 큰 문제에서는 함수의 모든 값을 나열하지 않고 주기 정보를 얻어야 한다.

쇼어 알고리즘: 인수분해를 주기 찾기로 바꾸기 — 설명 그림
쇼어 알고리즘: 인수분해를 주기 찾기로 바꾸기

입력 레지스터에 8큐비트, 함숫값을 담는 레지스터에 4큐비트를 사용한다. 모듈러 연산의 임시 보조 큐비트는 별도로 필요할 수 있다. 계산 뒤의 상태는 116x=0255|x|2xmod15\frac1{16}\sum_{x=0}^{255}\left|x\right\rangle\left|2^x\bmod 15\right\rangle다.

함숫값을 측정하여 1을 얻었다고 하자. 입력은 x=0,4,,252x=0,4,\ldots,252의 균등 중첩으로 남는다. 푸리에 변환 후에는 y=0,64,128,192y=0,64,128,192만 나온다. 다른 함숫값에서도 같은 출력 확률을 얻는다.

참고: [Sh97]. 작은 검산용 예다. 주기 찾기는 알려진 고유 상태의 준비를 요구하지 않는다.

진폭 증폭과 위상 추정계산B07

계산: 주기 4가 푸리에 출력에 나타나는 과정

두 번째 레지스터의 측정으로 xx0(mod4)x\equiv x_0\pmod4가 선택되었다고 하자. x0{0,1,2,3}x_0\in\{0,1,2,3\}다. 정규화된 입력 상태와 역 푸리에 변환의 진폭은 |ψx0=18k=063|x0+4k,ay=1128e2πix0y/256k=063e2πiky/64.\begin{aligned} \left|\psi_{x_0}\right\rangle&=\frac18\sum_{k=0}^{63}\left|x_0+4k\right\rangle,\\ a_y&=\frac1{128}e^{-2\pi i x_0 y/256}\sum_{k=0}^{63}e^{-2\pi i ky/64}. \end{aligned} yy가 64의 배수이면 합은 64이고, 아니면 등비수열의 합이 0이다. 따라서 Pr(y)={1/4,y{0,64,128,192},0,그 밖의 경우.\Pr(y)=\begin{cases}1/4,&y\in\{0,64,128,192\},\\0,&\text{그 밖의 경우}.\end{cases} x0x_0는 진폭의 위상에만 들어가므로 측정 확률은 바뀌지 않는다. 함숫값을 실제로 측정하지 않고 그 레지스터를 무시해도 같은 확률분포를 얻는다.

고전적인 후처리에는 y/Q{0,1/4,1/2,3/4}y/Q\in\{0,1/4,1/2,3/4\}를 사용한다. 1/41/4 또는 3/43/4의 분모는 r=4r=4다. 1/21/2에서는 분모 2만 보이지만 221(mod15)2^2\not\equiv1\pmod{15}이므로 그 값을 주기로 확정해서는 안 된다. 추가 표본이나 후보 검사가 필요하다.

참고: [Sh97]. 이 예는 rQr\mid Q여서 정확하다. 일반적으로는 근사값에서 연분수로 후보를 찾는다.

진폭 증폭과 위상 추정핵심B08

주기를 찾은 뒤: 고전적인 계산으로 인수 얻기

확인된 주기 r=4r=4를 이용하자. 241=(221)(22+1)=35.2^4-1=(2^2-1)(2^2+1)=3\cdot5. gcd(2r/21,15)=3,gcd(2r/2+1,15)=5.\gcd(2^{r/2}-1,15)=3,\qquad \gcd(2^{r/2}+1,15)=5.

일반적인 홀수 합성수 NN에서는 aa를 택하고 먼저 gcd(a,N)\gcd(a,N)을 구한다. 이미 비자명한 약수를 얻으면 끝이다. 그렇지 않으면 주기 찾기를 수행한다. rr이 짝수이고 ar/2±1(modN)a^{r/2}\not\equiv\pm1\pmod N인 경우, 위 두 최대공약수로 비자명한 인수를 얻는다. 실패하면 다른 표본이나 aa로 반복한다.

짝수와 완전 거듭제곱의 처리는 고전적인 전처리로 할 수 있다. 실제 양자 회로에서는 모듈러 곱셈과 그 제어 거듭제곱도 효율적으로 구현해야 한다.

쇼어 알고리즘의 실행 시간은 입력 길이 logN\log N의 다항식으로 제한된다. 이것은 모든 NP 문제의 해결법이라는 뜻이 아니며, 고전적인 다항식 인수분해의 불가능성을 증명한 것도 아니다.

출력은 모든 함숫값의 목록이 아니라 주기를 추정할 표본이다. 양자 간섭과 고전적인 검증을 연결하여 답을 얻는다.

참고: [Sh97]. 뒤에 나오는 쇼어의 9큐비트 부호는 이 인수분해 알고리즘과 다른 것이다.

진폭 증폭과 위상 추정실습L13

측정값에서 주기 후보와 인수 구하기

양자 정보를 읽지 않고 보호하기절 안내S10

양자 정보를 읽지 않고 보호하기

SECTION 10

양자 정보를 읽지 않고 보호하기

정보를 직접 측정하지 않고 오류의 흔적만 알아낼 수 있는가?

01패리티와 보조 큐비트
02비트·위상 오류와 신드롬
03오류 정정 조건

개별 회로의 검사를 안정자 부호라는 구조로 묶는다.

10 · 양자 정보를 읽지 않고 보호하기S10
양자 정보를 읽지 않고 보호하기핵심B09

양자 정보를 측정해 버리지 않고 오류를 알 수 있을까?

미지의 상태 |ψ=a|0+b|1\left|\psi\right\rangle=a\left|0\right\rangle+b\left|1\right\rangle를 여러 번 복제할 수는 없다. 대신 더 큰 공간의 두 상태에 논리 정보를 부호화한다. |0L=|000,|1L=|111,|ψL=a|000+b|111.\left|0_{\mathrm{L}}\right\rangle=\left|000\right\rangle,\quad\left|1_{\mathrm{L}}\right\rangle=\left|111\right\rangle,\quad \left|\psi_{\mathrm{L}}\right\rangle=a\left|000\right\rangle+b\left|111\right\rangle.

각 데이터 큐비트를 직접 측정하면 a,ba,b 사이의 중첩을 잃는다. 그러나 이웃 두 비트가 같은지 확인하는 검사는 000과 111을 구별하지 않는다. Z1Z2|ψL=|ψL,Z2Z3|ψL=|ψL.Z_1Z_2\left|\psi_{\mathrm{L}}\right\rangle=\left|\psi_{\mathrm{L}}\right\rangle,\qquad Z_2Z_3\left|\psi_{\mathrm{L}}\right\rangle=\left|\psi_{\mathrm{L}}\right\rangle. 한 비트만 뒤집히면 이 검사값의 일부가 바뀐다.

양자 정보를 측정해 버리지 않고 오류를 알 수 있을까? — 설명 그림 패리티 정보
양자 정보를 측정해 버리지 않고 오류를 알 수 있을까?

오류 검사에서 얻는 측정 결과를 오류 신드롬(error syndrome)이라 한다. 신드롬은 오류에 대한 정보를 제공하지만, 보호하려는 논리 상태의 계수를 알려 주지는 않는다.

10 · 양자 정보를 읽지 않고 보호하기B09
양자 정보를 읽지 않고 보호하기핵심O23a

패리티 측정: 각 비트 대신 홀짝성 읽기

M=Z1Z2Z3Z4Z5M=Z_1Z_2Z_3Z_4Z_5를 생각하자. 계산 기저에서 1의 개수가 짝수이면 고윳값은 +1+1, 홀수이면 1-1이다. 이런 홀짝성을 패리티(parity)라 한다. 아직 부호를 정하지 않았으므로 여기서는 MM을 논리 연산자라고 부르지 않는다.

패리티 측정: 각 비트 대신 홀짝성 읽기 — 설명 그림
패리티 측정: 각 비트 대신 홀짝성 읽기

보조 큐비트의 측정값이 0이면 M=+1M=+1, 1이면 M=1M=-1인 성분이 남는다. PM(±)=I±M2.P_M^{(\pm)}=\frac{I\pm M}{2}. 데이터가 처음부터 MM의 고유 상태이면 이 이상적인 측정으로 변하지 않는다. 하지만 고유 상태가 아니라면 일반적으로 변한다.

개별 비트의 값은 공개하지 않아도 전체 곱의 고윳값을 알 수 있다. 앞의 두 비트 검사도 같은 원리다.

양자 정보를 읽지 않고 보호하기계산O35a

계산: 제어 연산과 사영 측정

M=MM^\dagger=M, M2=IM^2=I인 연산자에 대해 제어된 MM을 정의하자. CM=|00|I+|11|M.C_M=\left|0\right\rangle\!\left\langle 0\right|\otimes I+\left|1\right\rangle\!\left\langle 1\right|\otimes M. 보조 큐비트에 HH, CMC_M, HH를 차례로 작용하면 (HI)CM(HI)|0|ψ=(HI)|0|ψ+|1M|ψ2=|0(I+M)|ψ+|1(IM)|ψ2=|0PM(+)|ψ+|1PM()|ψ.\begin{aligned} (H\otimes I)C_M(H\otimes I)\left|0\right\rangle\left|\psi\right\rangle &=(H\otimes I)\frac{\left|0\right\rangle\left|\psi\right\rangle+\left|1\right\rangle M\left|\psi\right\rangle}{\sqrt2}\\ &=\frac{\left|0\right\rangle(I+M)\left|\psi\right\rangle+\left|1\right\rangle(I-M)\left|\psi\right\rangle}2\\ &=\left|0\right\rangle P_M^{(+)}\left|\psi\right\rangle+\left|1\right\rangle P_M^{(-)}\left|\psi\right\rangle. \end{aligned} 측정 확률은 p±=ψ|PM(±)|ψp_\pm=\left\langle\psi\right|P_M^{(\pm)}\left|\psi\right\rangle이고, 확률이 0이 아닌 결과의 데이터 상태는 PM(±)|ψ/p±P_M^{(\pm)}\left|\psi\right\rangle/\sqrt{p_\pm}다.

M|ψ=+|ψM\left|\psi\right\rangle=+\left|\psi\right\rangle이면 전체 상태는 |0|ψ\left|0\right\rangle\left|\psi\right\rangle이고, M|ψ=|ψM\left|\psi\right\rangle=-\left|\psi\right\rangle이면 |1|ψ\left|1\right\rangle\left|\psi\right\rangle다. 두 경우 데이터와 보조 큐비트는 측정 직전에도 분리되어 있다.

부호 공간을 +1+1 고유공간으로 정하더라도 +1+1 결과가 자동으로 나오는 것은 아니다. 결과를 선택하거나, 측정값에 맞는 복구를 해야 한다.

양자 정보를 읽지 않고 보호하기계산O35b

계산: 왜 이 연산자가 사영인가?

서로 가환하고 si=sis_i^\dagger=s_i, si2=Is_i^2=I을 만족하는 검사 연산자 {si}\{s_i\}를 생각하자. 이들의 고유공간으로 보내는 사영 연산자(projection operator)를 다음과 같이 정의한다. Pi(±):=12(1±si)P_i^{(\pm)} := \frac{1}{2} \left( 1 \pm s_i\right)를 적용하면 sis_i의 고윳값이 ±1\pm 1인 성분만 남는다. 실제로 (Pi(±))2=14(1±si)2=14(1+si2±2si)=14(2±2si)=Pi(±)\begin{aligned} \left( P_i^{(\pm)} \right)^2 &= \frac{1}{4} \left( 1 \pm s_i\right)^2 = \frac{1}{4} \left( 1 + s_i^2 \pm 2 s_i \right)\\ &= \frac{1}{4} \left( 2 \pm 2 s_i \right) = P_i^{(\pm)} \end{aligned}이고 siPi(±)|ψ=si12(1±si)|ψ=12(si±1)|ψ=±Pi(±)|ψ\begin{aligned} s_i P_i^{(\pm)} \left|\psi\right\rangle &= s_i \frac{1}{2} (1 \pm s_i) \left|\psi\right\rangle= \frac{1}{2}(s_i \pm 1) \left|\psi\right\rangle\\ &= \pm P_i^{(\pm)} \left|\psi\right\rangle \end{aligned}이다. 따라서 Pi(±)|ψ0P_i^{(\pm)}\left|\psi\right\rangle \neq 0이면 Pi(±)|ψP_i^{(\pm)} \left|\psi\right\rangle는 고윳값 ±1\pm 1에 속하는 고유 상태다.

또한 Pi(+)+Pi()=IP_i^{(+)}+P_i^{(-)}=I, Pi(+)Pi()=0P_i^{(+)}P_i^{(-)}=0이다. 따라서 두 고유공간은 서로 직교하며 전체 공간을 나눈다.

여러 검사가 서로 가환하면 PC=i(I+si)/2P_C=\prod_i(I+s_i)/2 역시 사영이다. 하지만 시작 벡터가 그 공간과 직교하면 PC|ψ=0P_C\left|\psi\right\rangle=0이다. 사영을 쓰는 수학적 구성과, 상태를 성공 확률 1로 준비하는 물리적 절차는 구별해야 한다.

양자 정보를 읽지 않고 보호하기핵심O24a

비트 반전 오류: 세 큐비트 부호와 신드롬

비트 반전 오류: 세 큐비트 부호와 신드롬 — 설명 그림 오류 복구
비트 반전 오류: 세 큐비트 부호와 신드롬

|ψ=a|0+b|1\left|\psi\right\rangle = a \left|0\right\rangle+ b \left|1\right\rangle라 하자. 그림의 오류 구간(Error) 직전 상태는 a|000+b|111a \left|000\right\rangle + b \left|111\right\rangle이다.

첫째 보조 큐비트에는 q0q_0q1q_1이 다른지가, 둘째 보조 큐비트에는 q1q_1q2q_2가 다른지가 기록된다. 이를 이용하면 한 큐비트에서 발생한 비트 반전, 즉 XX 오류의 위치를 알아낼 수 있다.

q0q_0 q1q_1 q2q_2 a0a_0 a1a_1
0 0 0 0 0
1 0 0 1 0
0 1 0 1 1
0 0 1 0 1

|111\left|111\right\rangle에 대해서도 같은 방식으로 표를 구할 수 있다. 오류 검사에서 얻는 측정 결과가 신드롬이다. 단일 오류를 가정하면, 신드롬이 가리키는 큐비트에 X를 적용하여 오류를 정정한다.

10 · 양자 정보를 읽지 않고 보호하기계산 O24bO24a
양자 정보를 읽지 않고 보호하기계산O24b

계산: 두 보조 큐비트에 패리티 기록하기

이후 게이트를 통과하면 CNOT3,5CNOT2,5CNOT2,4CNOT1,4|q0q1q200=CNOT3,5CNOT2,5CNOT2,4|q0q1q2(q00)0=CNOT3,5CNOT2,5|q0q1q2(q1q0)0=|q0q1q2a0a1\begin{aligned} &\operatorname{CNOT}_{3,5} \operatorname{CNOT}_{2,5} \operatorname{CNOT}_{2,4} \operatorname{CNOT}_{1,4} \left|q_0 q_1 q_2\,00\right\rangle\\ &=\operatorname{CNOT}_{3,5} \operatorname{CNOT}_{2,5}\operatorname{CNOT}_{2,4} \left|q_0q_1q_2(q_0 \oplus 0)0\right\rangle\\ &=\operatorname{CNOT}_{3,5} \operatorname{CNOT}_{2,5}\left|q_0q_1q_2(q_1 \oplus q_0)0\right\rangle\\ &=\left|q_0q_1q_2a_0a_1\right\rangle \end{aligned} 가 된다. 여기서 a0=q0q1a_0=q_0\oplus q_1, a1=q1q2a_1=q_1\oplus q_2다.

비트 q0,q1,q2q_0,q_1,q_2의 표기에서 첫 보조 비트에는 q0q1q_0\oplus q_1, 둘째에는 q1q2q_1\oplus q_2가 기록된다. 따라서 오류 위치와 신드롬은 I00,X110,X211,X301.I\leftrightarrow00,\quad X_1\leftrightarrow10,\quad X_2\leftrightarrow11,\quad X_3\leftrightarrow01. 부호화된 000과 111에는 같은 검사 결과가 대응한다. 선형성 때문에 a|000+b|111a\left|000\right\rangle+b\left|111\right\rangle의 계수도 보존된다.

두 곳 이상에 오류가 생기면 같은 신드롬으로 잘못 복구할 수 있다. 예를 들어 X1X2X_1X_2X3X_3은 같은 신드롬을 갖지만, 뒤의 복구를 적용하면 X1X2X3X_1X_2X_3이라는 논리 오류가 남는다.

양자 정보를 읽지 않고 보호하기실습L14

오류를 찾았는데 복구가 실패하는 경우

양자 정보를 읽지 않고 보호하기핵심O25

위상 반전 오류: 기저를 바꾸어 같은 검사 사용하기

위상 반전 오류: 기저를 바꾸어 같은 검사 사용하기 — 설명 그림 오류 복구
위상 반전 오류: 기저를 바꾸어 같은 검사 사용하기

두 번째 아다마르 이후에는 HZH=XHZH=X를 작용하여 고친다. 이 회로의 출력은 a|000+b|111a\left|000\right\rangle+b\left|111\right\rangle이다. 위상 오류를 보호하는 부호 공간으로 돌아가려면 마지막에 H3H^{\otimes3}을 한 번 더 작용해야 한다.

|ψ=a|000+b|111\left|\psi\right\rangle = a \left|000\right\rangle + b \left|111\right\rangle에 아다마르 게이트를 적용하면 Ĥ3Ĥ2Ĥ1|ψ=a|++++b|\hat{H}_3 \hat{H}_2 \hat{H}_1 \left|\psi\right\rangle = a \left|+++\right\rangle + b \left|---\right\rangle이 된다. 여기서 |0L:=|+++\left|0_{\textrm{L}}\right\rangle := \left|+++\right\rangle, |1L:=|\left|1_{\textrm{L}}\right\rangle := \left|---\right\rangle이다. 오류 구간(Error)에서 발생한 위상 반전, 즉 Z 오류는 X 기저에서 비트 반전으로 나타난다. 아다마르 게이트를 다시 적용하면 Z 기저로 돌아온다. 첫째 보조 큐비트에는 q0q_0q1q_1이 다른지가, 둘째에는 q1q_1q2q_2가 다른지가 기록된다.

따라서 한 큐비트에 발생한 위상 반전 오류, 즉 Z 오류의 위치를 알아낼 수 있다.

q0q_0 q1q_1 q2q_2 a0a_0 a1a_1
0 0 0 0 0
1 0 0 1 0
0 1 0 1 1
0 0 1 0 1
10 · 양자 정보를 읽지 않고 보호하기O25
양자 정보를 읽지 않고 보호하기핵심O26a

쇼어의 9큐비트 부호: 비트 오류와 위상 오류 결합하기

쇼어의 9큐비트 부호: 비트 오류와 위상 오류 결합하기 — 설명 그림
쇼어의 9큐비트 부호: 비트 오류와 위상 오류 결합하기

세 큐비트의 반복 부호를 두 층으로 결합하자. |0L=(|000+|111)322,\left|0_{\mathrm{L}}\right\rangle=\frac{(\left|000\right\rangle+\left|111\right\rangle)^{\otimes3}}{2\sqrt2}, |1L=(|000|111)322.\left|1_{\mathrm{L}}\right\rangle=\frac{(\left|000\right\rangle-\left|111\right\rangle)^{\otimes3}}{2\sqrt2}. 회로는 a|0+b|1a\left|0\right\rangle+b\left|1\right\ranglea|0L+b|1La\left|0_{\mathrm{L}}\right\rangle+b\left|1_{\mathrm{L}}\right\rangle로 보낸다. 각 세 큐비트 묶음 안의 비트 오류와, 묶음 사이의 상대적인 위상 오류를 구분하여 처리한다.

이것은 인수분해 알고리즘이 아니라 양자 상태를 보호하는 부호화다. 다음 슬라이드에서 중간 상태를 계산하자.

10 · 양자 정보를 읽지 않고 보호하기계산 O26bO26a
양자 정보를 읽지 않고 보호하기계산O26b

계산: 9큐비트 부호화 회로의 중간 상태

위 회로는 입력 큐비트의 상태를 논리 큐비트에 부호화한다. 임의의 입력 |ψ=a|0+b|1\left|\psi\right\rangle = a \left|0\right\rangle + b \left|1\right\rangle가 어떻게 변하는지 계산하자. 아다마르 게이트 직후, 나머지 큐비트가 |0\left|0\right\rangle 상태에 있으면 전체 상태는 a|+00+00+00+b|000000a \left|+00+00+00\right\rangle + b \left|-00-00-00\right\rangle다.

이제 1, 2, 3번 큐비트 사이의 CNOT 작용을 계산하자. 두 중첩 성분에서 4번부터 9번까지의 큐비트 상태를 각각 |ϕ±\left|\phi_{\pm}\right\rangle로 줄여 쓰면 a2(|0+|1)|00ϕ++b2(|0|1)|00ϕ\frac{a}{\sqrt{2}} (\left|0\right\rangle + \left|1\right\rangle) \left|00 \phi_+\right\rangle + \frac{b}{\sqrt{2}} (\left|0\right\rangle - \left|1\right\rangle) \left|00 \phi_-\right\rangle이다.

2, 3번 큐비트가 |0\left|0\right\rangle로 준비되어 있으므로 CNOT은 1번 큐비트의 계산 기저 값을 두 보조 큐비트에 기록한다. 미지의 상태를 세 개의 독립적인 복사본으로 만드는 것은 아니다. a2(|000+|111)|ϕ++b2(|000|111)|ϕ\frac{a}{\sqrt{2}} (\left|000\right\rangle + \left|111\right\rangle)\left|\phi_+\right\rangle + \frac{b}{\sqrt{2}} (\left|000\right\rangle - \left|111\right\rangle) \left|\phi_-\right\rangle 같은 계산을 |±\left|\pm\right\rangle에 대해 4·5·6번과 7·8·9번 큐비트 묶음에도 적용하면 a22(|000+|111)3+b22(|000|111)3\frac{a}{2\sqrt{2}} (\left|000\right\rangle + \left|111\right\rangle)^{\otimes 3}+ \frac{b}{2\sqrt{2}} (\left|000\right\rangle - \left|111\right\rangle)^{\otimes 3}를 얻는다.

양자 정보를 읽지 않고 보호하기핵심O27

부호를 유지하며 오류를 정정하려면

|0L\left| 0_{\textrm{L}} \right\rangle, |1L\left| 1_{\textrm{L}} \right\rangle이 논리 큐비트의 기저다. |0L:=122(|000+|111)3,|1L:=122(|000|111)3\begin{aligned} \left|0_{\textrm{L}}\right\rangle &:= \frac{1}{2\sqrt{2}} (\left|000\right\rangle + \left|111\right\rangle)^{\otimes 3},\\ \left|1_{\textrm{L}}\right\rangle &:= \frac{1}{2\sqrt{2}} (\left|000\right\rangle - \left|111\right\rangle)^{\otimes 3} \end{aligned} |ϕ=a|0L+b|1L\left|\phi\right\rangle = a\left|0_{\textrm{L}}\right\rangle + b \left|1_{\textrm{L}}\right\rangle

이 부호는 물리 큐비트 하나에 작용하는 임의의 오류를 정정한다. 이상적인 부호화·측정·복구를 가정하면, 오류 정정 과정은 크게 두 방식으로 구현할 수 있다. [S95]

  1. 복구한 논리 정보를 물리 큐비트 하나로 되돌리는 방법. 다시 보호하려면 부호화가 필요하다.

  2. 신드롬 측정용 보조 큐비트를 사용하여 부호화된 상태를 유지하는 방법. 추가 큐비트와 반복적인 검사·복구가 필요하다.

다음 여덟 검사값이 모두 +1+1인 공간이 이 부호 공간이다. Z1Z2,Z2Z3,Z4Z5,Z5Z6,Z7Z8,Z8Z9,X1X2X3X4X5X6,X4X5X6X7X8X9.\begin{aligned} &Z_1Z_2,\quad Z_2Z_3,\quad Z_4Z_5,\quad Z_5Z_6,\\ &Z_7Z_8,\quad Z_8Z_9,\\ &X_1X_2X_3X_4X_5X_6,\\ &X_4X_5X_6X_7X_8X_9. \end{aligned} 앞의 여섯 검사는 각 묶음 안에서 비트 오류를 찾는다. 뒤의 두 검사는 세 묶음의 상대적인 부호를 비교한다.

한 묶음 안의 ZZ 오류들은 부호 상태에 같은 작용을 한다. 예를 들어 Z1|ψL=Z2|ψLZ_1\left|\psi_{\mathrm{L}}\right\rangle=Z_2\left|\psi_{\mathrm{L}}\right\rangle이다. 따라서 모든 물리적 오류 위치를 서로 구별해야만 정정할 수 있는 것은 아니다.

참고: [S95, G97]. 이 부호는 임의의 단일 큐비트 오류를 정정한다.

10 · 양자 정보를 읽지 않고 보호하기O27
양자 정보를 읽지 않고 보호하기핵심A12

연속적인 잡음과 양자 오류 정정 조건

실제 오류가 정확히 XXZZ일 필요는 없다. 한 큐비트에 작용하는 임의의 선형 연산자는 파울리 기저로 전개된다. E=c0I+cxX+cyY+czZ.E=c_0I+c_xX+c_yY+c_zZ. 고정된 초기 환경 상태와 계가 상관되어 있지 않다면, 잡음을 여러 연산자 EaE_a를 사용하여 ρaEaρEa,aEaEa=I\rho\longmapsto\sum_aE_a\rho E_a^\dagger, \qquad\sum_aE_a^\dagger E_a=I 로 나타낼 수 있다. 이 식은 큐비트 공간 밖으로의 누출을 포함하지 않는다.

중요한 것은 특정 오류 목록뿐 아니라 그 선형 결합도 정정할 수 있어야 한다는 점이다. 파울리 오류를 정정하는 조건이 연속적인 오류에도 연결되는 이유다.

부호 공간으로의 사영을 PCP_C라 하자. 오류 연산자 집합 {Ea}\{E_a\}의 정정 조건은 PCEaEbPC=cabPCP_CE_a^\dagger E_bP_C=c_{ab}P_C 다. 오른쪽 계수는 부호 공간 안의 논리 상태에 의존하지 않는다. 이 조건을 만족하면 {Ea}\{E_a\}가 생성하는 선형 공간의 오류도 같은 복구 절차로 정정할 수 있다.

신드롬 측정은 오류에 대한 정보를 얻되, 보호하려는 a|0L+b|1La\left|0_{\mathrm{L}}\right\rangle+b\left|1_{\mathrm{L}}\right\rangle의 계수 a,ba,b를 알아내지 않아야 한다. 측정으로 모든 중첩을 없애는 것이 아니다.

참고: [G97]. 뒤에서는 이 조건을 안정자 부호의 파울리 오류에 대해 다시 설명한다.

10 · 양자 정보를 읽지 않고 보호하기계산 A13A12
양자 정보를 읽지 않고 보호하기계산A13

계산: 작은 회전 오류를 정정하는 과정

세 큐비트의 비트 반전 부호 |ψL=a|000+b|111\left|\psi_{\mathrm{L}}\right\rangle=a\left|000\right\rangle+b\left|111\right\rangle을 다시 살펴보자. 검사 연산자는 S1=Z1Z2S_1=Z_1Z_2, S2=Z2Z3S_2=Z_2Z_3다. 부호 공간에서는 둘 다 고윳값이 +1+1이다. Rx,1(θ)|ψL=cosθ2|ψLisinθ2X1|ψL.R_{\mathrm{x},1}(\theta)\left|\psi_{\mathrm{L}}\right\rangle =\cos\frac\theta2\left|\psi_{\mathrm{L}}\right\rangle-i\sin\frac\theta2X_{1}\left|\psi_{\mathrm{L}}\right\rangle. X1X_1S1S_1과 반가환하고 S2S_2와 가환한다. 따라서 두 항은 서로 다른 신드롬을 갖는다.

신드롬 (S1,S2)(S_1,S_2) 측정 후 정규화 전 상태 확률 복구
(+1,+1)(+1,+1) cos(θ/2)|ψL\cos(\theta/2)\left|\psi_{\mathrm{L}}\right\rangle cos2(θ/2)\cos^2(\theta/2) II
(1,+1)(-1,+1) isin(θ/2)X1|ψL-i\sin(\theta/2)X_1\left|\psi_{\mathrm{L}}\right\rangle sin2(θ/2)\sin^2(\theta/2) X1X_1

확률이 0이 아닌 각 결과에서 정규화하고 복구하면 원래 논리 상태를 얻는다. 결과 확률은 a,ba,b와 무관하며, 둘 사이의 상대 위상도 보존된다.

이 예는 X1X_1 회전 오류에 대한 것이다. 세 큐비트 비트 반전 부호만으로 임의의 ZZ 오류까지 정정할 수 있는 것은 아니다. 앞서 계산한 부호화ㆍ검사 회로가 이 복구를 수행한다.

안정자에서 논리 연산으로절 안내S11

안정자에서 논리 연산으로

SECTION 11

안정자에서 논리 연산으로

검사값을 보존하는 연산이 모두 논리적으로 자명한가?

01군과 파울리 문자열
02공통 +1 고유공간
03논리 연산자와 부호 거리

국소 검사와 전역 논리 정보를 격자 위에 배치한다.

11 · 안정자에서 논리 연산으로S11
안정자에서 논리 연산으로핵심O28

군: 연산들을 하나의 구조로 묶기

GG는 다음의 집합과 연산으로 이루어진다.

  1. 원소들의 집합 GsetG_{\textrm{set}}.

  2. 이항 연산 :Gset×GsetGset\cdot: G_{\textrm{set}} \times G_{\textrm{set}} \rightarrow G_{\textrm{set}}. 보통 두 원소 사이에 연산 기호를 쓰는 중위 표기법(infix notation)을 사용한다. 기호 \cdot 대신 ++, ** 또는 ×\times를 쓰기도 하며, 곱셈 기호는 생략하기도 한다.

군과 그 원소 집합은 보통 같은 기호로 쓴다. 아래에서는 GsetG_{\textrm{set}} 대신 GG로 표기한다. 집합과 연산은 다음 공리를 만족해야 한다.

  1. (좌항등원) 모든 xGx \in G에 대해 ex=xe \cdot x = x인 원소 ee가 존재한다.

  2. (좌역원) 모든 원소 xx에 대해 역원 x1x^{-1}이 존재한다. 역원은 x1x=ex^{-1} \cdot x = e인 원소다. (더하기를 연산 기호로 활용할 때는 역원은 보통 a-a 같은 식으로 표기한다.)

  3. (결합 법칙) a(bc)=(ab)ca \cdot (b \cdot c) = (a \cdot b) \cdot c이다.

이 공리들로부터 다음 성질을 유도할 수 있다.

  1. ab=acab = acb=cb = c는 동치다. (따라서, 만약 bcb \neq c이면 ababacac는 다르다.)

  2. 좌항등원은 우항등원이기도 하다. 따라서 단순히 항등원이라 부른다.

  3. 항등원은 유일하다.

  4. 좌역원은 우역원이기도 하다. 따라서 단순히 역원이라 부른다.

  5. 각 원소의 역원은 유일하다.

[질문 1] 군의 예를 들어 보자. [질문 2] 벡터 공간은 어떤 연산에 대해 군을 이루는가? [질문 3] 원소가 세 개인 군 {a,b,c}\{a,b,c\}의 아래 연산표를 완성하자.

aa bb cc
aa aa bb cc
bb
cc
11 · 안정자에서 논리 연산으로O28
안정자에서 논리 연산으로심화O29

심화: 행렬군과 연속적인 변환

자명군(trivial group)은 항등원 하나로 이루어진 군이다. 익숙한 군의 예로는 (,+)(\mathbb{Z},+), ({0},×)(\mathbb{Q}\backslash\{0\}, \times), ({0},×)(\mathbb{R}\backslash\{0\}, \times)가 있다.

행렬의 집합도 행렬곱에 대해 군을 이룰 수 있다. 다음은 대표적인 행렬군이다.

  1. GL(,n)(\mathbb{C}, n): 행렬식이 00이 아닌 복소 n×nn\times n 행렬의 집합(일반선형군).

  2. O(n)(n): QTQ=IQ^TQ=I를 만족하는 실수 n×nn\times n 행렬의 집합(직교군).

  3. SO(n)(n): QTQ=IQ^TQ=IdetQ=1\det Q=1을 만족하는 실수 n×nn\times n 행렬의 집합(특수직교군).

  4. U(n)(n): UU=IU^\dagger U=I를 만족하는 복소 n×nn\times n 행렬의 집합(유니타리 군).

  5. SU(n)(n): UU=IU^\dagger U=IdetU=1\det U=1을 만족하는 복소 n×nn\times n 행렬의 집합(특수유니타리 군).

[질문 1] 행렬식이 1-1인 행렬의 집합은 군을 이루는가? [질문 2] 위 군들 사이의 포함 관계를 구하자. 이름에서 GL은 general linear, O는 orthogonal, U는 unitary, S는 special의 약자다.

[질문 3] 위 행렬군 중 가환군은 무엇인가?

O(n)O(n)detQ=+1\det Q=+1인 부분과 detQ=1\det Q=-1인 부분으로 나뉜다. 행렬식은 연속이고 값이 ±1\pm1뿐이므로 두 부분을 잇는 연속 경로는 없다. n1n\ge1일 때 두 부분은 모두 비어 있지 않은 열린 동시에 닫힌 집합이므로 O(n)O(n)은 연결되어 있지 않다.

두 점을 잇는 연속 경로가 있다는 성질은 경로 연결성이다. 일반 위상 공간에서 연결성과 경로 연결성은 같은 개념이 아니므로 구별해야 한다.

11 · 안정자에서 논리 연산으로O29
안정자에서 논리 연산으로핵심O30a · 1/2

군의 구조: 부분군과 준동형

유한군 (finite group)과 무한군 (infinite group): 원소의 수가 유한하면 유한군, 무한하면 무한군이라 한다.

원소가 2개인 군 {e,a}\{e,a\}에서 a2a^2의 값은 무엇이 되어야겠는가? 원소가 3개인 군 {e,a,b}\{e,a,b\}에서 a2a^2b2b^2, abab, baba의 값은 무엇이 되어야 하는가?

가환군 (abelian group)과 비가환군 (non-abelian group): 모든 a,bGa,b \in G에 대하여 ab=baab = ba이면 GG를 가환군이라 하고 그렇지 않으면 비가환군이다.

부분군(subgroup): 군의 부분집합 중, 원래 군의 연산에 대해 다시 군을 이루는 것을 말한다. 예를 들어 22\mathbb{Z} \subset \mathbb{Z}으로 쓰며, 22\mathbb{Z}\mathbb{Z}의 진부분군이다.

준동형 사상(homomorphism): 군의 구조를 유지하는 군 간의 사상을 뜻한다. ϕ(ab)=ϕ(a)ϕ(b)\phi(ab) = \phi(a)\phi(b)를 만족하면 ϕ\phi를 준동형 사상이라 한다. 전단사인 준동형 사상은 동형 사상(isomorphism)이다.

생성 집합(generating set): 생성 집합 {si}\{s_i\}의 원소와 그 역원을 유한 번 곱하여 GG의 모든 원소를 표현할 수 있다. 일반적으로 g=si1ϵ1siϵg=s_{i_1}^{\epsilon_1}\cdots s_{i_\ell}^{\epsilon_\ell}, ϵj=±1\epsilon_j=\pm1이며 같은 생성원이 다시 나타나도 된다. 비가환군에서는 순서를 바꿀 수 없다.

예를 들어 {1}\{1\}\mathbb{Z}의 생성 집합이고, {2}\{2\}는 짝수들의 덧셈군 22\mathbb{Z}의 생성 집합이다. 필요한 생성원의 최소 개수를 군의 계수(rank)라 부르기도 한다. 행렬의 계수와는 구별해야 한다.

11 · 안정자에서 논리 연산으로O30a · 1/2
안정자에서 논리 연산으로핵심O30a--2 · 2/2

생성원: 군을 만드는 연산의 집합

부분군, 준동형, 생성원 — 설명 그림
부분군, 준동형, 생성원

곧 나올 안정자군은 서로 가환하고 제곱이 II인 생성원들로 만든다. 그때는 각 생성원을 0번 또는 1번만 쓰면 된다. 하지만 일반적인 비가환군에서는 생성원의 순서를 바꾸거나 반복을 없애면 안 된다.

Z1Z2,Z2Z3\langle Z_1Z_2,Z_2Z_3\rangle의 원소를 모두 적어 보자. 답은 II, Z1Z2Z_1Z_2, Z2Z3Z_2Z_3, Z1Z3Z_1Z_3이다.

11 · 안정자에서 논리 연산으로O30a · 2/2
안정자에서 논리 연산으로심화O30b

심화: 군 작용과 두 부분군

생성 집합이 주어지면 군을 a,b\left<a,b\right>처럼 생성원들로 표기할 수 있다.

군 작용(group action): 왼쪽 작용은 사상 *:G×XX*: G \times X \rightarrow X로, 집합 XX의 모든 원소 xx에 대해 (1) e*x=xe * x = x, (2) g1*(g2*x)=(g1g2)*xg_1 * (g_2 * x ) = (g_1 \cdot g_2) * x를 만족한다. 예를 들어 SU(2)는 행렬과 상태벡터의 곱 **로 큐비트에 작용한다. 또한 실벡터 𝐫\mathbf rrxX+ryY+rzZr_{\mathrm{x}}X+r_{\mathrm{y}}Y+r_{\mathrm{z}}Z에 대응시킨 뒤 U(𝐫𝛔)UU(\mathbf r\cdot\boldsymbol\sigma)U^\dagger를 다시 실벡터로 읽으면 SU(2)의 회전 작용을 얻는다.

부분군 SGS\le G정규화 부분군(normalizer)중심화 부분군(centralizer)은 서로 다른 개념이다. NG(S)={gG:gSg1=S},N_G(S)=\{g\in G:gSg^{-1}=S\}, CG(S)={gG:gs=sgsS}.C_G(S)=\{g\in G:gs=sg\ \forall s\in S\}. 항상 CG(S)NG(S)C_G(S)\subseteq N_G(S)이며, 둘 다 항등원을 포함하고 곱과 역원에 대해 닫혀 있다. S=GS=G이면 NG(G)=GN_G(G)=G이지만, CG(G)C_G(G)GG의 중심이다.

11 · 안정자에서 논리 연산으로O30b
안정자에서 논리 연산으로핵심O31

파울리 군: 문자열, 위상, 교환 관계

한 큐비트의 파울리 군(Pauli group){X,Y,Z}\{X,Y,Z\}을 생성원으로 하는 군이다. 𝒫1\mathcal{P}_1의 원소는 16개다. 𝒫1=X,Y,Z={±I,±iI,±X,±iX,±Y,±iY,±Z,±iZ}\begin{aligned} \mathcal{P}_1 &= \left<X,Y,Z\right>\\ &= \{\pm I, \pm \mathrm{i}I, \pm X, \pm \mathrm{i}X, \pm Y, \pm \mathrm{i}Y, \pm Z, \pm \mathrm{i}Z\} \end{aligned} 이 군이 X,Y,ZX,Y,Z로 생성된다는 것을 X,Y,Z\left<X,Y,Z\right>로 표기한다.

여러 큐비트의 파울리 군은 𝒫n\mathcal{P}_n이다. 서로 다른 큐비트에 작용하는 인자들은 가환한다. 그러나 이 군은 한 큐비트 파울리 군들의 단순한 직접곱은 아니다. 텐서곱에서는 X1X2X_1 X_2(X1)(X2)(-X_1)(-X_2)처럼 전체 위상만 옮긴 표현이 같은 연산자를 나타내기 때문이다.

예를 들어 𝒫2\mathcal{P}_2X1,Y1,Z1,X2,Y2,Z2\left<X_1,Y_1,Z_1,X_2,Y_2,Z_2\right>이다. A0:=IA_{0} := I, Ax=XA_{\mathrm{x}} = X, Ay=YA_{\mathrm{y}} = Y, Az=ZA_{\mathrm{z}} = Z라고 하자. 𝒫2={±AiAj,±iAiAj}i,j\mathcal{P}_2 = \left\{ \pm A_i \otimes A_j, \pm \mathrm{i}A_i \otimes A_j \right\}_{i,j} i,j{0,x,y,z}i,j \in \{0,x,y,z\}.

  1. 파울리 군의 원소는 제곱이 InI^{\otimes n}인 것과 In-I^{\otimes n}인 것으로 나뉜다. 제곱이 InI^{\otimes n}인 원소는 에르미트 연산자이고, 가능한 고윳값은 ±1\pm 1다. 제곱이 In-I^{\otimes n}인 원소는 반에르미트 연산자이며, 가능한 고윳값은 ±i\pm \mathrm{i}다.

  2. 파울리 연산자 두 개는 가환하거나 반가환한다. 여러 큐비트의 텐서곱으로 이루어진 파울리 연산자도 마찬가지다. 각 큐비트에서 생기는 반가환 부호를 곱하면 전체 교환 관계를 알 수 있다.

안정자에서 논리 연산으로실습L15

파울리 문자열의 곱과 가환 관계

안정자에서 논리 연산으로핵심O32

안정자로 쓸 수 있는 파울리 부분군

관측량은 에르미트 연산자로 나타낸다. 상태벡터의 전체 위상은 물리 상태를 바꾸지 않지만, 검사 연산자의 부호는 고윳값과 +1+1 고유공간을 바꾼다. 따라서 안정자의 부호를 버려서는 안 된다. 필요한 파울리 부분군의 조건은 In-I^{\otimes n}를 포함하지 않는 것이다. 그러면 제곱이 I-I인 원소는 제외되며, 같은 파울리 문자열에 계수 1-1+1+1를 붙인 두 원소가 동시에 포함될 수 없다. [질문] 마지막 성질을 증명하자.

𝒫1\mathcal{P}_1의 부분군이 X,YX,Y를 동시에 포함하면 위 조건을 만족할 수 없다. XY=iZXY = \mathrm{i}Z이기 때문이다. 그러나 두 큐비트에서는 X1X2X_1 X_2Y1Y2Y_1 Y_2를 함께 포함하는 안정자군이 가능하다. 실제로 X1X2Y1Y2=(iZ1)(iZ2)=Z1Z2X_1 X_2 Y_1 Y_2 = (\mathrm{i}Z_1)(\mathrm{i}Z_2) = - Z_1 Z_2이다.

𝒫2\mathcal{P}_2의 부분군 중 조건을 만족하는 예시 중 하나는 다음과 같다.

IIII IXIX ZIZI ZXZX
IIII IIII IXIX ZIZI ZXZX
IXIX IXIX IIII ZXZX ZIZI
ZIZI ZIZI ZXZX IIII IXIX
ZXZX ZXZX ZIZI IXIX IIII
11 · 안정자에서 논리 연산으로O32
안정자에서 논리 연산으로핵심O33a

안정자 부호: 공통 +1 고유공간

양자 부호(quantum code)는 논리 상태를 물리적 힐베르트 공간의 부분공간에 대응시킨다. 그 부분공간을 부호 공간(code space)이라 한다. 부호화 사상을 :(2)k(2)n\mathcal{E}: (\mathbb{C}^2)^{\otimes k} \rightarrow(\mathbb{C}^2)^{\otimes n}로 쓰면, \mathcal E는 내적을 보존하는 선형 사상이다. kk는 논리 큐비트 수이고, nn은 물리 큐비트 수다.

안정자 부호(stabilizer code)는 안정자군의 공통 고유공간을 부호 공간으로 사용하는 양자 부호다. 안정자군은 nn큐비트 파울리 군의 부분군으로, (1) In-I^{\otimes n}를 포함하지 않고 (2) 가환군이어야 한다.

조건 (1)의 이유는 앞서 설명했다. 독립적인 생성원의 수를 mm이라 하면, 군의 모든 원소는 s1e1s2e2smem,ei{0,1}s_1^{e_1}s_2^{e_2} \cdots s_m^{e_m},\quad e_i \in \{0,1\}로 쓸 수 있다. 생성원들이 가환하므로 sis_i의 순서는 결과에 영향을 주지 않는다.

서로 독립인 검사 s1,,sms_1,\ldots,s_m에 대해 𝒞={|ψ:si|ψ=|ψ(i)}\mathcal C=\{\left|\psi\right\rangle:s_i\left|\psi\right\rangle=\left|\psi\right\rangle\ (\forall i)\} 로 부호 공간을 정한다. 독립성은 생성원 하나가 나머지의 곱으로 표현되지 않는다는 뜻이다.

한 독립 검사는 허용 공간의 차원을 절반으로 줄인다. dim𝒞=2nm,k=nm.\dim\mathcal C=2^{n-m},\qquad k=n-m. |ψ\left|\psi\right\rangle|ψ-\left|\psi\right\rangle가 같은 물리 상태라는 이유로 안정자 sss-s를 함께 넣어도 되는 것은 아니다. +1+1 고유공간을 지정할 때는 검사 연산자의 부호가 중요하다.

11 · 안정자에서 논리 연산으로O33a
안정자에서 논리 연산으로핵심O33b

논리 파울리 연산자와 전체 위상

독립적인 안정자 생성원 mm개는 원소 2m2^m개인 군 SS를 만들고, 그 공통 +1+1 고유공간의 차원은 2nm2^{n-m}이다. 모든 sSs\in S는 이 공간에서 항등작용을 한다.

부호 공간을 보존하는 파울리 연산자는 모든 검사 연산자와 가환한다. C(S)={P𝒫n:Ps=sP(sS)}.C(S)=\{P\in\mathcal P_n:Ps=sP\ (s\in S)\}. 한편 정규화 부분군은 N(S)={P𝒫n:PSP1=S}N(S)=\{P\in\mathcal P_n:PSP^{-1}=S\}로 정의한다. 파울리 군 안에서는 N(S)=C(S)N(S)=C(S)다. PsP1=±sPsP^{-1}=\pm s이고, SS에는 s,ss,-s가 함께 포함될 수 없기 때문이다.

정규화 부분군과 중심화 부분군이 같다는 성질은 일반적인 군에서는 성립하지 않는다. 앞의 심화 슬라이드에서 두 정의를 비교했다.

검사값을 유지해도 논리 정보를 바꿀 수 있다. 자명한 작용을 모두 제외하려고 S̃={ωs:sS,ω{±1,±i}}\widetilde S=\{\omega s:s\in S,\ \omega\in\{\pm1,\pm i\}\} 로 두자. N(S)\S̃N(S)\setminus\widetilde S의 원소가 비자명한 논리 파울리 연산자다.

논리 연산자의 대표는 유일하지 않다. PPPsPs는 부호 공간에서 같게 작용하며, 전체 위상도 논리 정보를 바꾸지 않는다. I-I를 무게 0인 논리 오류로 세지 않도록 위 두 종류의 자명한 작용을 모두 제외한다.

nn은 물리 큐비트 수, k=nmk=n-m은 논리 큐비트 수다. 거리는 잠시 뒤 정의한다.

참고: [G97]. 일반적인 논리 유니타리 전체가 아니라 논리 파울리 연산자를 다룬다.

11 · 안정자에서 논리 연산으로O33b
안정자에서 논리 연산으로핵심O34a

두 큐비트 예제: 안정자 XY와 논리 기저

XY\left<XY\right>를 안정자군이라 하자. 그 원소들과 부호 공간을 구하자.

안정자군은 {II,XY}\{II, XY\}이고, 부호 공간의 기저는 {12(|00+i|11),12(|01i|10)}\left\{ \frac{1}{\sqrt{2}} \left( \left|00\right\rangle + \mathrm{i}\left|11\right\rangle \right) , \frac{1}{\sqrt{2}} \left( \left|01\right\rangle - \mathrm{i}\left|10\right\rangle \right) \right\}이다. 논리 연산자를 ZL=ZZZ_{\textrm{L}} = ZZ로 잡자. ZZZZ는 안정자와 가환한다. ZZZZ의 고윳값에 따라 논리 기저 상태를 다음과 같이 정한다. |0L:=12(|00+i|11)|1L:=12(|01i|10)\begin{aligned} \left|0_{\textrm{L}}\right\rangle := \frac{1}{\sqrt{2}} \left( \left|00\right\rangle + \mathrm{i}\left|11\right\rangle \right)\\ \left|1_{\textrm{L}}\right\rangle := \frac{1}{\sqrt{2}} \left( \left|01\right\rangle - \mathrm{i}\left|10\right\rangle \right) \end{aligned} 논리 연산자는 모두 안정자와 가환한다. XL:=YZ,YL:=XI,ZL:=ZZX_{\textrm{L}} := -YZ,\,\, Y_{\textrm{L}} := XI,\,\,Z_{\textrm{L}} := ZZ

이 부호는 물리 큐비트 두 개로 논리 큐비트 하나를 표현한다. 그러나 논리 연산자 XIXI의 무게가 1이므로 일반적인 단일 큐비트 오류를 정정하는 부호는 아니다. [질문] 부호 공간의 차원과 오류 정정 능력이 서로 다른 정보인 이유를 설명하자.

11 · 안정자에서 논리 연산으로계산 O34cO34a
안정자에서 논리 연산으로계산O34c

계산: 부호 공간에서 논리 행렬 확인하기

앞 슬라이드의 순서 {|0L,|1L}\{\left|0_{\mathrm{L}}\right\rangle,\left|1_{\mathrm{L}}\right\rangle\}를 사용하자. XL=YZX_{\mathrm{L}}=-YZ의 첫 작용을 직접 계산하면 (YZ)|00+i|112=i|10+|012=|1L.-(Y\otimes Z)\frac{\left|00\right\rangle+i\left|11\right\rangle}{\sqrt2} =\frac{-i\left|10\right\rangle+\left|01\right\rangle}{\sqrt2}=\left|1_{\mathrm{L}}\right\rangle. 나머지도 같은 방식으로 얻는다.

연산자 |0L\left|0_{\mathrm{L}}\right\rangle에 작용 |1L\left|1_{\mathrm{L}}\right\rangle에 작용 논리 기저에서 행렬
XL=YZX_{\mathrm{L}}=-YZ |1L\left|1_{\mathrm{L}}\right\rangle |0L\left|0_{\mathrm{L}}\right\rangle (0110)\begin{pmatrix}0&1\\1&0\end{pmatrix}
YL=XIY_{\mathrm{L}}=XI i|1Li\left|1_{\mathrm{L}}\right\rangle i|0L-i\left|0_{\mathrm{L}}\right\rangle (0ii0)\begin{pmatrix}0&-i\\i&0\end{pmatrix}
ZL=ZZZ_{\mathrm{L}}=ZZ |0L\left|0_{\mathrm{L}}\right\rangle |1L-\left|1_{\mathrm{L}}\right\rangle (1001)\begin{pmatrix}1&0\\0&-1\end{pmatrix}

따라서 논리 연산자도 XLYL=iZLX_{\mathrm{L}}Y_{\mathrm{L}}=iZ_{\mathrm{L}}과 같은 파울리 관계를 만족한다. 이들은 안정자 XYXY와 가환하므로 공통 +1+1 고유공간을 보존한다.

참고: 원문 O34의 논리 연산자 질문을 직접 계산한 것이다.

안정자에서 논리 연산으로심화O34b

심화: 안정자라는 이름과 군 작용

[질문 1] 부호 공간을 보존하는 파울리 연산자는 왜 모든 안정자와 가환하는가? [질문 2] 선택한 논리 연산자는 파울리 행렬과 같은 관계를 만족하는가? [질문 3] 논리 기저에서 각 연산자의 행렬 표현을 구하자.

안정자(stabilizer)라는 말은 군 작용에서 유래한다. 군이 작용하는 집합 XX의 원소 xx에 대해, g*x=xg * x = x를 만족하는 군 원소 gg들의 집합이 xx의 안정자다. 예를 들어 SO(33)가 유클리드 공간에 통상적인 방식으로 작용할 때, SO(33)는 어떤 점을 고정하는 안정자로 나타나는가?

안정자 부호에서는 작용하는 군을 물리적 힐베르트 공간의 파울리 군 𝒫n\mathcal P_n으로 제한한다. 모든 유니타리 연산자를 허용하는 경우와는 다르다. 부호 공간의 각 벡터는 모든 안정자에 대해 고윳값 +1+1을 가지므로 변하지 않는다.

부호 공간을 집합으로 보존하는 것뿐 아니라 그 안의 각 벡터를 고정해야 하므로 점별 안정자(pointwise stabilizer)라 한다. 이는 각 벡터의 안정자들을 교집합한 것이다.

이 강의의 양자 오류 정정 문맥에서 안정자는 이러한 점별 고정 조건을 뜻한다. 부호 공간만 보존하면서 논리 상태를 바꾸는 연산자와 구별하자.

11 · 안정자에서 논리 연산으로O34b
안정자에서 논리 연산으로핵심O40a

어떤 오류들의 집합을 함께 정정할 수 있는가?

안정자 부호가 오류 집합 전체를 하나의 복구 절차로 정정할 수 있는 조건을 살펴보자.

물리 큐비트 nn개에 작용하는 안정자군 SS을 생각하자. 오류 집합 {Ek}\{E_{k}\}가 파울리 군 𝒫n\mathcal{P}_n의 부분집합이라고 하자. 모든 jjkk에 대해 EjEkN(S)\S̃E_{j}^{\dagger} E_{k} \notin N(S)\setminus\widetilde S이면, {Ek}\{E_k\}는 정정 가능한 오류 집합이다. 여기서 제외하는 집합은 비자명한 논리 작용을 하는 파울리 연산자들의 집합이다.

안정자 생성원 sis_i의 측정 결과, 즉 신드롬을 βi\beta_i라 하자. βi=±1\beta_i=\pm1이며, 1-1이 나오면 상태가 부호 공간에서 벗어났음을 알 수 있다. 이 신드롬과 일치하는 가환·반가환 관계를 갖는 오류 EjE_j가 오류 집합 안에 하나뿐이면, 그 오류가 특정된다. EjE_j^{\dagger}를 적용하면 복구된다. 앞의 비트 반전·위상 반전 정정과 같은 원리다.

검사값을 바꾸지 않는 비자명한 논리 차이가 두 오류 사이에 있으면 정정할 수 없다. 같은 신드롬이더라도 두 오류가 안정자와 전체 위상만큼만 다르면 같은 복구로 충분하다. 이 구별이 다음 계산과 표면 부호의 복구 경로에서 반복해서 등장한다.

11 · 안정자에서 논리 연산으로계산 O40bO40a
안정자에서 논리 연산으로계산O40b

계산: 같은 신드롬을 가진 두 오류의 복구

같은 신드롬을 주는 다른 오류 EjE_{j'}가 있어도 EjE_j^{\dagger}로 복구할 수 있을까? 이때 전체 작용은 EjEjE_j^\dagger E_{j\prime}다. EjE_{j'}EjE_{j}, EjE_{j}^{\dagger}와 마찬가지로 동일한 검사 ss_{\ell}과 반가환한다. 따라서 두 오류의 곱 EjEjE_{j}^{\dagger} E_{j'}는 모든 ss_{\ell}과 가환한다. 정정 가능 조건에 따라 N(S)\S̃N(S)\setminus\widetilde S에는 속할 수 없으므로 S̃\widetilde S에 속한다. 즉, 부호 공간에서 전체 위상 외에는 변화가 없으므로 복구에 성공한다. 오류를 정확히 특정하지 못해도 올바른 복구는 가능하다.

EjEj=ωsE_j^\dagger E_{j'}=\omega s이고 sSs\in S이면 EjEj|ψL=ω|ψL.E_j^\dagger E_{j'}\left|\psi_{\mathrm{L}}\right\rangle=\omega\left|\psi_{\mathrm{L}}\right\rangle. 결과는 전체 위상만 다르므로 논리 정보가 복구된다. 반대로 EjEjN(S)\S̃E_j^\dagger E_{j'}\in N(S)\setminus\widetilde S이면 어떤 논리 상태에는 비자명하게 작용한다. 신드롬만으로 그 두 경우를 구별할 수 없으므로 두 오류를 동시에 정정하는 복구는 존재하지 않는다.

안정자에서 논리 연산으로핵심O41a

양자 부호 거리: 검출되지 않는 논리 오류의 최소 크기

아래에서는 k1k\ge1인 안정자 부호를 다룬다. 파울리 군 𝒫n\mathcal{P}_n의 원소 중 N(S)\S̃N(S)\setminus\widetilde S에 속하는 원소들의 최소 무게(weight)를 부호 거리라 한다. 무게는 전체 위상을 제외한 파울리 문자열에서 II가 아닌 인자의 수다. 예를 들어 IXXIZIXXIZ의 무게는 3이다.

N(S)\S̃N(S)\setminus\widetilde S의 원소는 모든 안정자와 가환하므로 신드롬을 바꾸지 않는다. 그러나 부호 공간에서 전체 위상에 비례하는 항등작용이 아니므로 일부 논리 상태를 바꾼다. 거리가 dd이면 무게가 dd보다 작은 연산자는 N(S)\S̃N(S)\setminus\widetilde S에 속할 수 없다. 따라서 무게가 dd 미만인 파울리 오류는 신드롬을 바꾸거나, S̃\widetilde S에 속하여 논리 정보에 영향을 주지 않는다. 양자 오류 검출의 조건에는 후자의 경우도 포함된다.

d=minPN(S)\S̃wt(P).d=\min_{P\in N(S)\setminus\widetilde S}\operatorname{wt}(P). 물리 큐비트 수 nn, 논리 큐비트 수 kk, 거리 dd[[n,k,d]][[n,k,d]]로 묶어 표기한다. 같은 n,kn,k여도 dd는 다를 수 있다. 거리에는 검사 회로 자체의 오류가 아직 포함되지 않는다.

11 · 안정자에서 논리 연산으로계산 O41bO41a
안정자에서 논리 연산으로계산O41b

계산: 거리에서 정정 가능한 오류 수 얻기

오류 집합의 정정 가능 조건은 EjEkN(S)\S̃E_j^{\dagger} E_{k} \notin N(S)\setminus\widetilde S였다. 거리가 dd이면 무게가 각각 (d1)/2\left\lfloor (d-1)/2 \right\rfloor 이하인 두 오류의 곱은 EjEkN(S)\S̃E_j^\dagger E_k\in N(S)\setminus\widetilde S에 속할 수 없다. t=(d1)/2t=\lfloor(d-1)/2\rfloor로 놓으면 wt(EjEk)2t<d\operatorname{wt}(E_j^\dagger E_k)\le2t<d이기 때문이다. 따라서 무게가 (d1)/2\left\lfloor (d-1)/2 \right\rfloor 이하인 오류들을 모두 정정할 수 있다.

물리 큐비트 수 nn, 논리 큐비트 수 kk, 부호 거리 dd는 양자 부호의 기본 매개변수다. 이를 [[n,k,d]]\left[\!\left[ n, k, d \right]\!\right]로 묶어 표기한다.

이 매개변수들은 다음 부등식을 만족한다. dnk+22d \le \left\lfloor \frac{n - k + 2 }{ 2 } \right\rfloor 이를 양자 싱글턴 한계(quantum Singleton bound)라 한다. 고전 부호 이론의 싱글턴 한계에 대응하는 양자 부호의 제약이다.

정정할 오류 집합의 두 원소를 비교하면 무게가 더해질 수 있다. 따라서 검출 가능한 수 d1d-1과 정정 가능한 수 (d1)/2\lfloor(d-1)/2\rfloor가 다르다. 양자 싱글턴 한계는 nk2(d1)n-k\ge2(d-1)로도 적는다. 이는 일반적인 부호 매개변수에 대한 제약이며, 주어진 회로의 결함 허용성을 보장하는 식은 아니다.

안정자에서 논리 연산으로핵심O36

다섯 큐비트 부호: 네 검사와 한 논리 큐비트

물리 큐비트 5개로 논리 큐비트 1개를 표현하는 안정자 부호를 살펴보자. [G97] 물리적 힐베르트 공간은 25=322^5=32차원이고, 논리적 힐베르트 공간은 22차원이다.

생성원은 s1=XZZXI,s2=IXZZX,s3=XIXZZ,s4=ZXIXZ\begin{aligned} s_1 &= XZZXI,\\ s_2 &= IXZZX,\\ s_3 &= XIXZZ,\\ s_4 &= ZXIXZ \end{aligned}이다. 앞에서 제시한 안정자군의 조건을 모두 만족하는지 확인하자.

서로 다른 두 생성원은 정확히 두 큐비트에서 반가환하는 인자를 갖는다. 두 음의 부호가 상쇄되므로 전체 연산자는 가환한다. 즉, 모든 ii, jj에 대해 [si,sj]=0[s_i, s_j] = 0이다.

모든 생성원의 고윳값이 +1+1인 공통 고유공간이 부호 공간이다. 이제 그 안에서 |0L,|1L\left|0_{\textrm{L}}\right\rangle, \left|1_{\textrm{L}}\right\rangle로 사용할 논리 기저 상태를 정하자.

논리 연산자는 XL:=XXXXXX_{\textrm{L}} := XXXXXZL:=ZZZZZZ_{\textrm{L}} := ZZZZZ라 하고, 부호 공간에서 ZLZ_{\textrm{L}}의 고윳값이 11인 상태를 |0L\left|0_{\textrm{L}}\right\rangle, 1-1인 상태를 |1L\left|1_{\textrm{L}}\right\rangle로 한다.

{si}\{s_i\}ZLZ_{\textrm{L}}을 더하면, 이들의 공통 고윳값으로 상태가 전체 위상까지 결정된다. sis_i의 각 허용 고윳값 조합에 해당하는 공간은 2차원이며, ZLZ_{\textrm{L}}의 두 고유 상태가 그 공간의 기저를 이룬다.

네 연산자의 고윳값은 모두 ±1\pm 1이다. 임의의 상태에 사영 연산자 Pi(±)=12(1±si)P_i^{(\pm)} = \frac{1}{2}(1 \pm s_i)을 작용시키면 연산자 sis_i의 고윳값이 ±1\pm 1인 성분만 남는다.

앞서 설명했듯이 비자명한 논리 파울리 연산자는 N(S)\S̃N(S)\setminus\widetilde S의 원소다. N(S)\S̃N(S)\setminus\widetilde S에 속하는 연산자는 부호 공간을 보존하면서 일부 논리 상태를 바꾼다.

11 · 안정자에서 논리 연산으로계산 O37O36
안정자에서 논리 연산으로계산O37

계산: 다섯 큐비트 부호의 두 기저 상태

앞 페이지의 생성원을 사용하여 |00001\left|00001\right\rangle을 부호 공간에 사영하자. PS=i=14I+si2,|1L=4PS|00001,|0L=X5|1L.P_S=\prod_{i=1}^{4}\frac{I+s_i}{2},\qquad \left|1_{\mathrm{L}}\right\rangle=4P_S\left|00001\right\rangle,\qquad \left|0_{\mathrm{L}}\right\rangle=X^{\otimes5}\left|1_{\mathrm{L}}\right\rangle. 계산을 시작하면 (I+s1)|00001=|00001+|10011(I+s_1)\left|00001\right\rangle=\left|00001\right\rangle+\left|10011\right\rangle이고, (I+s2)(I+s1)|00001=|00001+|10011+|01000|11010.(I+s_2)(I+s_1)\left|00001\right\rangle=\left|00001\right\rangle+\left|10011\right\rangle+\left|01000\right\rangle-\left|11010\right\rangle. 나머지 두 인자도 차례로 작용하면 다음과 같다. 각 항의 계수 크기는 1/41/4다.

4|1L=+|00001+|00010+|00100+|00111+|01000|01011|01101+|01110+|10000+|10011|10101|10110+|11001|11010+|11100|11111\begin{aligned} 4\left|1_{\mathrm{L}}\right\rangle&=+\left|00001\right\rangle+\left|00010\right\rangle+\left|00100\right\rangle+\left|00111\right\rangle\\ &\quad +\left|01000\right\rangle-\left|01011\right\rangle-\left|01101\right\rangle+\left|01110\right\rangle\\ &\quad +\left|10000\right\rangle+\left|10011\right\rangle-\left|10101\right\rangle-\left|10110\right\rangle\\ &\quad +\left|11001\right\rangle-\left|11010\right\rangle+\left|11100\right\rangle-\left|11111\right\rangle \end{aligned}

4|0L=|00000+|00011|00101+|00110|01001|01010+|01100+|01111+|10001|10010|10100+|10111+|11000+|11011+|11101+|11110\begin{aligned} 4\left|0_{\mathrm{L}}\right\rangle&=-\left|00000\right\rangle+\left|00011\right\rangle-\left|00101\right\rangle+\left|00110\right\rangle\\ &\quad -\left|01001\right\rangle-\left|01010\right\rangle+\left|01100\right\rangle+\left|01111\right\rangle\\ &\quad +\left|10001\right\rangle-\left|10010\right\rangle-\left|10100\right\rangle+\left|10111\right\rangle\\ &\quad +\left|11000\right\rangle+\left|11011\right\rangle+\left|11101\right\rangle+\left|11110\right\rangle \end{aligned}

서로 다른 기저 상태가 16개이므로 정규화 상수는 1/41/4다. |0L\left|0_{\mathrm{L}}\right\rangle에는 1이 짝수 개, |1L\left|1_{\mathrm{L}}\right\rangle에는 홀수 개 있다. 따라서 ZL=Z5Z_{\mathrm{L}}=Z^{\otimes5}의 고윳값은 각각 +1,1+1,-1이다.

참고: [G97]. 전개식은 si|bL=|bLs_i\left|b_{\mathrm{L}}\right\rangle=\left|b_{\mathrm{L}}\right\rangle와 정규화를 직접 확인하였다.

안정자에서 논리 연산으로핵심O38 · 1/2

다섯 큐비트 부호: 검사 회로

보조 큐비트를 |0\left|0\right\rangle으로 준비하고 아다마르 게이트를 적용한다. 각 파울리 인자에 해당하는 제어 연산을 수행한 뒤, 다시 아다마르 게이트를 적용하고 측정한다. 항등 인자의 제어 연산은 생략해도 된다. 이 과정이 검사 연산자의 사영 측정이며, 결과가 신드롬이다. s1=XZZXI,s2=IXZZX,s3=XIXZZ,s4=ZXIXZs_1 = XZZXI,\,s_2 = IXZZX,\,s_3 = XIXZZ,\,s_4 = ZXIXZ 오류를 확인하려면 sis_i를 측정하면 된다. 아래는 s1s_1의 측정 회로다.

다섯 큐비트 부호: 검사 회로와 신드롬 표 — 설명 그림
다섯 큐비트 부호: 검사 회로와 신드롬 표
11 · 안정자에서 논리 연산으로O38 · 1/2
안정자에서 논리 연산으로핵심O38--2 · 2/2

다섯 큐비트 부호: 신드롬과 복구

단일 큐비트 오류에 대한 신드롬은 아래와 같다. 표의 ‘오류 종류’는 한 큐비트에만 오류가 발생했다고 가정한 분류다.

s1s_1 s2s_2 s3s_3 s4s_4 오류 종류
+1+1 +1+1 +1+1 +1+1 II
+1+1 +1+1 +1+1 1-1 X1X_1
1-1 +1+1 1-1 1-1 Y1Y_1
1-1 +1+1 1-1 +1+1 Z1Z_1
1-1 +1+1 +1+1 +1+1 X2X_2
1-1 1-1 +1+1 1-1 Y2Y_2
+1+1 1-1 +1+1 1-1 Z2Z_2

해당 파울리 오류와 같은 연산을 적용하면 오류를 제거할 수 있다. 이 부호의 거리는 33이다. 따라서 모든 31=23-1 = 2큐비트 오류를 검출하고, 모든 (31)/2=1\lfloor (3-1)/2 \rfloor = 1큐비트 오류를 정정할 수 있다.

11 · 안정자에서 논리 연산으로O38 · 2/2
토릭 부호: 고리와 전역 정보절 안내S12

토릭 부호: 고리와 전역 정보

SECTION 12

토릭 부호: 고리와 전역 정보

국소적인 검사가 어떻게 전역적인 논리 정보를 남기는가?

01격자 위의 두 종류 검사
02오류 경로와 닫힌 고리
03전역 패리티와 논리 연산

주기 경계 조건을 없애면 경계 사이의 경로로 논리 연산자를 구성하는 표면 부호를 얻는다.

12 · 토릭 부호: 고리와 전역 정보S12
토릭 부호: 고리와 전역 정보핵심O42

토릭 부호: 변 위의 큐비트와 두 종류의 검사

각 방향의 격자 수가 Nx,Ny3N_{\mathrm{x}},N_{\mathrm{y}}\ge3이고 주기적 경계 조건을 갖는 정사각 격자를 생각하자. 큐비트는 격자점이 아니라 변(edge, link)에 놓인다. 변의 총수는 2NxNy2N_{\mathrm{x}}N_{\mathrm{y}}이므로 물리적 힐베르트 공간의 차원은 22NxNy=4NxNy2^{2N_{\mathrm{x}} N_{\mathrm{y}}} = 4^{N_{\mathrm{x}} N_{\mathrm{y}}}다.

꼭짓점 vv에 대한 꼭짓점 연산자 AvA_v(vertex 또는 star operator)와 기본 정사각형 면 pp에 대한 면 연산자 BpB_p(plaquette operator)를 Av:=iN(v)Xi,Bp:=iN(p)ZiA_{v} := \prod_{i \in N(v)} X_i, \quad B_{p} := \prod_{i \in N(p)} Z_i로 정의한다. N(v)N(v)는 꼭짓점 vv에 접한 네 변이고, N(p)N(p)는 면 p의 둘레를 이루는 네 변이다. 꼭짓점 수가 NxNyN_{\mathrm{x}}N_{\mathrm{y}}이므로 AvA_vBpB_p도 각각 그만큼 존재한다. 모든 AvA_vBpB_p는 서로 가환한다. [Av,Av]=[Bp,Bp]=[Av,Bp]=0[A_v,A_{v'}] = [B_p,B_{p'}] = [A_v, B_p] = 0 앞의 두 관계는 같은 파울리 인자의 곱이어서 성립한다. 마지막 관계는 두 연산자가 공유하는 변이 없거나 두 개여서 성립한다.

토릭 부호: 변 위의 큐비트와 두 종류의 검사 — 설명 그림
토릭 부호: 변 위의 큐비트와 두 종류의 검사

또, 모든 vv, pp, ii에 대하여 [Av,Xi]=[Bp,Zi]=0\displaystyle [A_v, X_i] = [B_p, Z_i] = 0이고 {AvZi=ZiAv,iN(v)AvZi=ZiAv,iN(v){BpXi=XiBp,iN(p)BpXi=XiBp,iN(p)\begin{aligned} \begin{cases} A_v Z_i = Z_i A_v,& i \notin N(v) \\ A_v Z_i = - Z_i A_v,& i \in N(v) \end{cases}\\ \begin{cases} B_p X_i = X_i B_p,& i \notin N(p) \\ B_p X_i = - X_i B_p,& i \in N(p) \end{cases} \end{aligned} 이다.

12 · 토릭 부호: 고리와 전역 정보O42
토릭 부호: 고리와 전역 정보핵심O43

공통 고유 상태와 토릭 부호 해밀토니안

AvA_vBpB_p은 모두 제곱하면 II가 된다. 각각 XX 기저와 ZZ 기저에서 고유 상태를 쉽게 표현할 수 있다.

예를 들어 BpB_p에서는 N(p)N(p)에 속한 네 변 중 짝수 개가 |0\left|0\right\rangle인 기저 상태들의 중첩이 고윳값 11에 속한다. 앞으로 {Av}\{A_v\}{Bp}\{B_p\}를 생성원으로 하는 안정자 부호를 구성한다.

AvA_v의 고윳값 ±1\pm 1에 속하는 고유 상태 |Φ±\left|\Phi_{\pm}\right\rangle를 생각하자. N(v)N(v)에 속한 한 변에 ZZ를 적용한 상태 Z|Φ±Z \left|\Phi_{\pm}\right\rangleAvZ|Φ±=ZAv|Φ±=Z|Φ±A_v Z \left|\Phi_{\pm}\right\rangle = -Z A_v \left|\Phi_{\pm}\right\rangle = \mp Z \left|\Phi_{\pm}\right\rangle을 만족한다. 따라서 AvA_v의 고윳값 부호가 반전된다. 마찬가지로 BpB_p의 고유 상태에서 N(p)N(p)에 속한 한 변에 XX를 적용하면 해당 고윳값의 부호가 반전된다.

키타예프 토릭 부호 해밀토니안 (Kitaev toric code Hamiltonian)을 다음과 같이 정의한다. H=JvAvKpBp,J,K>0H = -J \sum_{v} A_{v} - K \sum_{p} B_{p},\quad J,K>0 이 해밀토니안은 모든 AvA_v, BpB_p와 가환한다.

공통 고유 상태와 토릭 부호 해밀토니안 — 설명 그림
공통 고유 상태와 토릭 부호 해밀토니안

[H,Av]=[H,Bp]=0[H,A_v] = [H,B_p] = 0이다. O42의 검사 가환 관계에서 보았듯이 AvA_vBpB_p도 가환한다. 따라서 모든 AvA_v, BpB_p의 공통 고유 상태는 HH의 고유 상태다. 에너지는 해밀토니안에 나타난 계수와 이 고윳값들의 합으로 결정된다.

12 · 토릭 부호: 고리와 전역 정보계산 O44O43
토릭 부호: 고리와 전역 정보계산O44 · 1/2

계산: 전역 제약과 부호 공간의 차원

{Av}\{A_v\}{Bp}\{B_p\}의 수는 각각 NxNyN_{\mathrm{x}} N_{\mathrm{y}}다. 검사값 2NxNy2N_{\mathrm{x}}N_{\mathrm{y}}개가 각각 ±1\pm 1일 수 있으므로, 언뜻 조합이 22NxNy2^{2N_{\mathrm{x}}N_{\mathrm{y}}}개인 것처럼 보인다. 그러면 {Av}\{A_v\}{Bp}\{B_p\}의 값만으로 상태가 정해질 것 같다. 그러나 두 전역 관계 vAv=pBp=III2NxNy\prod_v A_v = \prod_p B_p = \underbrace{ II\cdots I }_{2N_xN_y} 때문에 검사값들은 독립이 아니다. 모든 {Av}\{A_v\}의 고윳값을 곱하면 11이어야 하고, {Bp}\{B_p\}에도 같은 제약이 있다. 허용되는 조합은 4NxNy4^{N_{\mathrm{x}}N_{\mathrm{y}}}개가 아니라 4NxNy14^{N_{\mathrm{x}}N_{\mathrm{y}}-1}개다. 독립 생성원이 2NxNy22N_{\mathrm{x}}N_{\mathrm{y}}-2개이므로 각 공통 고유공간은 44차원이다. [질문] 안정자 부호에서 44는 무엇을 나타내는가?

계산: 전역 제약 두 개와 네 차원의 부호 공간 — 설명 그림
전역 제약 두 개와 네 차원의 부호 공간
토릭 부호: 고리와 전역 정보계산O44--2 · 2/2

계산: 독립적인 전역 관계와 들뜸의 에너지

일부 AvA_v의 곱이 II가 되려면 각 변의 양 끝에 있는 AvA_v의 선택 여부가 같아야 한다. 격자가 연결되어 있으므로 전부 선택하거나 전부 제외해야 한다. BpB_p도 쌍대 격자에서 같다. 따라서 각 종류에 독립적인 관계가 정확히 하나씩 있다.

바닥 상태 에너지는 E0=(J+K)NxNyE_0=-(J+K)N_{\mathrm{x}}N_{\mathrm{y}}다. 음의 검사 고윳값 수를 nv,npn_v,n_p라 하면 E=E0+2Jnv+2Knp.E=E_0+2Jn_v+2Kn_p.이다. 주기적 경계 조건에서는 nv,npn_v,n_p가 각각 짝수다. 따라서 같은 종류의 들뜸 한 쌍을 만드는 데 필요한 에너지는 4J4J 또는 4K4K다.

토릭 부호: 고리와 전역 정보핵심O45

오류 경로: 검사값은 양 끝에서 바뀐다

모든 AvA_vBpB_p의 공통 고유 상태에서 출발하여 다음 과정을 생각하자.

  1. 한 변에 ZZ를 적용하면, 그 변에 접한 두 AvA_v의 고윳값이 반전된다.

  2. 이 두 AvA_v에 속한 나머지 여섯 변 중, 처음 ZZ를 적용한 변과 평행한 두 변에도 ZZ를 적용하자. 그러면 처음에 바뀐 두 AvA_v의 고윳값은 원래대로 돌아온다.

  3. 지금까지 세 개의 ZZ를 적용했다. 처음 AvA_v의 부호가 바뀌었던 꼭짓점들 대신, 경로 양 끝의 새 꼭짓점에서 AvA_v의 부호가 바뀐다.

  4. 이를 반복하여 ZZ를 적용한 변들이 xx 또는 yy 방향을 감싸는 비수축 고리(non-contractible loop)를 이루게 하자. 이는 한 점으로 연속적으로 줄일 수 없는 고리다. 모든 AvA_v의 고윳값은 복구된다. 따라서 결과 상태는 원래 상태와 AvA_v, BpB_p의 고윳값이 모두 같다.

이 상태는 원래와 같은 양자 상태일 수도 있고 다른 상태일 수도 있다. 이를 확인할 수 있는가? 바닥 상태를 만드는 과정에서 이 문제를 다시 살펴보자.

오류 경로: 검사값은 양 끝에서 바뀐다 — 설명 그림
오류 경로: 검사값은 양 끝에서 바뀐다
12 · 토릭 부호: 고리와 전역 정보O45
토릭 부호: 고리와 전역 정보핵심O46 · 1/2

토릭 바닥 상태의 조건: 닫힌 고리

바닥 상태에서는 모든 AvA_vBpB_p의 고윳값이 +1+1다. 모든 AvA_v에 대해 +1+1인 상태 또는 모든 BpB_p에 대해 +1+1인 상태는 쉽게 쓸 수 있다. 그러나 두 조건을 동시에 만족해야 한다. AvA_v의 고유 상태를 XX 기저로 쉽게 표현할 수 있어도, 같은 기저에서 BpB_p의 고유 상태가 자동으로 얻어지지는 않는다.

AvA_v의 고윳값이 +1+1이려면, 각 꼭짓점에 접한 변 중 짝수 개, 즉 00, 22 또는 44개가 1-1 상태여야 한다. 한 꼭짓점에서는 1+6+1=81 + 6 + 1 = 8개의 국소 배치가 가능하다. 하지만 이웃 꼭짓점들이 변을 공유하므로 배치를 서로 독립적으로 선택할 수는 없다.

한 격자점에서 X=1X=-1 경로가 시작되거나 끝나려면 X=1X=-1인 변의 수가 홀수여야 한다. 따라서 짝수 조건을 만족하는 배치에서 고윳값 1-1에 해당하는 변들은 닫힌 고리들을 이룬다. 이 고리 배치들의 어떤 중첩이 필요한지는 다음 사영 연산자로 확인하자.

12 · 토릭 부호: 고리와 전역 정보계산 O47O46 · 1/2
토릭 부호: 고리와 전역 정보핵심O46--2 · 2/2

닫힌 고리 배치와 그 중첩

바닥 상태: 닫힌 고리들의 중첩 — 설명 그림
바닥 상태: 닫힌 고리들의 중첩
바닥 상태: 닫힌 고리들의 중첩 — 설명 그림
바닥 상태: 닫힌 고리들의 중첩

각 중첩 성분은 모든 XiX_i의 고유 상태다. 흰 변은 |+\left|+\right\rangle, 붉은 변은 |\left|-\right\rangle 상태를 나타낸다. 작은 그림은 큰 주기적 격자의 일부이며, 표시하지 않은 변은 |+\left|+\right\rangle 상태로 둔다.

12 · 토릭 부호: 고리와 전역 정보계산 O47O46 · 2/2
토릭 부호: 고리와 전역 정보계산O47

계산: 사영으로 만든 고리 상태의 정규화

꼭짓점 조건을 만족하는 고리 배치들을 중첩하여, 모든 면 연산자의 고윳값이 +1+1인 상태를 만들면 바닥 상태를 얻는다. 다음 사영 연산자를 사용하자. Qp:=12(1+Bp)Q_p := \frac{1}{2} (1 + B_p) 이 연산자는 고윳값 +1+1인 성분만 남긴다. 꼭짓점 조건과 함께 적용하면 바닥 상태 공간, 즉 부호 공간으로 사영한다.

|ΩpQp|{Xi=1}i\left|\Omega\right\rangle \propto \prod_{p} Q_p \left|\{X_i = 1\}_i\right\rangle의 오른쪽 상태는 모든 XX의 고윳값이 +1+1다. Xi=1X_i = -1 이는 고리가 없는 기준 상태(loop vacuum)다. 여기에 QpQ_p를 적용해 보자. [질문] 사영 후의 벡터가 00이 아니라고 어떻게 확인할 수 있는가?

Qp|{Xi=1}i=12|{Xi=1}i+12Bp|{Xi=1}iQ_p \left|\{X_i = 1\}_i\right\rangle = \frac{1}{2} \left|\{X_i = 1\}_i\right\rangle + \frac{1}{2} B_p \left|\{X_i = 1\}_i\right\rangle이다. 고리가 없는 상태와 면 pp의 둘레에 고리가 생긴 상태가 중첩된다. 따라서 QpQ_p를 적용하면 면 pp의 경계를 뒤집은 배치와 뒤집지 않은 배치의 중첩을 얻는다.

|Ω=12NxNy1{mp}pp*(pp*Bpmp)|{Xi=1}i\left|\Omega\right\rangle = \frac{1}{\sqrt{2^{N_{\mathrm{x}}N_{\mathrm{y}}-1}}}\sum_{\{m_p\}_{p\ne p_*}}\left(\prod_{p\ne p_*}B_p^{m_p}\right)\left|\{X_i=1\}_i\right\rangle에서 mpm_p00 또는 11이다. 한 면 p*p_*를 고정하여 합과 곱에서 제외하고, 나머지 NxNy1N_{\mathrm{x}}N_{\mathrm{y}}-1개의 mpm_p에 대해 독립적으로 합한다. pBp=I\prod_pB_p=I이므로 서로 여집합인 면 집합들은 같은 작용을 한다. 빈 집합과 전체 집합만 중복되는 것이 아니다. 또한 [Qp,Av]=0[Q_p,A_v]=0이므로 |Ω\left|\Omega\right\rangle는 여전히 Av=1A_v = 1을 만족한다. 따라서 |Ω\left|\Omega\right\rangle는 모든 AvA_vBpB_p의 고윳값이 +1+1인 공통 고유 상태다.

토릭 부호: 고리와 전역 정보핵심O48

작은 고리를 더해도 바뀌지 않는 홀짝성

고리가 없는 기준 상태 대신, 모든 AvA_v의 고윳값이 +1+1인 다른 상태에서 시작하면 어떨까? 예를 들어 BpB_p를 몇 개 적용한 상태를 생각하자. 단, ZZ 하나만 적용하면 AvA_v의 부호가 바뀌어 조건을 위반한다. 반면 기준 상태에 XiX_i를 적용해도 상태는 변하지 않는다.

기준 상태에 BpB_p들의 곱을 적용한 뒤 사영해도 같은 |Ω\left|\Omega\right\rangle를 얻는다. 실제로 pQpBp|{Xi=1}i=BppQp|{Xi=1}i=pQp|{Xi=1}i\begin{aligned} \prod_p Q_p B_{p'} \left|\{X_i = 1\}_i\right\rangle &= B_{p'} \prod_{p} Q_p \left|\{X_i = 1\}_i\right\rangle\\ &= \prod_{p} Q_p \left|\{X_i = 1\}_i\right\rangle \end{aligned}이다. 여기서는 QpQ_{p}BpB_{p'}의 가환성을 이용했다. 그렇다면 바닥 상태는 하나뿐일까?

그렇지 않다. Qp\prod Q_p를 적용하면 모든 BpB_p의 고유 상태가 되지만, 고리 배치에는 추가적인 전역 정보가 남는다. Qp\prod Q_p가 만드는 여러 고리 배치의 중첩은 다음의 홀짝성을 공유한다.

작은 고리를 더해도 바뀌지 않는 홀짝성 — 설명 그림
작은 고리를 더해도 바뀌지 않는 홀짝성

xx 좌표가 같은 xx 방향 변들 가운데 X=1X = -1인 변의 수를 세자. QpQ_pxx 좌표가 같은 두 xx 방향 변에서 XX의 부호를 바꾸므로 이 수의 홀짝성을 보존한다. yy 좌표가 같은 yy 방향 변에서도 마찬가지다. 고리가 없는 기준 상태에서 두 수는 모두 짝수이므로, 사영 후에도 짝수다. 그렇다면 AvA_vBpB_p의 고윳값을 유지하면서 홀짝성을 바꿀 수 있을까?

12 · 토릭 부호: 고리와 전역 정보O48
토릭 부호: 고리와 전역 정보핵심O49 · 1/2

두 전역 패리티를 바꾸는 연산

고리가 없는 기준 상태에서, yy 좌표가 같은 모든 xx 방향 변에 ZZ를 적용하자. 닫힌 경로이므로 모든 AvA_v의 고윳값은 유지된다. 그러나 xx 좌표가 같은 xx 방향 변들에서 1-1인 변의 수가 하나 늘어나 홀짝성이 바뀐다. 마찬가지로 xx 좌표가 같은 모든 yy 방향 변에 ZZ를 적용하면, yy 좌표가 같은 yy 방향 변들에서 1-1인 변의 수의 홀짝성이 바뀐다. 두 조작으로 나머지 세 홀짝성 조합을 만든다. 각각에 Qp\prod Q_p를 적용하여 얻는 네 바닥 상태는 서로 직교할까?

두 홀짝성은 xx 좌표가 같은 xx 방향 변에서 XX를 곱한 X\prod X와, yy 좌표가 같은 yy 방향 변에서 XX를 곱한 X\prod X로 측정한다. 두 연산자는 서로 가환하고 모든 AvA_v, BpB_p와도 가환한다. 앞서 구한 네 바닥 상태는 이 두 고리 연산자의 공통 고유 상태다.

[Q1] 안정자 부호로 해석할 때 이 연산자들은 어떤 역할을 하고 있는 셈인가?

12 · 토릭 부호: 고리와 전역 정보O49 · 1/2
토릭 부호: 고리와 전역 정보핵심O49--2 · 2/2

같은 국소 검사, 서로 다른 논리 정보

두 전역 패리티와 논리 연산자 — 설명 그림
두 전역 패리티와 논리 연산자

연산자의 관계에서 알 수 있듯 전역 곱 조건을 만족하는 모든 AvA_v, BpB_p 값 조합에 대해 같은 이야기를 할 수 있다. 즉, 허용된 같은 AvA_v, BpB_p 값 조합을 갖는 공통 고유공간은 4차원이며 위에서 언급한 두 연산자의 고윳값으로 더 세분화할 수 있다.

[Q1] 한 점으로 줄일 수 있는 ZZ 고리 연산자는 BpB_p들의 곱으로 만들 수 있다. 그런데 왼쪽에서 언급한 둘은 본질적으로 무엇이 다른가? [Q2] 같은 역할을 하는 다른 연산자는 없는가? [Q3] 논리 연산자는 무엇인가?

12 · 토릭 부호: 고리와 전역 정보O49 · 2/2
토릭 부호: 고리와 전역 정보핵심O50

에너지 비용과 오류 정정은 같은 주장이 아니다

키타예프 토릭 부호에서는 국소 오류와 비자명한 논리 연산자를 구별할 수 있다. 그러나 이것만으로 실제 장치의 결함 허용성(fault tolerance)이 보장되는 것은 아니다.

바닥 상태에서 열린 경로를 따라 Z를 적용하면 양 끝의 AvA_v 고윳값만 1-1로 바뀌고, 에너지는 4J4J만큼 증가한다. 들뜸 한 쌍이 경로 양 끝에 생기는 것이다. 이 에너지 비용은 경로 길이에 의존하지 않는다. 두 들뜸이 다시 만나 소멸하면 바닥 상태 공간으로 돌아간다. 이때 논리 정보를 바꾸려면 전체 경로가 비수축 고리를 이루어야 한다. 논리 오류 확률을 분석하려면 잡음 모형, 관측 시간, 오류 정정 절차를 함께 지정해야 한다.

이 모형에서는 오류 경로가 길어져도 에너지 비용이 증가하지 않는다. 따라서 2차원 토릭 부호의 크기를 키우는 것만으로 유한 온도에서 정보가 스스로 보호된다고 해석해서는 안 된다. 반복 신드롬 측정과 복구를 수행하는 능동 오류 정정은 별개다. [DKLP02] [질문] X를 적용하면 어떤 들뜸이 생기는가?

에너지 비용과 오류 정정은 같은 주장이 아니다 — 설명 그림
에너지 비용과 오류 정정은 같은 주장이 아니다
12 · 토릭 부호: 고리와 전역 정보O50
토릭 부호: 고리와 전역 정보핵심O51

토릭 부호: 요약과 일반화

  1. 부호 공간의 차원은 얼마이며, 논리 큐비트 몇 개를 나타내는가?

  2. 논리 연산자는 무엇인가?

  3. 부호 거리는 얼마인가?

직사각형 토러스에서는 dim𝒞=4,k=2,d=min(Nx,Ny).\dim\mathcal C=4,\quad k=2,\quad d=\min(N_{\mathrm{x}},N_{\mathrm{y}}).이다. 원래 격자와 쌍대 격자에서 서로 한 번 교차하는 Z,XZ,X 고리 쌍이 각 논리 큐비트의 파울리 연산자를 이룬다. 고리의 방향뿐 아니라 어느 격자 위의 경로인지도 구별해야 한다.

  1. A. Yu. Kitaev, “Fault-tolerant quantum computation by anyons,” Ann. Phys. 303, 2–30 (2003), quant-ph/9707021.

  2. 곡면 위의 적절한 셀 분할로 일반화할 수 있다.

  3. 연결되고 경계가 없는 가향 콤팩트 곡면으로 일반화할 수 있다. 이때 바닥 상태 공간의 차원은 곡면의 종수(genus) gg에 따라 정해지며, 바닥 상태의 축퇴도(degeneracy)4g4^g이다. xx, yy 방향이 모두 주기적인 경우는 위상학적으로 g=1g = 1인 토러스다.

  4. 더 높은 차원의 공간으로도 일반화 가능하다.

12 · 토릭 부호: 고리와 전역 정보O51
표면 부호: 검사에서 복구까지절 안내S13

표면 부호: 검사에서 복구까지

SECTION 13

표면 부호: 검사에서 복구까지

신드롬이 사라졌다면 논리 정보도 반드시 복구되었는가?

01열린 경계와 부호 거리
02검사 회로와 오류 전파
03복구 경로와 시간 기록

마지막으로 계산·통신·보호를 하나의 설명으로 연결한다.

13 · 표면 부호: 검사에서 복구까지S13
표면 부호: 검사에서 복구까지핵심O52

표면 부호: 열린 경계와 국소 검사

표면 부호(surface code)는 토릭 부호와 밀접하게 관련된 안정자 부호다. 격자 위의 국소 검사는 유지하되, 주기적 경계 대신 열린 경계를 도입한다.

  1. 그림의 회색 격자는 토릭 부호의 정사각 격자에 대응한다. 변 위의 흰 점이 양자 정보를 담는 데이터 큐비트(data qubit)다.

  2. 열린 경계 조건을 가정하고 xxyy 방향 경계를 다른 모양으로 한다.

  3. 꼭짓점에는 X 검사 보조 큐비트 (X-check ancilla qubit)를 둔다. 그림에서는 노란 사각형 중심의 붉은 점이며, vv로 표기한다.

  4. 면의 중심에는 Z 검사 보조 큐비트 (Z-check ancilla qubit)를 둔다. 그림에서는 초록 사각형 중심의 붉은 점이며, pp로 표기한다.

좌우 경계에서는 세 개의 XX 인자로 AvA_v를 정의하고, 상하 경계에서는 BpB_p를 세 개의 ZZ 인자로 정의한다. 그래도 [Av,Bp]=0[A_v,B_p] = 0가 성립하므로 {Av}\{A_v\}{Bp}\{B_p\}를 안정자 생성원으로 사용할 수 있다. [질문] Av=Bp=1\prod A_v = \prod B_p = 1이 성립하는가?

표면 부호: 열린 경계와 국소 검사 — 설명 그림 거친 경계: Z 검사 경계 매끄러운 경계: X 검사 경계
표면 부호: 열린 경계와 국소 검사
13 · 표면 부호: 검사에서 복구까지O52
표면 부호: 검사에서 복구까지핵심O56

직사각형 패치가 담는 논리 큐비트의 수

이 그림에서는 X 검사 보조 큐비트로 끝나는 좌우를 매끄러운 경계(smooth boundary), Z 검사 보조 큐비트로 끝나는 상하를 거친 경계(rough boundary)라 부른다. 가로·세로 셀 수를 Nx,NyN_{\mathrm{x}},N_{\mathrm{y}}라 하자. 데이터 큐비트는 정수 격자점의 (Nx+1)(Ny+1)(N_{\mathrm{x}}+1)(N_{\mathrm{y}}+1)개와 셀 중심의 NxNyN_{\mathrm{x}}N_{\mathrm{y}}개다. n=(Nx+1)(Ny+1)+NxNy.n=(N_{\mathrm{x}}+1)(N_{\mathrm{y}}+1)+N_{\mathrm{x}}N_{\mathrm{y}}. 보조 큐비트 수는 mX=(Nx+1)Ny,mZ=Nx(Ny+1).m_{\mathrm{X}}=(N_{\mathrm{x}}+1)N_{\mathrm{y}},\qquad m_{\mathrm{Z}}=N_{\mathrm{x}}(N_{\mathrm{y}}+1).다. 이 열린 격자 영역에서는 경계부터 검사하면 비어 있지 않은 생성원 곱이 항등연산자일 수 없으므로 검사들이 독립이다. 따라서 k=nmXmZ=1.k=n-m_{\mathrm{X}}-m_{\mathrm{Z}}=1.이다. 직사각형 패치도 논리 큐비트 하나를 나타낸다.

직사각형 패치가 담는 논리 큐비트의 수 — 설명 그림 거친 경계: Z 검사 경계 매끄러운 경계: X 검사 경계
직사각형 패치가 담는 논리 큐비트의 수

보조 큐비트는 부호의 물리 큐비트 수 nn에 포함하지 않는다. 이 그림은 비회전 패치다. 격자에 대해 4545^\circ 기울어진 방향으로 경계를 잘라 정의하는 배치가 회전 표면 부호(rotated surface code)다. 그림만 회전한다고 데이터 큐비트 수가 줄어드는 것은 아니다.

13 · 표면 부호: 검사에서 복구까지계산 A14O56
표면 부호: 검사에서 복구까지계산A14 · 1/2

열린 경계의 독립성: X 검사를 차례로 제외하기

앞 슬라이드에서 검사 수를 그대로 빼려면 생성원들이 독립임을 확인해야 한다. 어떤 검사들의 곱이 II라고 가정하고, 그 곱에 포함된 검사를 경계에서부터 살펴보자.

XX 검사. 위쪽 경계의 각 데이터 큐비트에는 바로 아래 XX 검사 하나만 작용한다. 곱이 II가 되려면 이 검사는 선택할 수 없다. 그 아래 데이터에는 위ㆍ아래 검사 두 개가 작용한다. 위의 검사가 이미 제외되었으므로 아래 검사도 제외된다. 이를 아래쪽까지 반복하면 모든 XX 검사가 제외된다.

계산: 열린 경계에서 검사들이 독립인 이유 — 설명 그림
열린 경계에서 검사들이 독립인 이유
표면 부호: 검사에서 복구까지계산A14--2 · 2/2

열린 경계의 독립성: Z 검사와 논리 큐비트 수

ZZ 검사. 왼쪽 경계의 각 데이터 큐비트에는 오른쪽 ZZ 검사 하나만 작용한다. 이를 제외하고 오른쪽으로 같은 논리를 반복하면 모든 ZZ 검사가 제외된다.

또한 XX 인자와 ZZ 인자는 서로 상쇄되어 II가 될 수 없다. 따라서 두 종류를 함께 고려해도 추가 관계가 없다. mX=(Nx+1)Ny,mZ=Nx(Ny+1),nmXmZ=1.\begin{aligned} m_{\mathrm{X}}&=(N_{\mathrm{x}}+1)N_{\mathrm{y}},\\ m_{\mathrm{Z}}&=N_{\mathrm{x}}(N_{\mathrm{y}}+1),\\ n-m_{\mathrm{X}}-m_{\mathrm{Z}}&=1. \end{aligned} 일반적인 안정자 차원 공식으로 dimC=2nmXmZ=2\dim C=2^{n-m_{\mathrm{X}}-m_{\mathrm{Z}}}=2를 얻는다. 즉, 직사각형에서도 정확히 하나의 논리 큐비트를 저장한다.

참고: [G97, F12]. 주기적 경계의 토릭 부호와 달리, 여기서는 경계가 있어 두 전역 관계가 사라진다.

표면 부호: 검사에서 복구까지핵심A15

표면 부호의 논리 경로와 거리

이 강의에서 사용하는 열린 격자에서는 세로 방향의 데이터 큐비트에 ZZ를 곱하여 ZLZ_{\mathrm{L}}을 구성할 수 있다. 이 경로의 양 끝은 거친 경계(rough boundary)에 놓인다. 가로 방향에는 XX를 곱하여 XLX_{\mathrm{L}}을 구성한다.

각 경로는 관련 검사와 0개 또는 2개의 데이터 큐비트를 공유하므로 모든 검사와 가환한다. 반면 두 논리 경로는 한 큐비트에서 만난다. XLZL=ZLXL.X_{\mathrm{L}}Z_{\mathrm{L}}=-Z_{\mathrm{L}}X_{\mathrm{L}}. 그림의 대표 경로 길이는 각각 wt(XL)=Nx+1,wt(ZL)=Ny+1.\operatorname{wt}(X_{\mathrm{L}})=N_{\mathrm{x}}+1,\quad \operatorname{wt}(Z_{\mathrm{L}})=N_{\mathrm{y}}+1. 경계를 잇는 더 짧은 비자명한 경로가 없으므로 이 패치의 거리는 d=min(Nx+1,Ny+1)d=\min(N_{\mathrm{x}}+1,N_{\mathrm{y}}+1)이다.

표면 부호의 논리 경로와 거리 — 설명 그림 거친 경계: Z 검사 경계 매끄러운 경계: X 검사 경계
표면 부호의 논리 경로와 거리

검사 연산자를 곱하면 같은 논리 작용을 하는 다른 경로를 얻는다. 신드롬 없이 논리 상태를 바꾸는 오류와 부호 거리가 이렇게 연결된다.

참고: [F12, DKLP02]. 그림은 원문의 경계 배치를 유지한 비회전 패치다.

13 · 표면 부호: 검사에서 복구까지A15
표면 부호: 검사에서 복구까지핵심O53a · 1/2

Z 검사 측정: 보조 비트에 패리티 담기

ZZ 검사 Bp=iN(p)ZiB_p=\prod_{i\in N(p)}Z_i를 읽으려면 보조 큐비트 pp|0\left|0\right\rangle으로 준비한다. 측정 비트를 mpm_p라 하자. 각 데이터 큐비트를 제어로 하여 pp에 CNOT을 작용한다. Up=iN(p)CNOTi,p.U_p=\prod_{i\in N(p)}\mathrm{CNOT}_{i,p}. 계산 기저에서 데이터의 1 개수가 짝수이면 보조 비트가 0, 홀수이면 1이 된다. 따라서 pp의 측정으로 BpB_p를 알 수 있다.

mp=0Bp=+1,mp=1Bp=1.m_p=0\Longleftrightarrow B_p=+1,\qquad m_p=1\Longleftrightarrow B_p=-1. 내부 검사는 데이터 네 개, 경계의 해당 검사는 세 개에 작용한다. 이 차이는 곱에 들어가는 인자 수만 바꾼다.

Z 검사 측정: 데이터를 제어, 보조 큐비트를 표적으로 — 설명 그림
Z 검사 측정: 데이터를 제어, 보조 큐비트를 표적으로
13 · 표면 부호: 검사에서 복구까지계산 O53bO53a · 1/2
표면 부호: 검사에서 복구까지핵심O53a--2 · 2/2

Z 검사 회로: 격자에서 데이터의 위치 읽기

Z 검사 측정: 데이터를 제어, 보조 큐비트를 표적으로 — 설명 그림
Z 검사 측정: 데이터를 제어, 보조 큐비트를 표적으로

a,b,c,da,b,c,d는 각 측정용 보조 큐비트에서 바라본 데이터 큐비트의 위치다. 위, 왼쪽, 오른쪽, 아래의 순서로 이름을 붙인다.

13 · 표면 부호: 검사에서 복구까지계산 O53bO53a · 2/2
표면 부호: 검사에서 복구까지계산O53b · 1/2

계산: Z 검사 회로의 사영 연산자 전개

Z 검사 보조 큐비트 pp|0\left|0\right\rangle으로 초기화하고, N(p)N(p)에 속한 데이터 큐비트에 다음 제어 연산을 적용하자. iN(p)CNOTi,p=iN(p)(|0i0i|Ip+|1i1i|Xp)\prod_{i \in N(p)} \operatorname{CNOT}_{i,p} = \prod_{i \in N(p)} \left( \left|0_i\right\rangle\!\left\langle 0_i\right| I_p + \left|1_i\right\rangle\!\left\langle 1_i\right| X_p \right) 내부 검사에는 네 데이터 큐비트가 있어 16개 항, 경계 검사에는 세 개가 있어 8개 항이 나온다. 두 경우 모두 PBp(+)Ip+PBp()XpP_{B_p}^{(+)} I_p + P_{B_p}^{(-)} X_p로 정리된다. P+P_+PP_-의 항은 각각 오른쪽 인자를 짝수 번, 홀수 번 고른 경우다. 짝수 번 고른 항의 합 |00000000|+|00110011|+|01010101|+\left|0000\right\rangle\!\left\langle 0000\right| + \left|0011\right\rangle\!\left\langle 0011\right| + \left|0101\right\rangle\!\left\langle 0101\right| + \cdotsBpB_p의 고윳값 11에 대한 사영 연산자 PBp(+)P_{B_p}^{(+)}이다. pp|0\left|0\right\rangle로 준비하면 PBp(+)|ψ|0+PBp()|ψ|1P_{B_p}^{(+)} \left|\psi\right\rangle\left|0\right\rangle + P_{B_p}^{(-)} \left|\psi\right\rangle \left|1\right\rangle이다. pp를 측정하여 |0(|1)\left|0\right\rangle (\left|1\right\rangle)를 얻으면 데이터는 Bp=+1(1)B_p = +1 (-1) 상태가 된다.

표면 부호: 검사에서 복구까지계산O53b--2 · 2/2

계산: 여러 큐비트에 대한 Z 검사

일반적인 무게 ww의 검사에도 같은 논리가 적용된다. 계산 기저 문자열 z=(z1,,zw)z=(z_1,\ldots,z_w)에서 BpB_p의 고윳값은 (1)z1++zw(-1)^{z_1+\cdots+z_w}다. 짝수 부분과 홀수 부분으로 합을 나누면 Up=PBp(+)Ip+PBp()Xp.U_p=P_{B_p}^{(+)}\otimes I_p+P_{B_p}^{(-)}\otimes X_p. 측정 후 데이터는 해당 사영 성분을 정규화한 상태다.

표면 부호: 검사에서 복구까지핵심O54a · 1/2

X 검사 측정: 보조 큐비트가 제어인 이유

XX 검사 Av=iN(v)XiA_v=\prod_{i\in N(v)}X_i에는 보조 큐비트 vv가 제어 역할을 한다. |0\left|0\right\rangle으로 준비한 뒤 HH를 작용하고, 이웃 데이터들에 CNOT을 작용한 뒤 다시 HH로 마무리한다. Uv=iN(v)CNOTv,i.U_v=\prod_{i\in N(v)}\mathrm{CNOT}_{v,i}. 보조 비트가 1인 성분에서만 AvA_v가 데이터에 작용한다. 측정 비트를 mvm_v라 하자. 앞서 보인 일반적인 제어 사영 측정과 같은 회로다. mv=0Av=+1,mv=1Av=1.m_v=0\Longleftrightarrow A_v=+1,\qquad m_v=1\Longleftrightarrow A_v=-1. ZZ 검사와 제어ㆍ표적의 방향이 반대임에 주의하자.

X 검사 측정: 보조 큐비트를 제어로 사용하기 — 설명 그림
X 검사 측정: 보조 큐비트를 제어로 사용하기
13 · 표면 부호: 검사에서 복구까지계산 O54bO54a · 1/2
표면 부호: 검사에서 복구까지핵심O54a--2 · 2/2

X 검사 회로를 격자 위에서 읽기

X 검사 측정: 보조 큐비트를 제어로 사용하기 — 설명 그림
X 검사 측정: 보조 큐비트를 제어로 사용하기
13 · 표면 부호: 검사에서 복구까지계산 O54bO54a · 2/2
표면 부호: 검사에서 복구까지계산O54b

계산: X 검사와 반복 측정

N(v)N(v)에 속한 큐비트들에 iN(v)CNOTv,i=iN(v)(|0v0v|Ii+|1v1v|Xi)\prod_{i \in N(v)} \operatorname{CNOT}_{v,i} = \prod_{i \in N(v)} \left( \left|0_v\right\rangle\!\left\langle 0_v\right| I_i + \left|1_v\right\rangle\!\left\langle 1_v\right| X_i \right)을 적용하되, 앞뒤로 보조 큐비트 vv에 아다마르 게이트를 적용한다. 전체 작용은 Av=iN(v)XiA_v = \prod_{i \in N(v)} X_i이며, 앞에서 다룬 제어 연산을 이용한 사영 측정과 같은 구조다. 따라서 PAv(+)|ψ|0v+PAv()|ψ|1vP_{A_v}^{(+)} \left|\psi\right\rangle \left|0_v\right\rangle + P_{A_v}^{(-)} \left|\psi\right\rangle \left|1_v\right\rangle이다. vv를 측정하여 |0(|1)\left|0\right\rangle(\left|1\right\rangle)를 얻으면 데이터는 Av=+1(1)A_v = +1 (-1)에 해당하는 사영 성분으로 바뀐다.

오류가 없고 측정이 이상적이면, 한 검사 주기 후 데이터는 모든 Av,BpA_v,B_p의 공통 고유 상태에 놓인다. 이후 반복 측정에서도 검사 고윳값이 유지된다. 원문에서 quiescent state라 부르는 것은 이처럼 검사 결과가 유지되는 상태다. 오류가 발생하면 신드롬이 바뀔 수 있다.

표면 부호: 검사에서 복구까지핵심O55 · 1/2

검사 회로의 동시 실행: 상호작용 순서

한 시간 단계에서 각 큐비트는 최대 하나의 다른 큐비트와 2큐비트 게이트를 수행한다고 가정한다. 내부 데이터 큐비트는 이웃한 네 보조 큐비트와 차례로 상호작용하며, 경계에서는 존재하는 이웃만 사용한다. 같은 큐비트의 동시 사용을 피하도록 순서를 정해야 한다. 붉은 보조 큐비트를 기준으로 흰 데이터 큐비트에 접근하는 순서는 위(aa), 왼쪽(bb), 오른쪽(cc), 아래(dd)다. II는 두 검사 유형의 시간을 맞추는 대기 구간이다.

주황색 선은 첫 단계(aa)의 상호작용이다. XX 측정은 보조 \to 데이터, ZZ 측정은 데이터 \to 보조가 CNOT 방향이다. 이는 이상적인 측정 순서다. 보조 큐비트 오류의 전파까지 억제하려면 추가 검토가 필요하다.

검사 회로의 동시 실행과 이상적인 순서 — 설명 그림 거친 경계: Z 검사 경계 매끄러운 경계: X 검사 경계
검사 회로의 동시 실행과 이상적인 순서
13 · 표면 부호: 검사에서 복구까지O55 · 1/2
표면 부호: 검사에서 복구까지핵심O55--2 · 2/2

이상적인 검사 순서의 회로와 격자 도식

검사 회로의 동시 실행과 이상적인 순서 — 설명 그림
검사 회로의 동시 실행과 이상적인 순서
검사 회로의 동시 실행과 이상적인 순서 — 설명 그림
검사 회로의 동시 실행과 이상적인 순서
13 · 표면 부호: 검사에서 복구까지O55 · 2/2
표면 부호: 검사에서 복구까지핵심B10

보조 큐비트의 오류도 데이터로 퍼질 수 있다

검사 연산자들이 가환한다고 해서 검사 회로의 오류 전파까지 억제되는 것은 아니다. CNOT의 제어 큐비트를 cc, 표적 큐비트를 tt라 하자. 게이트 앞의 오류를 게이트 뒤의 동등한 오류로 옮겨 표현하면 XcXcXt,ZcZc,XtXt,ZtZcZt.X_{\mathrm{c}}\longmapsto X_{\mathrm{c}}X_{\mathrm{t}},\quad Z_{\mathrm{c}}\longmapsto Z_{\mathrm{c}},\quad X_{\mathrm{t}}\longmapsto X_{\mathrm{t}},\quad Z_{\mathrm{t}}\longmapsto Z_{\mathrm{c}}Z_{\mathrm{t}}.다.

보조 큐비트의 오류도 데이터로 퍼질 수 있다 — 설명 그림
보조 큐비트의 오류도 데이터로 퍼질 수 있다

여러 데이터에 CNOT을 차례로 적용하는 XX 검사에서, 보조계의 XX 오류 하나가 남은 데이터 여러 개로 전파될 수 있다. ZZ 검사에서는 표적 보조계의 ZZ 오류를 같은 방식으로 살펴본다.

따라서 순서와 공간 방향은 상관된 오류의 모양에 영향을 준다. 앞 슬라이드의 순서는 이상적인 검사값을 추출하고 동일 큐비트의 동시 사용을 피하는 순서다. 그것만으로 잡음이 있는 회로의 유효 거리나 임계 오류율을 증명한 것은 아니다.

참고: [G97, F12]. 실제 결함 허용성에는 오류 모형, 회로, 복구 알고리즘을 함께 지정해야 한다.

13 · 표면 부호: 검사에서 복구까지B10
표면 부호: 검사에서 복구까지핵심A16

같은 신드롬을 가진 오류와 복구 경로

Nx=Ny=2N_{\mathrm{x}}=N_{\mathrm{y}}=2인 거리 3 패치를 보자. 가운데 데이터 큐비트의 ZZ 오류는 바로 위ㆍ아래의 XX 검사 두 개를 1-1로 바꾼다.

같은 신드롬을 가진 오류와 복구 경로 — 설명 그림 같은 Z를 다시 적용
같은 신드롬을 가진 오류와 복구 경로

세 경우의 신드롬은 같다. 그러나 R1E=IR_1E=I이고, R2E=ZLR_2E=Z_{\mathrm{L}}이다. R2R_2로 복구하면 검사 결과는 모두 +1+1로 돌아와도 논리 오류가 남는다.

오류가 많아야 하나라는 가정에서는 R1R_1을 선택한다. 일반적인 복호 과정은 잡음 모형과 측정 기록을 이용하여 복구를 선택한다. 오류를 무조건 정확히 찾아내는 절차는 아니다.

참고: [F12, DKLP02]. 붉은 점은 고윳값이 바뀐 검사 위치이고, 색 선은 데이터 큐비트의 ZZ 작용을 나타낸다.

13 · 표면 부호: 검사에서 복구까지계산 A17A16
표면 부호: 검사에서 복구까지계산A17

계산: 검사값은 같아도 논리 작용은 다를 수 있다

앞 그림의 세로줄에서 데이터 큐비트를 아래부터 b,c,tb,c,t라 부르자. 아래ㆍ위 XX 검사를 각각 S,S+S_-,S_+라 하자. 주변 데이터에 작용하는 XX의 곱을 L,L+L_-,L_+로 묶으면 S=XbXcL,S+=XcXtL+.S_-=X_bX_{\mathrm{c}}L_-,\qquad S_+=X_{\mathrm{c}}X_{\mathrm{t}}L_+. E=ZcE=Z_{\mathrm{c}}, R1=ZcR_{1}=Z_{\mathrm{c}}, R2=ZbZtR_{2}=Z_bZ_{\mathrm{t}}를 비교하자. ZcZ_{\mathrm{c}}는 두 검사와 모두 한 번 반가환한다. ZbZtZ_bZ_{\mathrm{t}}도 아래 검사와 ZbZ_b에서, 위 검사와 ZtZ_{\mathrm{t}}에서 한 번씩 반가환한다. S±E=ES±,S±R2=R2S±.S_\pm E=-ES_\pm,\qquad S_\pm R_2=-R_2S_\pm. 따라서 부호 상태에 작용했을 때 두 연산자는 같은 (1,1)(-1,-1) 신드롬을 만든다. 그 밖의 검사는 모두 +1+1을 유지한다. R1E=Zc2=I,R2E=ZbZcZt=ZL.R_{1}E=Z_{\mathrm{c}}^2=I,\qquad R_{2}E=Z_bZ_{\mathrm{c}}Z_{\mathrm{t}}=Z_{\mathrm{L}}. 거리 3 부호는 한 큐비트 오류를 정정하지만, 모든 두 큐비트 오류까지 정정하지는 못한다. 앞의 두 오류 후보는 각각 무게 1과 2이므로 이 사실과 모순되지 않는다.

일반적으로 같은 신드롬의 두 오류가 S̃\widetilde S의 원소만큼 다르면 같은 복구가 가능하다. 그 차이가 비자명한 논리 연산자이면 두 경우를 동시에 복구할 수 없다.

표면 부호: 검사에서 복구까지실습L16

표면 부호: 같은 신드롬, 다른 논리 작용

표면 부호: 검사에서 복구까지핵심A18

측정에도 오류가 있으면 시간 기록이 필요하다

검사 결과 sv(t)=±1s_v(t)=\pm1을 비트 mv(t)=(1sv(t))/2m_v(t)=(1-s_v(t))/2로 기록하자. 연속한 결과의 변화는 dv(t)=mv(t)mv(t1)d_v(t)=m_v(t)\oplus m_v(t-1) 로 나타낼 수 있다.

데이터 오류가 두 검사값을 바꾸면, 같은 시각에 이웃한 검사 두 곳에서 변화가 나타난다. 그 이후 값이 그대로 유지되면 추가 변화는 없다.

한 검사 결과를 한 번 잘못 읽으면, 그 검사에서 연속한 두 시각에 변화가 나타난다. 따라서 한 번의 측정만으로는 데이터 오류와 측정 오류를 충분히 구별하기 어렵다.

측정에도 오류가 있으면 시간 기록이 필요하다 — 설명 그림
측정에도 오류가 있으면 시간 기록이 필요하다

실제 복호기(decoder)는 측정 기록에서 오류를 추정하고 복구 연산을 정하는 알고리즘이다. 공간과 시간의 기록을 함께 사용하며, 초기 상태 준비와 마지막 측정도 경계 조건에 포함한다.

참고: [DKLP02, F12]. 그림은 두 오류 유형을 구별하기 위한 단순화된 모형이다. 회로 오류는 더 복잡한 상관관계를 만들 수 있다.

13 · 표면 부호: 검사에서 복구까지계산 B11A18
표면 부호: 검사에서 복구까지계산B11

계산: 측정값과 검출 사건은 다르다

한 검사에 대해 측정 비트를 m(t)=(1s(t))/2m(t)=(1-s(t))/2, 이전 측정과의 차이를 d(t)=m(t)m(t1)d(t)=m(t)\oplus m(t-1)이라 하자. 초기 기록은 m(0)=0m(0)=0이라고 가정한다.

시각 tt 0 1 2 3 4
오류 없는 기록 m(t)m(t) 0 0 0 0 0
한 번의 잘못된 측정 m(t)m(t) 0 0 1 0 0
그 기록의 차이 d(t)d(t) 0 1 1 0
지속되는 검사 부호 변화 m(t)m(t) 0 0 1 1 1
그 기록의 차이 d(t)d(t) 0 1 0 0

한 번의 잘못된 측정은 보통 같은 위치의 연속된 두 시각에서 검출 사건을 만든다. 데이터 오류가 검사 고윳값을 바꾸면 이후에도 그 부호가 유지될 수 있으므로, 매번 1이 측정된다고 매번 새 오류가 발생한 것은 아니다.

표면 부호의 데이터 오류는 보통 공간적으로 이웃한 검사 둘에 변화를 만든다. 경계에서는 하나일 수 있다. 그래서 여러 위치와 여러 시각을 함께 고려하여 오류를 추정한다. 마지막 시각에서 끝나는 기록은 종료 측정과 시간 경계의 처리가 따로 필요하다.

참고: [DKLP02, F12]. 모든 오류 전파를 다루는 복호기가 아니라, 검출 사건의 원리를 설명하는 예다.

표면 부호: 검사에서 복구까지핵심A19

보호된 기억장치에서 양자 컴퓨터로

부호 공간에 양자 정보를 보관하는 것과, 그 정보를 사용하여 긴 계산을 수행하는 것은 다르다. 알고리즘에는 논리 상태의 준비, 논리 게이트, 논리 측정이 모두 필요하다.

보호된 기억장치에서 양자 컴퓨터로 — 설명 그림
보호된 기억장치에서 양자 컴퓨터로

논리 X,ZX,Z만으로 임의의 양자 알고리즘을 구현할 수는 없다. 예를 들어 H,S=diag(1,i)H,S=\operatorname{diag}(1,i), CNOT에 T=diag(1,eiπ/4)T=\operatorname{diag}(1,e^{i\pi/4})를 더하면 전체 위상을 제외한 임의의 유니타리 연산을 원하는 정밀도로 근사하는 보편 게이트 집합을 얻는다.

클리퍼드 게이트는 파울리 연산자를 켤레변환하면 다시 파울리 연산자가 되는 게이트다. H,S,H,S, CNOT은 이에 속하지만 TT는 속하지 않는다. 표면 부호에서 이런 논리 연산들을 오류 전파를 억제하며 구현하는 것은 별도의 과제다.

이 강의의 연결 고리: 간섭으로 답의 확률을 바꾸고, 오류 정정으로 그 계산을 보호한다. 쇼어의 9큐비트 부호는 오류 정정 부호이며, 쇼어의 인수분해 알고리즘과는 다른 것이다.

참고: [G97, F12]. 논리 게이트의 구체적인 구현ㆍ자원 비용은 후속 학습 주제로 남긴다.

13 · 표면 부호: 검사에서 복구까지A19
표면 부호: 검사에서 복구까지핵심B12

마무리: 하나의 계산을 처음부터 끝까지 설명해 보자

계산 과정

  1. 입력을 어떤 큐비트 상태로 준비하는가?

  2. 어떤 게이트가 상대 위상을 만들고 간섭시키는가?

  3. 무엇을 측정하며, 측정 결과에서 어떤 고전적 답을 얻는가?

  4. 오라클, 반복, 후처리를 포함한 비용은 무엇인가?

도이치–조사, 그로버, 위상 추정, 쇼어의 주기 찾기에서 각각 답해 보자. 양자 상태의 모든 진폭을 읽는 단계는 필요하지 않았다.

정보 보호 과정

  1. 부호 공간과 논리 연산자는 무엇인가?

  2. 신드롬은 논리 정보를 읽지 않고 무엇을 알려 주는가?

  3. 같은 신드롬을 주는 서로 다른 오류를 언제 동일한 복구 연산으로 정정할 수 있는가?

  4. 이상적인 부호 거리와 잡음 있는 회로의 성능은 왜 다른가?

표면 부호에서는 국소 검사를 반복하지만, 보호할 정보는 경계 사이의 논리 경로에 남는다.

간섭으로 계산하고, 오류 정정으로 그 계산을 보호한다.

13 · 표면 부호: 검사에서 복구까지B12
문헌과 출처심화S14

문헌과 출처

SECTION 14

문헌과 출처

정의와 예제의 역사적 출처를 어디에서 더 살펴볼 수 있는가?

01알고리즘과 오류 정정
02위상적 부호
03정보 이론과 양자 통신

원문 ID와 참고문헌 링크에서 각 설명의 출처와 관련 문헌을 확인할 수 있다.

14 · 문헌과 출처S14
문헌과 출처심화R01

참고문헌: 알고리즘과 양자 오류 정정

[DJ92] D. Deutsch and R. Jozsa, “Rapid solution of problems by quantum computation,” Proc. R. Soc. Lond. A 439, 553–558 (1992). doi:10.1098/rspa.1992.0167.

[C98] R. Cleve, A. Ekert, C. Macchiavello, and M. Mosca, “Quantum algorithms revisited,” Proc. R. Soc. Lond. A 454, 339–354 (1998). arXiv:quant-ph/9708016.

[Gr96] L. K. Grover, “A fast quantum mechanical algorithm for database search,” STOC ’96, 212–219 (1996). arXiv:quant-ph/9605043.

[A03] D. Aharonov, “A simple proof that Toffoli and Hadamard are quantum universal” (2003). arXiv:quant-ph/0301040.

[S95] P. W. Shor, “Scheme for reducing decoherence in quantum computer memory,” Phys. Rev. A 52, R2493–R2496 (1995). doi:10.1103/PhysRevA.52.R2493.

[G97] D. Gottesman, Stabilizer Codes and Quantum Error Correction, Ph.D. thesis, California Institute of Technology (1997). arXiv:quant-ph/9705052.

이 참고문헌은 보충 자료와 교정 근거를 위한 것이다. 원문의 질문과 주요 예제는 보존하되, 설명 순서는 재구성하였다.

14 · 문헌과 출처R01
문헌과 출처심화R02

참고문헌: 위상적 부호와 한국어 용례

[K97] A. Yu. Kitaev, “Fault-tolerant quantum computation by anyons,” Ann. Phys. 303, 2–30 (2003); preprint (1997). arXiv:quant-ph/9707021.

[DKLP02] E. Dennis, A. Kitaev, A. Landahl, and J. Preskill, “Topological quantum memory,” J. Math. Phys. 43, 4452–4505 (2002). arXiv:quant-ph/0110143.

[F12] A. G. Fowler, M. Mariantoni, J. M. Martinis, and A. N. Cleland, “Surface codes: Towards practical large-scale quantum computation,” Phys. Rev. A 86, 032324 (2012). arXiv:1208.0928.

한국어 용어 참고. 이승우, “양자오류정정과 결함허용 양자컴퓨팅,” 한국물리학회 물리학과 첨단기술 33(10) (2024). doi:10.3938/PhiT.33.026. 큐비트, 보조 큐비트, 논리 큐비트, 부호화, 신드롬, 표면 부호 등의 사용례를 참고하였다.

조판. physics2ab, braket 모듈을 사용한다. 회로와 도식은 TikZ 및 circuitikz로 그렸다. 외부 그림 파일을 필요로 하지 않는다.

후속 주제: 일반적인 위상 추정의 정밀도 분석, 실제 잡음 모형, 논리 게이트 구현, 회로 오류의 전파와 정량적인 자원 추정.

14 · 문헌과 출처R02
문헌과 출처심화R03

이번 재구성에서 추가한 내용과 문헌

[Sh97] P. W. Shor, “Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer,” SIAM J. Comput. 26, 1484–1509 (1997). DOI: 10.1137/S0097539795293172; arXiv:quant-ph/9508027.

[C98]과 [Sh97]은 위상 추정과 주기 찾기의 배경 문헌이다. Q=8Q=8의 위상 예와 N=15N=15, a=2a=2, Q=256Q=256의 주기 예는 이 강의를 위한 유한 계산이며, 제공한 검산 코드로 확인할 수 있다.

원문 O01–O56과 보충 A01–A19의 주제를 유지하되, 일부 설명과 계산을 분리하거나 재배치했다. B는 추가 보충 내용, C는 통신 관련 내용, L은 직접 조작 예제다. 원문 단위와 발표 슬라이드의 대응표는 묶음 파일의 SOURCE_MAP.md에 있다.

기존 강의 도식은 TikZ·circuitikz·yquant로 작성된 SVG다. 본문은 HTML, 수식은 MathML로 표시한다. 직접 조작 예제는 같은 유한 모형을 JavaScript로 구현하며, PDF 페이지를 삽입한 방식이 아니다.

검증은 유한 예제, 명시된 회로, 문서 구조에 대해 수행한다. 현실적인 임계 오류율, 하드웨어 성능, 잡음이 있는 회로의 전체 유효 거리에 대한 증명은 이 강의의 범위 밖이다.

14 · 문헌과 출처R03
문헌과 출처심화C23

통신의 역사적 문헌: 정보량과 얽힘 자원

  1. C. E. Shannon, “A Mathematical Theory of Communication,” Bell System Technical Journal 27, 379–423, 623–656 (1948).

    첫 부분 DOI; 둘째 부분 DOI. 정보원과 채널의 이론.

  2. C. E. Shannon, “Communication Theory of Secrecy Systems,” BSTJ 28, 656–715 (1949).

    DOI. 완전 비밀성과 암호화 자원.

  3. A. S. Holevo, “Bounds for the Quantity of Information Transmitted by a Quantum Communication Channel,” Problems of Information Transmission 9, 177–183 (1973).

    원문·번역 서지. 측정으로 얻는 고전 정보의 상한.

  4. C. H. Bennett and S. J. Wiesner, Phys. Rev. Lett. 69, 2881–2884 (1992).

    DOI. 초밀집 부호화.

  5. C. H. Bennett, G. Brassard, C. Crépeau, R. Jozsa, A. Peres, and W. K. Wootters,

    Phys. Rev. Lett. 70, 1895–1899 (1993). DOI. 양자 순간이동.

원 논문은 역사적 출처다. 강의의 기호·회로 방향·유한 수치 예제는 일관된 관례로 다시 계산하였다.

14 · 문헌과 출처C23
문헌과 출처심화C24

통신의 역사적 문헌: 키 분배와 양자 중계

  1. C. H. Bennett and G. Brassard, “Quantum cryptography: Public key distribution and coin tossing,” Bangalore 회의록, pp. 175–179 (1984).

    1984년 원문 스캔: 2020년 업로드; 2014년 재식자판. 프로토콜의 발표 연도와 재공개 연도는 다르다.

  2. P. W. Shor and J. Preskill, “Simple Proof of Security of the BB84 Quantum Key Distribution Protocol,” PRL 85, 441–444 (2000).

    DOI; arXiv. 특정 도청 예제를 넘는 보안 증명.

  3. M. Żukowski, A. Zeilinger, M. A. Horne, and A. K. Ekert,

    “’Event-ready-detectors’ Bell experiment via entanglement swapping,” PRL 71, 4287–4290 (1993). DOI.

  4. H.-J. Briegel, W. Dür, J. I. Cirac, and P. Zoller,

    “Quantum repeaters: The role of imperfect local operations in quantum communication,” PRL 81, 5932–5935 (1998). DOI.

  5. J. Preskill, Quantum Shannon Theory, arXiv:1604.07450 (2016); 저자 강의노트의 후속 개정판도 참고. 역사적 최초 논문이 아니라 정의와 학습을 위한 자료다.

C는 이번 통신 확장, HTML의 L은 해당 위치에서 직접 조작하는 예제를 뜻한다.