주 콘텐츠로 건너뛰기

반복 코드 다시 보기

다음으로, 이번에는 Pauli 연산의 관점에서 3비트 반복 코드를 다시 살펴보겠습니다. 이는 stabilizer 코드의 첫 번째 예시가 됩니다.

반복 코드의 Pauli 관측값

3비트 반복 코드를 Qubit에 적용할 때, 주어진 Qubit 상태 벡터 α0+β1\alpha\vert 0\rangle + \beta\vert 1\rangle 은 다음과 같이 인코딩된다는 점을 상기합니다.

ψ=α000+β111.\vert\psi\rangle = \alpha\vert 000\rangle + \beta\vert 111\rangle.

이러한 형태의 모든 상태 ψ\vert\psi\rangle 는 Qubit 상태의 유효한 3-Qubit 인코딩입니다. 그러나 확신이 없는 어떤 상태가 있다면, 다음 두 등식을 확인함으로써 유효한 인코딩을 가지고 있는지 검증할 수 있습니다.

(ZZI)ψ=ψ(IZZ)ψ=ψ\begin{aligned} (Z \otimes Z \otimes \mathbb{I}) \vert\psi\rangle & = \vert\psi\rangle\\[1mm] (\mathbb{I} \otimes Z \otimes Z) \vert\psi\rangle & = \vert\psi\rangle \end{aligned}

첫 번째 등식은 ψ\vert\psi\rangle 의 가장 왼쪽 두 Qubit에 ZZ 연산을 적용해도 아무런 영향이 없다는 것을 의미하며, 즉 ψ\vert\psi\rangle 이 고윳값 11 을 갖는 ZZIZ\otimes Z\otimes \mathbb{I} 의 고유벡터라는 뜻입니다. 두 번째 등식도 유사하지만, ZZ 연산이 가장 오른쪽 두 Qubit에 적용된다는 점이 다릅니다. ψ\vert\psi\rangle 을 표준 기저 상태들의 선형 결합으로 생각해 보면, 첫 번째 등식은 가장 왼쪽 두 비트가 짝수 패리티를 갖는(또는 동등하게 서로 같은) 표준 기저 상태에 대해서만 0이 아닌 계수를 가질 수 있음을 의미하고, 두 번째 등식은 가장 오른쪽 두 비트가 짝수 패리티를 갖는 표준 기저 상태에 대해서만 0이 아닌 계수를 가질 수 있음을 의미합니다.

마찬가지로, 두 Pauli 연산 ZZIZ\otimes Z\otimes \mathbb{I}IZZ\mathbb{I}\otimes Z\otimes Z 을 관측값으로 보고 이전 절 끝에서 제시된 Circuit을 사용하여 둘 다 측정한다면, ψ\vert\psi\rangle 이 두 관측값 모두에 대해 고윳값 11 을 갖는 고유벡터이기 때문에 +1+1 고윳값에 대응하는 측정 결과를 반드시 얻게 됩니다. 그러나 두 관측값을 독립적으로 측정하기 위한 (결합된) Circuit의 단순화된 버전은 여기에 표시된 바와 같이 3비트 반복 코드의 패리티 검사 Circuit과 다름없습니다.

3비트 반복 코드의 패리티 검사 Circuit

따라서 위의 두 등식은 패리티 검사 Circuit이 0000 을 출력한다는 것을 함의하며, 이는 오류가 검출되지 않았음을 나타내는 신드롬입니다.

3-Qubit Pauli 연산 ZZIZ\otimes Z\otimes \mathbb{I}IZZ\mathbb{I}\otimes Z\otimes Z 은 이 코드에 대한 stabilizer 생성원이라 하며, 해당 코드의 stabilizer는 stabilizer 생성원들로 생성되는 집합입니다.

ZZI,IZZ={III,ZZI,ZIZ,IZZ}\langle Z\otimes Z\otimes \mathbb{I}, \mathbb{I}\otimes Z\otimes Z\rangle = \{ \mathbb{I}\otimes\mathbb{I}\otimes\mathbb{I}, Z\otimes Z\otimes\mathbb{I}, Z\otimes\mathbb{I}\otimes Z, \mathbb{I}\otimes Z\otimes Z \}

stabilizer는 이 코드에 관련된 근본적으로 중요한 수학적 대상이며, 그것이 담당하는 역할은 이번 레슨이 진행되면서 논의될 것입니다. 지금으로서는 생성원과 그에 대응하는 패리티 검사에 대해 다른 선택을 할 수도 있었음을 주목합시다. 구체적으로는 우리가 선택한 두 생성원 중 어느 하나 대신 ZIZZ\otimes\mathbb{I}\otimes Z 를 취하는 것인데, 그 결과로 stabilizer와 코드 자체는 변하지 않습니다.

오류 검출

다음으로, 3비트 반복 코드의 비트 플립 검출을 고려해 보겠습니다. 관련된 Pauli 연산들, 즉 stabilizer 생성원과 오류 자체 사이의 상호 작용과 관계에 초점을 맞춥니다.

3비트 반복 코드를 사용하여 Qubit을 인코딩했고, 가장 왼쪽 Qubit에 비트 플립 오류가 발생했다고 가정합시다. 이로 인해 상태 ψ\vert\psi\rangleXX 연산(또는 XX 오류)의 작용에 따라 변환됩니다.

ψ(XII)ψ\vert\psi\rangle \mapsto (X \otimes \mathbb{I} \otimes \mathbb{I}) \vert\psi\rangle

이 오류는 이전 레슨에서 논의된 바와 같이 3비트 반복 코드의 패리티 검사를 수행함으로써 검출될 수 있으며, 이는 stabilizer 생성원 ZZIZ\otimes Z\otimes \mathbb{I}IZZ\mathbb{I}\otimes Z\otimes Z 을 관측값으로 하여 비파괴적으로 측정하는 것과 동등합니다.

첫 번째 stabilizer 생성원부터 시작해 봅시다. 상태 ψ\vert\psi\rangle 은 가장 왼쪽 Qubit에서 XX 오류의 영향을 받았고, 우리의 목표는 이 stabilizer 생성원을 관측값으로 측정할 때 이 오류가 어떻게 영향을 미치는지 이해하는 것입니다. XXZZ 는 반교환이지만 모든 행렬은 단위행렬과 교환하므로, ZZIZ\otimes Z\otimes \mathbb{I}XIIX\otimes\mathbb{I}\otimes\mathbb{I} 과 반교환합니다. 한편, ψ\vert\psi\rangle 은 Qubit의 유효한 인코딩이므로 ZZIZ\otimes Z\otimes \mathbb{I}ψ\vert\psi\rangle 에 대해 자명하게 작용합니다.

(ZZI)(XII)ψ=(XII)(ZZI)ψ=(XII)ψ\begin{aligned} (Z \otimes Z \otimes \mathbb{I})(X \otimes \mathbb{I} \otimes \mathbb{I}) \vert\psi\rangle & = -(X \otimes \mathbb{I} \otimes \mathbb{I})(Z \otimes Z \otimes \mathbb{I})\vert\psi\rangle \\ & = -(X \otimes \mathbb{I} \otimes \mathbb{I}) \vert\psi\rangle \end{aligned}

따라서 (XII)ψ(X \otimes \mathbb{I} \otimes \mathbb{I}) \vert\psi\rangle 은 고윳값 1-1 을 갖는 ZZIZ \otimes Z \otimes \mathbb{I} 의 고유벡터입니다. 관측값 ZZIZ \otimes Z \otimes \mathbb{I} 에 연관된 측정을 상태 (XII)ψ(X \otimes \mathbb{I} \otimes \mathbb{I}) \vert\psi\rangle 에 대해 수행하면, 결과는 반드시 고윳값 1-1 에 대응하는 것이 됩니다.

두 번째 stabilizer 생성원에도 비슷한 논리를 적용할 수 있지만, 이번에는 오류가 stabilizer 생성원과 반교환하는 것이 아니라 교환하므로, 이 측정의 결과는 고윳값 +1+1 에 대응하는 것이 됩니다.

(IZZ)(XII)ψ=(XII)(IZZ)ψ=(XII)ψ\begin{aligned} (\mathbb{I} \otimes Z \otimes Z)(X \otimes \mathbb{I} \otimes \mathbb{I}) \vert\psi\rangle & = (X \otimes \mathbb{I} \otimes \mathbb{I})(\mathbb{I} \otimes Z \otimes Z)\vert\psi\rangle\\ & = (X \otimes \mathbb{I} \otimes \mathbb{I}) \vert\psi\rangle \end{aligned}

이 등식들을 고려했을 때 알 수 있는 사실은, 원래의 상태 ψ\vert\psi\rangle 에 상관없이 손상된 상태는 두 stabilizer 생성원 모두의 고유벡터이며, 고윳값이 +1+1 인지 1-1 인지는 오류가 각 stabilizer 생성원과 교환하는지 반교환하는지에 의해 결정된다는 것입니다. Pauli 연산으로 표현되는 오류의 경우, 어느 두 Pauli 연산도 교환하거나 반교환하기 때문에 항상 둘 중 하나가 됩니다. 한편, stabilizer 생성원이 이 상태에 대해 자명하게 작용한다는 사실 외에는 실제 상태 ψ\vert\psi\rangle 은 중요한 역할을 하지 않습니다.

이러한 이유로, 우리는 일반적으로 다루고 있는 특정한 인코딩된 상태에 대해 신경 쓸 필요가 없습니다. 중요한 것은 오직 오류가 각 stabilizer 생성원과 교환하는지 반교환하는지 여부입니다. 특히, 이 코드에 대한 이 특정 오류와 관련하여 다음이 해당하는 등식입니다.

(ZZI)(XII)=(XII)(ZZI)(IZZ)(XII)=(XII)(IZZ)\begin{aligned} (Z \otimes Z \otimes \mathbb{I})(X \otimes \mathbb{I} \otimes \mathbb{I}) & = -(X \otimes \mathbb{I} \otimes \mathbb{I})(Z \otimes Z \otimes \mathbb{I})\\[1mm] (\mathbb{I} \otimes Z \otimes Z)(X \otimes \mathbb{I} \otimes \mathbb{I}) & = (X \otimes \mathbb{I} \otimes \mathbb{I})(\mathbb{I} \otimes Z \otimes Z) \end{aligned}

다음은 각 stabilizer 생성원에 해당하는 행과 각 오류에 해당하는 열을 가진 표입니다. 표의 항목은 오류와 stabilizer 생성원이 교환하는지 반교환하는지에 따라 +1+1 또는 1-1 중 하나입니다. 이 표에는 단일 비트 플립에 해당하는 오류와 오류가 전혀 없는 경우(단위행렬을 자기 자신과 세 번 텐서곱한 것으로 표현됨)에 해당하는 열만 포함되어 있습니다. 다른 오류에 대한 열을 더 추가할 수도 있지만, 지금은 이러한 오류에만 집중할 것입니다.

IIIXIIIXIIIXZZI+111+1IZZ+1+111\begin{array}{c|cccc} & \mathbb{I}\otimes\mathbb{I} \otimes\mathbb{I} & X \otimes \mathbb{I} \otimes \mathbb{I} & \mathbb{I}\otimes X\otimes\mathbb{I} & \mathbb{I} \otimes\mathbb{I} \otimes X \\ \hline Z\otimes Z\otimes\mathbb{I} & +1 & -1 & -1 & +1 \\ \mathbb{I}\otimes Z\otimes Z & +1 & +1 & -1 & -1 \end{array}

따라서 표의 각 오류에 대해 해당 열은 그 오류가 주어진 인코딩을 각 stabilizer 생성원의 +1+1 또는 1-1 고유벡터로 어떻게 변환하는지를 드러냅니다. 마찬가지로, 열들은 패리티 검사로부터 얻게 될 신드롬을 나타내며, 이는 stabilizer 생성원을 관측값으로 하는 비파괴적 측정과 동등합니다. 물론, 표의 항목은 0011 이 아닌 +1+11-1 입니다. 그리고 흔히 신드롬을 +1+11-1 항목으로 이루어진 열이 아니라 이진 문자열로 생각하지만, stabilizer 생성원의 고윳값과 직접 연결하기 위해 +1+11-1 항목으로 이루어진 이 벡터를 신드롬으로 생각해도 똑같이 잘 맞습니다. 일반적으로 신드롬은 발생한 오류에 대해 무언가를 알려주며, 표에 나열된 네 가지 가능한 오류 중 하나가 발생했다는 것을 알고 있다면, 신드롬은 그것이 어느 것이었는지를 나타냅니다.

신드롬

3비트 반복 코드의 인코딩은 3-Qubit 상태이므로, 8차원 복소 벡터 공간의 단위 벡터입니다. 네 가지 가능한 신드롬은 이 8차원 공간을 효과적으로 네 개의 2차원 부분 공간으로 분할하며, 각 부분 공간에 있는 양자 상태 벡터들은 항상 동일한 신드롬을 만들어냅니다. 다음 도식은 8차원 공간이 두 stabilizer 생성원에 의해 구체적으로 어떻게 나뉘는지를 보여줍니다.

3비트 반복 코드의 부분 공간 분할

각 stabilizer 생성원은 공간을 같은 차원의 두 부분 공간, 즉 해당 관측값의 +1+1 고유벡터들의 공간과 1-1 고유벡터들의 공간으로 분할합니다. 예를 들어, ZZIZ\otimes Z\otimes\mathbb{I}+1+1 고유벡터들은 가장 왼쪽 두 비트가 짝수 패리티를 갖는 표준 기저 상태의 선형 결합이고, 1-1 고유벡터들은 가장 왼쪽 두 비트가 홀수 패리티를 갖는 표준 기저 상태의 선형 결합입니다. 다른 stabilizer 생성원의 상황도 유사하지만, 이 경우에는 가장 왼쪽 두 비트가 아닌 가장 오른쪽 두 비트가 대상입니다.

네 가지 가능한 신드롬에 해당하는 네 개의 2차원 부분 공간은 이 코드가 매우 간단한 코드라는 사실 덕분에 이 경우에 쉽게 기술됩니다. 특히, 신드롬 (+1,+1)(+1,+1) 에 해당하는 부분 공간은 000\vert 000\rangle111\vert 111\rangle 로 생성되는 공간이며, 이는 유효한 인코딩의 공간(또는 코드 공간으로도 알려져 있음)이고, 일반적으로 각 공간은 해당 칸에 표시된 표준 기저로 생성됩니다.

신드롬은 또한 모든 3-Qubit Pauli 연산을, 해당 연산(오류로서)이 어떤 신드롬을 야기할지에 따라 네 개의 동일한 크기 집합으로 분할합니다. 예를 들어, 두 stabilizer 생성원 모두와 교환하는 모든 Pauli 연산은 신드롬 (+1,+1)(+1,+1) 을 초래하며, 64개의 가능한 3-Qubit Pauli 연산 중 정확히 16개가 이 범주에 속하고(IIZ,\mathbb{I}\otimes \mathbb{I}\otimes Z, ZZZ,Z\otimes Z\otimes Z, XXXX\otimes X\otimes X 를 포함합니다), 나머지 3개의 신드롬에 대해서도 마찬가지입니다.

이러한 두 가지 성질, 즉 신드롬이 인코딩이 존재하는 상태 공간과 해당 공간 위의 모든 Pauli 연산을 동일한 크기의 집합으로 분할한다는 것은 stabilizer 코드에 대해 일반적으로 성립하며, 이는 다음 절에서 정확히 정의할 것입니다.

지금은 주로 여담이지만, stabilizer 생성원 모두와 교환하는 Pauli 연산, 또는 동등하게 신드롬 (+1,+1)(+1,+1) 을 초래하는 Pauli 연산이면서 자기 자신은 stabilizer의 원소에 비례하지 않는 것들은 이 코드에 대해 인코딩된 Qubit(즉, 논리 Qubit)에 대한 단일-Qubit Pauli 연산처럼 작동한다는 점을 언급할 가치가 있습니다. 예를 들어, XXXX\otimes X \otimes X 는 두 stabilizer 생성원 모두와 교환하지만 그 자체는 stabilizer의 어떤 원소에도 비례하지 않으며, 실제로 이 연산이 인코딩에 미치는 영향은 인코딩되고 있는 논리 Qubit에 대한 XX Gate와 동등합니다.

(XXX)(α000+β111)=α111+β000(X\otimes X \otimes X)(\alpha \vert 000\rangle + \beta \vert 111\rangle) = \alpha \vert 111\rangle + \beta \vert 000\rangle

다시 말하지만, 이것은 모든 stabilizer 코드로 일반화되는 현상입니다.