반복 코드 다시 보기
다음으로, 이번에는 Pauli 연산의 관점에서 3비트 반복 코드를 다시 살펴보겠습니다. 이는 stabilizer 코드의 첫 번째 예시가 됩니다.
반복 코드의 Pauli 관측값
3비트 반복 코드를 Qubit에 적용할 때, 주어진 Qubit 상태 벡터 은 다음과 같이 인코딩된다는 점을 상기합니다.
이러한 형태의 모든 상태 는 Qubit 상태의 유효한 3-Qubit 인코딩입니다. 그러나 확신이 없는 어떤 상태가 있다면, 다음 두 등식을 확인함으로써 유효한 인코딩을 가지고 있는지 검증할 수 있습니다.
첫 번째 등식은 의 가장 왼쪽 두 Qubit에 연산을 적용해도 아무런 영향이 없다는 것을 의미하며, 즉 이 고윳값 을 갖는 의 고유벡터라는 뜻입니다. 두 번째 등식도 유사하지만, 연산이 가장 오른쪽 두 Qubit에 적용된다는 점이 다릅니다. 을 표준 기저 상태들의 선형 결합으로 생각해 보면, 첫 번째 등식은 가장 왼쪽 두 비트가 짝수 패리티를 갖는(또는 동등하게 서로 같은) 표준 기저 상태에 대해서만 0이 아닌 계수를 가질 수 있음을 의미하고, 두 번째 등식은 가장 오른쪽 두 비트가 짝수 패리티를 갖는 표 준 기저 상태에 대해서만 0이 아닌 계수를 가질 수 있음을 의미합니다.
마찬가지로, 두 Pauli 연산 과 을 관측값으로 보고 이전 절 끝에서 제시된 Circuit을 사용하여 둘 다 측정한다면, 이 두 관측값 모두에 대해 고윳값 을 갖는 고유벡터이기 때문에 고윳값에 대응하는 측정 결과를 반드시 얻게 됩니다. 그러나 두 관측값을 독립적으로 측정하기 위한 (결합된) Circuit의 단순화된 버전은 여기에 표시된 바와 같이 3비트 반복 코드의 패리티 검사 Circuit과 다름없습니다.
따라서 위의 두 등식은 패리티 검사 Circuit이 을 출력한다는 것을 함의하며, 이는 오류가 검출되지 않았음을 나타내는 신드롬입니다.
3-Qubit Pauli 연산 과 은 이 코드에 대한 stabilizer 생성원이라 하며, 해당 코드의 stabilizer는 stabilizer 생성원들로 생성되는 집합입니다.
stabilizer는 이 코드에 관련된 근본적으로 중요한 수학적 대상이며, 그것이 담당하는 역할은 이번 레슨이 진행되면서 논의될 것입니다. 지금으로서는 생성원과 그에 대응하는 패리티 검사에 대해 다른 선택을 할 수도 있었음을 주목합시다. 구체적으로는 우리가 선택한 두 생성원 중 어느 하나 대신 를 취하는 것인데, 그 결과로 stabilizer와 코드 자체는 변하지 않습니다.
오류 검출
다음으로, 3비트 반복 코드의 비트 플립 검출을 고려해 보겠습니다. 관련된 Pauli 연산들, 즉 stabilizer 생성원과 오류 자체 사이의 상호 작용과 관계에 초점을 맞춥니다.
3비트 반복 코드를 사용하여 Qubit을 인코딩했고, 가장 왼쪽 Qubit에 비트 플립 오류가 발생했다고 가정합시다. 이로 인해 상태 은 연산(또는 오류)의 작용에 따라 변환됩니다.
이 오류는 이전 레슨에서 논의된 바와 같이 3비트 반복 코드의 패리티 검사를 수행함으로써 검출될 수 있으며, 이는 stabilizer 생성원 과 을 관측값으로 하여 비파괴적으로 측정하는 것과 동등합니다.
첫 번째 stabilizer 생성원부터 시작해 봅시다. 상태 은 가장 왼쪽 Qubit에서 오류의 영향을 받았고, 우리의 목표는 이 stabilizer 생성원을 관측값으로 측정할 때 이 오류가 어떻게 영향을 미치는지 이해하는 것입니다. 와 는 반교환이지만 모든 행렬은 단위행렬과 교환하므로, 은 과 반교환합니다. 한편, 은 Qubit의 유효한 인코딩이므로 은 에 대해 자명하게 작용합니다.
따라서 은 고윳값 을 갖는 의 고유벡터입니다. 관측값 에 연관된 측정을 상태 에 대해 수행하면, 결과는 반드시 고윳값 에 대응하는 것이 됩니다.
두 번째 stabilizer 생성원에도 비슷한 논리를 적용할 수 있지만, 이번에는 오류가 stabilizer 생성원과 반교환하는 것이 아니라 교환하므로, 이 측정의 결과는 고윳값 에 대응하는 것이 됩니다.
이 등식들을 고려했을 때 알 수 있는 사실은, 원래의 상태 에 상관없이 손상된 상태는 두 stabilizer 생성원 모두의 고유벡터이며, 고윳값이 인지 인지는 오류가 각 stabilizer 생성원과 교환하는지 반교환하는지에 의해 결정된다는 것입니다. Pauli 연산으로 표현되는 오류의 경우, 어느 두 Pauli 연산도 교환하거나 반교환하기 때문에 항상 둘 중 하나가 됩니다. 한편, stabilizer 생성원이 이 상태에 대해 자명하게 작용한다는 사실 외에는 실제 상태 은 중요한 역할을 하지 않습니다.
이러한 이유로, 우리는 일반적으로 다루고 있는 특정한 인코딩된 상태에 대해 신경 쓸 필요가 없습니다. 중요한 것은 오직 오류가 각 stabilizer 생성원과 교환하는지 반교환하는지 여부입니다. 특히, 이 코드에 대한 이 특정 오류와 관련하여 다음이 해당하는 등식입니다.
다음은 각 stabilizer 생성원에 해당하는 행과 각 오류에 해당하는 열을 가진 표입니다. 표의 항목은 오류와 stabilizer 생성원이 교환하는지 반교환하는지에 따라 또는 중 하나입니다. 이 표에는 단일 비트 플립에 해당하는 오류와 오류가 전혀 없는 경우(단위행렬을 자기 자신과 세 번 텐서곱한 것으로 표현됨)에 해당하는 열만 포함되어 있습니다. 다른 오류에 대한 열을 더 추가할 수도 있지만, 지금은 이러한 오류에만 집중할 것입니다.
따라서 표의 각 오류에 대해 해당 열은 그 오류가 주어진 인코딩을 각 stabilizer 생성원의 또는 고유벡터로 어떻게 변환하는지를 드러냅니다. 마찬가지로, 열들은 패리티 검사로부터 얻게 될 신드롬을 나타내며, 이는 stabilizer 생성원을 관측값으로 하는 비파괴적 측정과 동등합니다. 물론, 표의 항목은 과 이 아닌 과 입니다. 그리고 흔히 신드롬을 과 항목으로 이루어진 열이 아니라 이진 문자열로 생각하지만, stabilizer 생성원의 고윳값과 직접 연결하기 위해 과 항목으로 이루어진 이 벡터를 신드롬으로 생각해도 똑같이 잘 맞습니다. 일반적으로 신드롬은 발생한 오류에 대해 무언가를 알려주며, 표에 나열된 네 가지 가능한 오류 중 하나가 발생했다는 것을 알고 있다면, 신드롬은 그것이 어느 것이었는지를 나타냅니다.
신드롬
3비트 반복 코드의 인코딩은 3-Qubit 상태이므로, 8차원 복소 벡터 공간의 단위 벡터입니다. 네 가지 가능한 신드롬은 이 8차원 공간을 효과적으로 네 개의 2차원 부분 공간으로 분할하며, 각 부분 공간에 있는 양자 상태 벡터들은 항상 동일한 신드롬을 만들어냅니다. 다음 도식은 8차원 공간이 두 stabilizer 생성원에 의해 구체적으로 어떻게 나뉘는지를 보여줍니다.
각 stabilizer 생성원은 공간을 같은 차원의 두 부분 공간, 즉 해당 관측값의 고유벡터들의 공간과 고유벡터들의 공간으로 분할합니다. 예를 들어, 의 고유벡터들은 가장 왼쪽 두 비트가 짝수 패리티를 갖는 표준 기저 상태의 선형 결합이고, 고유벡터들은 가장 왼쪽 두 비트가 홀수 패리티를 갖는 표준 기저 상태의 선형 결합입니다. 다른 stabilizer 생성원의 상황도 유사하지만, 이 경우에는 가장 왼쪽 두 비트가 아닌 가장 오른쪽 두 비트가 대상입니다.
네 가지 가능한 신드롬에 해당하는 네 개의 2차원 부분 공간은 이 코드가 매우 간단한 코드라는 사실 덕분에 이 경우에 쉽게 기술됩니다. 특히, 신드롬 에 해당하는 부분 공간은 과 로 생성되는 공간이며, 이는 유효한 인코딩의 공간(또는 코드 공간으로도 알려져 있음)이고, 일반적으로 각 공간은 해당 칸에 표시된 표준 기저로 생성됩니다.
신드롬은 또한 모든 3-Qubit Pauli 연산을, 해당 연산(오류로서)이 어떤 신드롬을 야기할지에 따라 네 개의 동일한 크기 집합으로 분할합니다. 예를 들어, 두 stabilizer 생성원 모두와 교환하는 모든 Pauli 연산은 신드롬 을 초래하며, 64개의 가능한 3-Qubit Pauli 연산 중 정확히 16개가 이 범주에 속하고( 를 포함합니다), 나머지 3개의 신드롬에 대해서도 마찬가지입니다.
이러한 두 가지 성질, 즉 신드롬이 인코딩이 존재하는 상태 공간과 해당 공간 위의 모든 Pauli 연산을 동일한 크기의 집합으로 분할한다는 것은 stabilizer 코드에 대해 일반적으로 성립하며, 이는 다음 절에서 정확히 정의할 것입니다.
지금은 주로 여담이지만, 두 stabilizer 생성원 모두와 교환하는 Pauli 연산, 또는 동등하게 신드롬 을 초래하는 Pauli 연산이면서 자기 자신은 stabilizer의 원소에 비례하지 않는 것들은 이 코드에 대해 인코딩된 Qubit(즉, 논리 Qubit)에 대한 단일-Qubit Pauli 연산처럼 작동한다는 점을 언급할 가치가 있습니다. 예를 들어, 는 두 stabilizer 생성원 모두와 교환하지만 그 자체는 stabilizer의 어떤 원소에도 비례하지 않으며, 실제로 이 연산이 인코딩에 미치는 영향은 인코딩되고 있는 논리 Qubit에 대한 Gate와 동등합니다.
다시 말하지만, 이것은 모든 stabilizer 코드로 일반화되는 현상입니다.