Yangja Wiki / 회로 모델

얽힘 회로

얽힘은 다중 큐비트 회로의 핵심 자원입니다. Bell pair, GHZ, swap test를 통해 얽힘 회로를 계산으로 확인합니다.

Bell pair

가장 작은 얽힘 회로는 H와 CX로 만듭니다.

$$
|00\rangle
\xrightarrow{H\otimes I}
{ |00\rangle+|10\rangle \over \sqrt{2}}
\xrightarrow{\mathrm{CX}}
{ |00\rangle+|11\rangle \over \sqrt{2}}
$$

이 상태는 |\phi\rangle\otimes|\chi\rangle 꼴로 분리할 수 없습니다.

GHZ 상태

Bell pair 구조를 여러 target으로 확장하면 GHZ 상태가 됩니다.

$$
|000\rangle
\xrightarrow{H_0}
{ |000\rangle+|100\rangle \over \sqrt{2}}
\xrightarrow{\mathrm{CX}_{0,1}}
{ |000\rangle+|110\rangle \over \sqrt{2}}
\xrightarrow{\mathrm{CX}_{0,2}}
{ |000\rangle+|111\rangle \over \sqrt{2}}
$$

일반화하면 아래와 같습니다.

$$
|\mathrm{GHZ}_n\rangle
=
{ |0\rangle^{\otimes n}+|1\rangle^{\otimes n} \over \sqrt{2}}
$$

Swap test

swap test는 두 상태가 얼마나 비슷한지 추정하는 회로입니다. ancilla에 H를 걸고 controlled-SWAP을 수행한 뒤 다시 H를 겁니다.

$$
\Pr(0)
=
{1+|\langle\psi|\phi\rangle|^2\over2}
$$

두 상태가 같으면 \Pr(0)=1이고, 직교하면 \Pr(0)=1/2입니다. 커널 방법, 상태 비교, fidelity 추정에서 자주 쓰입니다.

Parity 회로

CX를 ancilla에 모으면 여러 비트의 parity를 측정할 수 있습니다.

$$
|x_1,x_2,\dots,x_n,0\rangle
\mapsto
|x_1,x_2,\dots,x_n,x_1\oplus x_2\oplus\cdots\oplus x_n\rangle
$$

stabilizer 측정, 오류정정 syndrome 추출, oracle 설계에서 같은 패턴이 반복됩니다.

얽힘 회로에서 조심할 점

  • 얽힘을 만들었다면 partial trace 관점에서 각 부분계가 혼합상태처럼 보일 수 있습니다.
  • ancilla를 얽힌 채로 방치하면 뒤의 간섭이 망가집니다.
  • 측정은 얽힘을 고전 상관관계로 바꿉니다.
  • 하드웨어에서는 얽힘 생성에 필요한 2큐비트 게이트가 주된 오류 원천입니다.

Bell 상태를 밀도행렬로 보기

Bell 상태 |\Phi^+\rangle=(|00\rangle+|11\rangle)/\sqrt{2}의 전체 밀도행렬은 순수상태입니다.

$$
\rho_{AB}=|\Phi^+\rangle\langle\Phi^+|
$$

하지만 B를 trace out하면 A만의 상태는 완전 혼합상태입니다.

$$
\rho_A=\mathrm{Tr}_B(\rho_{AB})={I\over2}
$$

이 말은 A만 따로 보면 완전히 랜덤하지만, AB 전체를 같이 보면 완벽한 상관관계가 있다는 뜻입니다. 얽힘 회로는 이런 “부분은 랜덤, 전체는 구조적”인 상태를 의도적으로 만드는 회로입니다.

측정 기저에 따른 상관관계

Bell 상태는 Z basis에서 측정하면 두 결과가 항상 같습니다.

$$
\Pr(00)=\Pr(11)={1\over2},\qquad
\Pr(01)=\Pr(10)=0
$$

그런데 같은 상태를 X basis에서 측정해도 두 결과는 여전히 상관되어 있습니다. X basis 측정은 측정 전 양쪽에 H를 적용하는 것과 같습니다.

$$
(H\otimes H)|\Phi^+\rangle=|\Phi^+\rangle
$$

따라서 Bell 상태는 특정 basis 하나에서만 상관된 고전 혼합상태가 아닙니다. 여러 basis에서 고전적으로 설명하기 어려운 상관관계를 보입니다.

얽힘과 고전 상관관계의 차이

고전적으로 “동전 두 개가 항상 같은 값”인 확률분포를 만들 수 있습니다.

$$
\rho_{\mathrm{classical}}
={1\over2}|00\rangle\langle00|
+{1\over2}|11\rangle\langle11|
$$

이 상태는 Z basis에서 Bell 상태와 같은 측정분포를 냅니다. 하지만 coherence 항이 없습니다.

$$
|\Phi^+\rangle\langle\Phi^+|
=
{1\over2}(
|00\rangle\langle00|
+|00\rangle\langle11|
+|11\rangle\langle00|
+|11\rangle\langle11|)
$$

중간의 |00\rangle\langle11|, |11\rangle\langle00| 항이 양자 coherence입니다. 얽힘 회로가 중요한 이유는 이 coherence를 계산 자원으로 사용할 수 있기 때문입니다.

ancilla 얽힘과 uncompute

회로 중간에 ancilla에 정보를 적어두면 본 레지스터와 ancilla가 얽힐 수 있습니다.

$$
\sum_x a_x|x\rangle|0\rangle
\mapsto
\sum_x a_x|x\rangle|g(x)\rangle
$$

만약 g(x)가 여러 값으로 갈라지면 ancilla는 어떤 경로를 탔는지에 대한 which-path information을 갖습니다. 이 정보가 남아 있으면 원래 합쳐져야 할 진폭들이 서로 간섭하지 못합니다.

그래서 oracle 설계와 산술 회로에서는 compute-copy-uncompute 패턴을 씁니다.

$$
|x,0,0\rangle
\to
|x,g(x),h(x)\rangle
\to
|x,g(x),h(x),g(x)\rangle
\to
|x,0,0,g(x)\rangle
$$

하드웨어에서 얽힘이 비싼 이유

단일 큐비트 게이트는 한 물리 큐비트만 잘 제어하면 되지만, 얽힘 게이트는 두 큐비트 사이의 상호작용을 정밀하게 켜고 꺼야 합니다. 이 과정에서 현재의 양자컴퓨터들은 구조적 한계로 많은 오차가 생깁니다.

따라서 얽힘 회로를 설계할 때는 단순히 “CX 몇 개면 되네”가 아니라 다음을 봐야 합니다.

  • 필요한 2큐비트 게이트 수
  • 2큐비트 게이트가 장비 topology에서 직접 가능한지
  • SWAP 삽입 후 실제 depth
  • 얽힘을 만든 뒤 얼마나 오래 유지해야 하는지
  • 측정 전에 오류가 얽힘 전체로 퍼지는지