주 콘텐츠로 건너뛰기

Pauli 연산과 observable

Pauli 행렬은 stabilizer 형식체계에서 핵심적인 역할을 합니다. 이 강의는 Pauli 행렬에 대한 논의로 시작하여 기본적인 대수적 성질 일부를 살펴보고, Pauli 행렬(과 Pauli 행렬의 텐서곱)이 어떻게 측정을 기술할 수 있는지도 함께 논의합니다.

Pauli 연산의 기초

다음은 2×22\times 2 단위 행렬과 세 개의 비단위 Pauli 행렬을 포함한 Pauli 행렬들입니다.

I=(1001)X=(0110)Y=(0ii0)Z=(1001)\mathbb{I} = \begin{pmatrix} 1 & 0\\ 0 & 1 \end{pmatrix} \qquad X = \begin{pmatrix} 0 & 1\\ 1 & 0 \end{pmatrix} \qquad Y = \begin{pmatrix} 0 & -i\\ i & 0 \end{pmatrix} \qquad Z = \begin{pmatrix} 1 & 0\\ 0 & -1 \end{pmatrix}

Pauli 행렬의 성질

네 개의 Pauli 행렬은 모두 유니터리이면서 에르미트입니다. 이 시리즈에서 앞서 비단위 Pauli 행렬을 가리킬 때는 σx,\sigma_x, σy,\sigma_y, σz\sigma_z라는 이름을 사용했지만, 오류 정정의 맥락에서는 대신 대문자 X,X, Y,Y, ZZ를 사용하는 것이 관례입니다. 이전 강의에서도 이 관례를 따랐으며, 남은 강의들에서도 계속 그렇게 하겠습니다.

서로 다른 비단위 Pauli 행렬들은 서로 반교환(anti-commute) 합니다.

XY=YXXZ=ZXYZ=ZYXY = -YX \qquad XZ = -ZX \qquad YZ = -ZY

이 반교환 관계는 곱셈을 수행해 보면 간단히 확인할 수 있지만, stabilizer 형식체계를 비롯한 여러 곳에서 결정적으로 중요합니다. 앞으로 살펴보겠지만, 두 개의 서로 다른 비단위 Pauli 행렬이 행렬 곱에서 순서가 바뀔 때 나타나는 음의 부호는 stabilizer 형식체계에서 오류 검출에 정확히 대응합니다.

다음과 같은 곱셈 규칙도 있습니다.

XX=YY=ZZ=IXY=iZYZ=iXZX=iYXX = YY = ZZ = \mathbb{I} \qquad XY = iZ \qquad YZ = iX \qquad ZX = iY

즉, 각 Pauli 행렬은 자기 자신의 역원이며(유니터리이면서 에르미트인 모든 행렬에 대해 항상 성립합니다), 서로 다른 두 비단위 Pauli 행렬을 곱하면 언제나 나머지 비단위 Pauli 행렬에 ±i\pm i를 곱한 것이 됩니다. 특히, 위상 인자를 제외하면 YYXZX Z와 동등하며, 이는 양자 오류 정정에서 XX 오류와 ZZ 오류에 집중하고 YY 오류에는 겉보기로 관심을 두지 않는 이유를 설명해 줍니다. XX는 비트 반전, ZZ는 위상 반전을 나타내므로 (전역 위상 인자를 제외하면) YY는 동일한 qubit에서 이 두 오류가 동시에 일어나는 것을 나타냅니다.

여러 qubit에 대한 Pauli 연산

네 개의 Pauli 행렬은 모두 하나의 qubit에 대한 연산(오류일 수도 있습니다)을 나타내며, 이들을 텐서곱으로 결합하면 여러 qubit에 대한 연산을 얻습니다. 용어에 대해 한 가지 짚자면, n-qubit Pauli 연산이라고 할 때 이는 임의의 nn개 Pauli 행렬의 텐서곱을 의미하며, 아래는 n=9n=9인 예시들입니다.

IIIIIIIIIXXIIIIIIIXYZIIIXYZ\begin{gathered} \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \\[1mm] X \otimes X \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \\[1mm] X \otimes Y \otimes Z \otimes \mathbb{I} \otimes \mathbb{I} \otimes \mathbb{I} \otimes X \otimes Y \otimes Z \end{gathered}

종종 Pauli 연산이라는 용어는 Pauli 행렬의 텐서곱에 위상 인자를 곱한 것을 가리키거나, 때로는 ±1\pm 1±i\pm i 같은 특정 위상 인자만 허용하는 형태를 가리키기도 합니다. 수학적 관점에서 이러한 위상 인자를 허용할 만한 이유가 충분히 있지만, 가능한 한 단순하게 유지하기 위해 본 강의에서는 Pauli 연산이라는 용어를 1 이외의 위상 인자가 붙지 않는 Pauli 행렬의 텐서곱을 가리키는 의미로 사용하겠습니다.

nn-qubit Pauli 연산의 가중치(weight) 는 텐서곱에 들어간 비단위 Pauli 행렬의 개수입니다. 예를 들어, 위의 첫 번째 예시는 가중치 0,0, 두 번째는 가중치 2,2, 세 번째는 가중치 66입니다. 직관적으로 말하자면, nn-qubit Pauli 연산의 가중치는 그 연산이 비자명하게 작용하는 qubit의 개수입니다. 양자 오류 정정 코드는 보통 가중치가 너무 크지 않은 한 Pauli 연산으로 표현되는 오류를 검출하고 정정할 수 있도록 설계됩니다.

생성원으로서의 Pauli 연산

때때로 Pauli 연산들의 모음을 대수적 의미에서 연산 집합(더 구체적으로는 군(group))의 생성원(generator) 으로 보는 것이 유용합니다. 군 이론에 익숙하다면 이 관점을 알아볼 수 있을 것입니다. 군 이론에 익숙하지 않아도 괜찮습니다. 본 강의에 꼭 필요한 것은 아닙니다. 다만 양자 오류 정정을 더 깊이 탐구하고자 한다면 군 이론의 기초에 대한 친숙함이 강력히 권장됩니다.

P1,,PrP_1, \ldots, P_rnn-qubit Pauli 연산들이라고 합시다. P1,,PrP_1, \ldots, P_r에 의해 생성된 집합(set generated) 이라고 할 때, 이는 이러한 행렬들을 임의의 조합과 순서로, 각각을 원하는 만큼 여러 번 취하여 곱해서 얻을 수 있는 모든 행렬의 집합을 의미합니다. 이 집합을 나타내는 표기법은 P1,,Pr\langle P_1, \ldots, P_r \rangle입니다.

예를 들어, 세 개의 비단위 Pauli 행렬에 의해 생성되는 집합은 다음과 같습니다.

X,Y,Z={αP:α{1,i,1,i},  P{I,X,Y,Z}}\langle X, Y, Z \rangle = \bigl\{\alpha P\,:\,\alpha\in\{1,i,-1,-i\},\; P\in\{\mathbb{I},X,Y,Z\} \bigr\}

이는 앞서 나열한 곱셈 규칙을 통해 추론할 수 있습니다. 이 집합에는 16개의 서로 다른 행렬이 있으며, 흔히 Pauli 군(Pauli group) 이라고 부릅니다.

두 번째 예로, YY를 제거하면 Pauli 군의 절반을 얻습니다.

X,Z={I,X,Z,iY,I,X,Z,iY}\langle X, Z\rangle = \{ \mathbb{I}, X, Z, -iY, -\mathbb{I}, -X, -Z, iY \}

마지막 예시는 이번에는 n=2n=2인 경우입니다.

XX,ZZ={II,XX,ZZ,YY}\langle X \otimes X, Z \otimes Z\rangle = \{ \mathbb{I}\otimes\mathbb{I}, X\otimes X, Z\otimes Z, -Y\otimes Y \}

이 경우 XXX\otimes XZZZ\otimes Z가 교환하기 때문에 단지 네 개의 원소만 얻게 됩니다.

(XX)(ZZ)=(XZ)(XZ)=(ZX)(ZX)=(ZX)(ZX)=(ZZ)(XX).\begin{aligned} (X\otimes X)(Z\otimes Z) & = (XZ) \otimes (XZ)\\ & = (-ZX)\otimes (-ZX)\\ & = (ZX)\otimes (ZX)\\ & = (Z\otimes Z)(X\otimes X). \end{aligned}

Pauli observable

Pauli 행렬, 그리고 보다 일반적으로 nn-qubit Pauli 연산은 유니터리이므로 qubit에 대한 유니터리 연산을 기술합니다. 하지만 이들은 에르미트 행렬이기도 하며, 그 때문에 측정 을 기술할 수 있습니다. 이제부터 이를 설명하겠습니다.

에르미트 행렬 observable

먼저 임의의 에르미트 행렬 AA를 생각해 봅시다. AAobservable 이라고 부를 때, 우리는 AA에 유일하게 정의되는 어떤 사영 측정을 연관시키는 것입니다. 말로 설명하자면, 가능한 결과는 AA의 서로 다른 고윳값이고, 측정을 정의하는 사영은 AA의 해당 고유벡터들이 펼치는 공간으로의 사영들입니다. 따라서 그러한 측정의 결과는 실수가 되지만, 행렬은 고윳값이 유한 개뿐이므로 주어진 AA에 대해 가능한 서로 다른 측정 결과도 유한 개뿐입니다.

보다 자세히 말하면, 스펙트럼 정리에 의해 다음과 같이 쓸 수 있습니다.

A=k=1mλkΠkA = \sum_{k = 1}^m \lambda_k \Pi_k

여기서 λ1,,λm\lambda_1,\ldots,\lambda_m서로 다른 실수 고윳값이고, Π1,,Πm\Pi_1,\ldots,\Pi_m은 다음을 만족하는 사영입니다.

Π1++Πm=I.\Pi_1 + \cdots + \Pi_m = \mathbb{I}.

이러한 행렬 표현은 고윳값의 순서를 제외하면 유일합니다. 다르게 말하면, 고윳값을 λ1>λ2>>λm\lambda_1 > \lambda_2 > \cdots > \lambda_m과 같이 내림차순으로 정렬하도록 강제하면 AA를 위와 같은 형태로 쓸 수 있는 방법은 단 하나뿐입니다.

이 표현에 기반해, 우리가 observable AA에 연관시키는 측정은 사영 Π1,,Πm\Pi_1,\ldots,\Pi_m으로 기술되는 사영 측정이며, 고윳값 λ1,,λm\lambda_1,\ldots,\lambda_m은 이 사영들에 대응하는 측정 결과로 해석됩니다.

Pauli 연산으로부터의 측정

방금 설명한 종류의 측정이 Pauli 연산에 대해서는 어떻게 되는지, 세 개의 비단위 Pauli 행렬부터 살펴봅시다. 이 행렬들의 스펙트럼 분해는 다음과 같습니다.

X=++Y=+i+iiiZ=0011\begin{gathered} X = \vert {+} \rangle\langle {+} \vert - \vert {-} \rangle\langle {-} \vert\\ Y = \vert {+i} \rangle\langle {+i} \vert - \vert {-i} \rangle\langle {-i} \vert\\ Z = \vert {0} \rangle\langle {0} \vert - \vert {1} \rangle\langle {1} \vert \end{gathered}

따라서 observable로 본 X,X, Y,Y, ZZ가 정의하는 측정은 각각 다음 사영 집합으로 정의되는 사영 측정입니다.

{++,}{+i+i,ii}{00,11}\begin{gathered} \bigl\{\vert {+} \rangle\langle {+} \vert, \vert {-} \rangle\langle {-} \vert \bigr\} \\ \bigl\{\vert {+i} \rangle\langle {+i} \vert, \vert {-i} \rangle\langle {-i} \vert\bigr\} \\ \bigl\{\vert {0} \rangle\langle {0} \vert, \vert {1} \rangle\langle {1} \vert\bigr\} \end{gathered}

세 경우 모두, 가능한 두 가지 측정 결과는 고윳값 +1+11-1입니다. 이러한 측정은 흔히 XX-측정, YY-측정, ZZ-측정이라고 불립니다. 이 측정들은 "양자 정보의 일반 형식(General formulation of quantum information)"의 "일반 측정(General measurements)" 강의에서 양자 상태 단층촬영(quantum state tomography)의 맥락에서 등장한 바 있습니다.

물론 ZZ-측정은 본질적으로 표준 기저 측정이고, XX 측정은 qubit의 플러스/마이너스 기저에 대한 측정일 뿐이지만, 여기서 기술하는 방식에서는 고윳값 +1+11-1을 실제 측정 결과로 삼습니다.

n2n\geq 2개의 qubit에 대한 Pauli 연산에도 동일한 방식을 적용할 수 있지만, 이렇게 기술되는 측정에서도 가능한 결과는 여전히 단 두 가지, 즉 +1+11-1뿐임을 강조해야 합니다. 이는 Pauli 연산의 유일하게 가능한 고윳값들이기 때문입니다. 따라서 이 경우 대응하는 두 사영은 계수(rank)가 1보다 높게 됩니다. 보다 정확하게는, 모든 비단위 nn-qubit Pauli 연산에 대해 2n2^n 차원 상태 공간이 항상 차원이 같은 두 고유벡터 부분공간으로 나뉘므로, 연관된 측정을 정의하는 두 사영은 모두 계수 2n12^{n-1}을 갖습니다.

따라서 observable로 간주한 nn-qubit Pauli 연산이 기술하는 측정은, 그 연산의 고유벡터로 이루어진 정규직교 기저 에 대한 측정과 같은 것이 아니며, 또한 nn개의 qubit에 대해 해당 Pauli 행렬 각각을 observable로 독립적으로 측정하는 것과도 같은 것이 아닙니다. 그 두 대안은 모두 2n2^n개의 가능한 측정 결과를 필요로 하지만, 여기서는 가능한 결과가 +1+11-1 두 가지뿐입니다.

예를 들어, 2-qubit Pauli 연산 ZZZ\otimes Z를 observable로 간주해 봅시다. 스펙트럼 분해의 텐서곱을 실질적으로 취해 텐서곱에 대한 분해를 얻을 수 있습니다.

ZZ=(0011)(0011)=(0000+1111)(0101+1010)\begin{aligned} Z\otimes Z & = (\vert 0\rangle\langle 0\vert - \vert 1\rangle\langle 1\vert) \otimes (\vert 0\rangle\langle 0\vert - \vert 1\rangle\langle 1\vert)\\ & = \bigl( \vert 00\rangle\langle 00\vert + \vert 11\rangle\langle 11\vert \bigr) - \bigl( \vert 01\rangle\langle 01\vert + \vert 10\rangle\langle 10\vert \bigr) \end{aligned}

즉, 다음과 같이 ZZ=Π0Π1Z\otimes Z = \Pi_0 - \Pi_1이며

Π0=0000+1111andΠ1=0101+1010,\Pi_0 = \vert 00\rangle\langle 00\vert + \vert 11\rangle\langle 11\vert \quad\text{and}\quad \Pi_1 = \vert 01\rangle\langle 01\vert + \vert 10\rangle\langle 10\vert,

이 두 사영이 해당 측정을 정의합니다. 예컨대, 이 측정을 사용해 ϕ+\vert\phi^+\rangle Bell 상태를 비파괴적으로 측정한다면, 결과 +1+1을 확실히 얻게 되며, 측정의 결과로 상태는 변하지 않습니다. 특히 상태가 00\vert 00\rangle이나 11\vert 11\rangle로 붕괴하지는 않습니다.

위상 추정을 통한 비파괴 구현

모든 nn-qubit Pauli 연산에 대해, 우리는 위상 추정을 사용하여 해당 observable과 연관된 측정을 비파괴적으로 수행할 수 있습니다.

아래는 임의의 Pauli 행렬 PP에 대해 작동하는 위상 추정 기반 Circuit이며, 측정은 맨 위 qubit에서 수행됩니다. Circuit에서 표준 기저 측정의 결과 0011은, 제어 qubit이 하나인 위상 추정에서 흔히 그러하듯 고윳값 +1+11-1에 대응합니다. (이 도식에서는 제어 qubit이 아래쪽에 있는 반면, "양자 알고리즘의 기초(Fundamentals of quantum algorithms)"의 "위상 추정과 인수분해(Phase estimation and factoring)" 강의에서는 제어 qubit이 위쪽에 그려졌음을 유의하세요.)

Circuit for measuring a Pauli observable using phase estimation

여러 qubit에 대한 Pauli 연산에도 비슷한 방법이 작동합니다. 예를 들어, 다음 Circuit 도식은 임의의 P0,P1,P2{X,Y,Z}P_0,P_1,P_2 \in \{X,Y,Z\}에 대한 33-qubit Pauli observable P2P1P0P_2\otimes P_1\otimes P_0의 비파괴 측정을 나타냅니다.

Circuit for measuring a 3-qubit Pauli observable using phase estimation

이 방식은 임의의 nn에 대한 nn-qubit Pauli observable로 자연스럽게 일반화됩니다. 물론, 이러한 측정을 구현할 때 우리는 Pauli observable의 비단위 텐서 인자에 대해서만 제어 유니터리 Gate를 포함하면 됩니다. 제어-항등 Gate는 단순히 항등 Gate이므로 생략할 수 있습니다. 이는 가중치가 더 낮은 Pauli observable이 이 방식으로 구현하는 데 더 작은 Circuit을 필요로 함을 의미합니다.

nn에 관계없이, 이러한 위상 추정 Circuit은 단 하나의 제어 qubit만을 가진다는 점에 주목하세요. 이는 이 측정들의 가능한 결과가 단지 두 가지뿐이라는 사실과 일관됩니다. 더 많은 제어 qubit을 사용해도 추가 정보는 드러나지 않을 것입니다. 이 측정들은 이미 단일 제어 qubit으로 완전하기 때문입니다. (이를 확인하는 한 가지 방법은 위상 추정의 일반 절차에서 직접 도출됩니다. 가정 U2=IU^2 = \mathbb{I} 때문에 첫 번째 이후의 추가 제어 qubit은 무의미해집니다.)

여기 구체적인 예로, ZZZ\otimes Z 측정의 비파괴 구현이 있으며, 이는 곧 살펴볼 stabilizer 코드로서의 3비트 반복 코드 기술과 관련됩니다.

Circuit for measuring a ZZ observable using phase estimation

이 경우, 그리고 더 일반적으로 두 개 이상의 ZZ observable의 텐서곱의 경우, Circuit을 단순화할 수 있습니다.

Simplified circuit for measuring a ZZ observable

따라서 이 측정은 두 qubit의 표준 기저 상태들의 패리티(또는 XOR)를 비파괴적으로 측정하는 것과 동등합니다.