Steane 코드에서 스태빌라이저 생성기와 패리티 검사 매트릭스 간 연결


15

저는 자율 학습을 위해 Mike와 Ike (Nielsen과 Chuang)를 통해 일하고 있으며, 10 장에서 스태빌라이저 코드에 대해 읽고 있습니다. 저는 고전적인 정보 이론에 대한 배경 지식이있는 전기 기술자입니다. 대수 코딩 이론의 전문가는 결코 아닙니다. 내 추상 대수는 본질적으로 부록에있는 것보다 조금 더 있습니다.

양자 코드를 구성하기 위해 두 개의 선형 클래식 코드가 사용되는 Calderbank-Shor-Steane 구조를 완전히 이해하고 있다고 생각합니다. Steane 코드는 (qbit 플립 코드)을 [7,4,3] 해밍 코드로 사용하고 (위상 플립 코드)를 동일한 코드로 사용하여 구성됩니다. 에서 [7,4,3] 부호는 상기 패리티 검사 행렬은 : .C1C2

[000111101100111010101]

Steane 코드의 스태빌라이저 생성기는 다음과 같이 작성할 수 있습니다.

NameOperatorg1IIIXXXXg2IXXIIXXg3XIXIXIXg4IIIZZZZg5IZZIIZZg6ZIZIZIZ
여기서 나의 정신을 위해 등IIIXXXX=IIIXXXX

이 책에서 와 는 원래 패리티 검사 코드 의 과 동일한 위치에 있다고 지적했다 . 연습 10.32는 Steane 코드의 코드 워드가이 세트에 의해 안정화되는지 확인하도록 요청합니다. 분명히 이것을 연결하고 손으로 확인할 수 있습니다. 그러나, 패리티 검사 매트릭스와 생성기 사이의 유사성을 관찰하면 운동이 "자명하다"고 명시되어 있습니다.XZ1

나는이 사실이 다른 곳 ( http://www-bcf.usc.edu/~tbrun/Course/lecture21.pdf ) 에서 언급 된 것을 보았지만 어떤 종류의 (직관적으로 명백한) 직관이 빠져 있습니다. 코드를 작성할 때 기본 요소를 인덱싱하는 데 사용되는 방법 이외의 다른 고전 코드 워드에서 양자 코드로의 추가 연결이 누락 된 것 같습니다 (10.4.2 절).

답변:


6

여기에 몇 가지 규칙과 직관이 있습니다.

  • 부호 비트 대 {0,1} 비트

    첫 번째 단계는 때때로 '큰 표기법 시프트'라고하는 것을 부호로 인코딩 된 비트 (고전 비트)를 생각하는 것입니다. 비트 플랩과 사인 플랩은 기본적으로 같은 방식으로 작동하기 때문에 비트 문자열의 패리티가 가장 관심이있는 경우에이 방법을 사용하면 생산성이 높아집니다. 및 매핑 하여 비트 시퀀스 를 부호 시퀀스 .0+111(0,0,1,0,1)(+1,+1,1,+1,1)

    비트 시퀀스의 패리티는 부호 시퀀스의 곱에 해당합니다. 예를 들어 패리티 계산 으로 을 인식하는 것처럼 부호 규칙을 사용하여 동일한 패리티 계산을 나타내는운동. 및 의 '패리티'를 계산합니다 . 이것들이 동일합니까?00101=0(+1)(+1)(1)(+1)(1)=+1( 1 , 1 , + 1 , 1 ) ( + 1 , 1 , + 1 ,

    (1,1,+1,1)(+1,1,+1,+1)

  • 부호 비트를 사용한 패리티 검사

    {0,1}-비트 규칙에서, 패리티 검사는 두 개의 부울 벡터의 내적 (dot-product)으로 잘 표현되므로 복잡한 패리티 계산을 선형 변환으로 실현할 수 있습니다. 부호 비트로 전환함으로써 우리는 합계 대신 제품을 취하기 때문에 표기법 수준에서 선형 대수와의 연결을 필연적으로 잃어 버렸습니다 . 계산 수준에서 이것은 표기법의 변화 일 뿐이므로 너무 걱정할 필요가 없습니다. 그러나 순수한 수학적 수준에서는 이제 패리티 검사 행렬로 수행하는 작업에 대해 다시 생각해야합니다.

    부호 비트를 사용할 때 부호 ± 1 대신 '패리티 검사 행렬'을 0과 1의 행렬로 나타낼 수 있습니다. 왜? 한 가지 해답은 비트패리티 검사를 설명하는 행 벡터 는 비트 자체와 다른 유형입니다. 데이터 자체가 아니라 데이터에 대한 함수를 설명합니다. 0과 1의 배열은 이제 다른 해석이 필요합니다 . 합계 의 선형 계수 대신 제품의 지수에 해당합니다. 부호 비트 이 있고 행 벡터 제공되는 패리티 검사를 계산하려는 경우 이면 패리티 검사는 다음과 같이 계산됩니다. (에스1,에스2,,에스){1,+1}(1,2,,){0,1}

    (s1)b1(s2)b2[](sn)bn{1,+1},
    여기서 모든 대해 입니다 . {0,1} 비트와 마찬가지로 행 은 가 패리티 계산에 중요하지 않은 비트를 결정하는 '마스크'를 나타내는 것으로 수 있습니다.s0=1s(b1,b2,,bn)sj

    운동. 패리티 체크의 결과가 계산 온 .(0,1,0,1,0,1,0)(+1,1,1,1,1,+1,1)

  • 패리티로서의 고유 값.

    그 이유 이상의 지점에, 그런데 우리는 그 정보에 액세스 설명 할 수 있음을 - 우리는 양자 정보 이론의 징후에 인코딩 비트를 원할 것 때문에 정보가 양자 상태에 저장하는 방식이다. 구체적으로, 우리는 표준 기반에 대해 많은 이야기를 할 수 있지만, 그것이 의미있는 이유 는 관측 가능한 값을 측정하여 해당 정보를 추출 할 수 있기 때문 입니다.

    이 관찰 가능한 프로젝터 일 수 있습니다. 여기서 에는 고유 값 0이 있고 에는 고유 값 1이 있습니다. 파울리 행렬. 이 경우, 우리는의 eigenbasis 같은 표준 기준에 대해 이야기 할 경우에 우리가, 연산자 +1로 Z의 -eigenvector을 하고 -1 등 의 -eigenvector Z .|11||0|1|0| 1 |1

    따라서 우리는 큐 비트에 저장된 정보를 나타내는 부호 비트 (이 경우 고유 값)가 나타납니다. 그리고 더 나은 방법으로 표준 기반이 아닌 방식으로이 작업을 수행 할 수 있습니다. 상태가 의 고유 상태인지 여부 와 해당 고유 값이 무엇 인지를 고려하여 '공액'기반으로 저장된 정보에 대해 이야기 할 수 있습니다. . 그러나 이것보다, 우리는 다중 비트 파울리 연산자 의 고유 값에 대해 여러 비트의 인코딩 패리티 로 말할 수 있습니다 . 텐서 곱 는 부호 비트곱에 액세스하는 방법을 나타냅니다엑스Z ZZZ즉, 표준 기준으로 두 큐 비트의 패리티입니다. 이러한 의미에서, 다중 큐빗 파울리 연산자  에 대한 상태 의 고유 값 ( , 고유 값이 정의 된 경우 ( , 상태 파울리 연산자의 고유 값 인 경우))은 사실상 패리티 계산의 결과입니다. 각 큐빗에 대해 어떤 기준에 따라 선택되는 정보의 저장.

    운동. 상태의 패리티 란 에 대해 ? 이 상태는 대해 잘 정의 된 패리티를 가지고 있습니까? 운동. 국가의 패리티 무엇입니까 에 대한 ? 이 상태는 대해 잘 정의 된 패리티를 가지고 있습니까? 운동. 및 와 관련하여 의 패리티는 무엇입니까 ?|11ZZXX| + - X X Z Z | Φ += 1

    |+XXZZ

    |Φ+=12(|00+|11)ZZXX

  • 패리티 검사와 같은 안정기 생성기.

    우리는 이제 패리티 검사 매트릭스와 유사한 스태빌라이저 생성기의 역할을 인식 할 수있는 위치에 있습니다. 생성기가있는 7 큐 비트 CSS 코드의 경우를 고려하십시오.

    GeneratorTensor factors1234567g1XXXXg2XXXXg3XXXXg4ZZZZg5ZZZZg6ZZZZ
    때로는 {0,1} 행렬에서 0을 생략 할 수 있기 때문에 위의 항등 텐서 요소를 생략했습니다. 같은 이유로 : 주어진 스태빌라이저 연산자에서 항등 행렬은 포함되지 않은 텐서 인자에 해당합니다. 우리가 패리티를 계산하는 큐 비트의 '마스크'에서. 각 생성자에 대해 우리는 패리티 결과에 기여하기 때문에 어떻게 든 작용하는 텐서 요소에만 관심이 있습니다.

    이제 7-qubit CSS 코드의 '코드 워드'(인코딩 된 표준 기반 상태)는 여기서 는 코드 비트 열 , 및 의해 생성됩니다 . 특히이 비트 열 은 생성기에서 연산자 의 위치에 해당합니다.

    |0L|0000000+|0001111+|0110011+|0111100+|1010101+|1011010+|1100110+|1101001=yC|y,|1L|1111111+|1110000+|1001100+|1000011+|0101010+|0100101+|0011001+|0010110=yC|y1111111,
    C000111101100111010101Xg1g2g3C| 0L| 1L , 및 입니다. 그것들은 코드의 안정기 (그리고 위에서 제안한 바와 같이 패리티 검사를 나타냄)이지만, 우리는 표준 기반을 훼손하는 연산자로서의 행동을 고려할 수도 있습니다. 특히, 코드 의 요소를 순열 및 관련된 용어 가 섞입니다.g2g3C|0L|1L

    위의 생성기 , 및 은 모두 표준 기반 상태로 인코딩 된 정보의 패리티를 설명합니다. 인코딩 된 기준 상태는 선형 코드에서 가져온 코드 워드의 중첩이며 해당 코드 워드는 모두 해당 코드의 패리티 검사 매트릭스와 관련하여 패리티가 있습니다. 마찬가지로 통해 바로 그 동일한 패리티 검사 부호화를 설명 기저 상태의 고유치가 있음, 팔로우 (짝수 패리티에 대응).g4g5g6g4g6+1

    이것은 방법입니다

    '패리티 체크 매트릭스와 생성기 사이의 유사성에 대한 관찰로 운동은 "자명하다"

    -스태빌라이저는 두 개의 '코드 워드'에서 표준 기본 용어를 명백히 퍼뜨 리거나 코드 워드가 구성하는 패리티 속성을 테스트하고 있기 때문입니다.

  • 코드 워드를 넘어서 이동

    당신이로 알려진 강력한 기술의 첫 단계를 나타냅니다 제공하는 테이블에 발전기의 목록 안정 형식주의 상태는 사용하여 설명하는, 더 이상 이하 그 중 보류로 알려져있다 패리티 속성을보다가.

    표준 기본 상태, 켤레 기본 상태 및 완벽하게 얽힌 상태와 같은 일부 상태 및 은 패리티 속성으로 완전히 특성화 할 수 있습니다. (상태 는 와 의 + 1- 고유 벡터 인 유일한 것입니다 ; 상태 는 유일한 것입니다 이 두 연산자의 −1 고유 벡터) 안정화 상태라고하며 , 패리티 속성 자체를 추적하여 단일 변환 및 측정에 의해 영향을받는 방식을 고려할 수 있습니다.|Φ+|00+|11|Ψ|01|10|Φ+XXZZ|ΨX X Z X ( H I ) (변환. 예를 들어, qubit 1에 Hadamard를 적용하기 전에 의해 안정화 된 상태는 때문에 나중에 의해 안정화됩니다 . 상태를 변환하는 대신 해당 상태에 대해 알고있는 패리티 속성을 변환 합니다 .XXZX(HI)(XX)(HI)=ZX

    이를 사용 하여 이러한 패리티 특성이 특징 인 서브 스페이스가 어떻게 변환 되는지 특성화 할 수 있습니다 . 예를 들어, 7-qubit CSS 코드에서 알 수없는 상태를 감안할 때, 모든 qubits에 Hadamards를 적용하면 어떤 상태를 얻을 수 있는지에 대해 충분히 알지 못하지만 그 상태는 말할 수 있습니다. 발전기에 의해 안정화 로 구성 gj=(H7)gj(H7)

    GeneratorTensor factors1234567g1ZZZZg2ZZZZg3ZZZZg4XXXXg5XXXXg6XXXX

    처음에는 신비 로워 보일 수있는 안정기 형식에 관한 한 가지가 있습니다. 표준 기반의 중첩으로 확장되는 방법에 대해 알려주는 상태에 대한 정보를 실제로 다루지는 않습니다. 당신은 생성기를 추상적으로 다루고 있습니다. 사실 이것은 요점입니다. 당신은 하루 종일 기하 급수적으로 긴 중첩을 작성하는 데 인생을 보내고 싶지 않습니까? 실제로 원하는 것은 선형 상태로 무언가를 작성할 때마다 (a)  많은 일을하기 때문에 가능한 한 드물게 선형 조합으로 사물을 작성해야하는 양자 상태에 대해 추론 할 수있는 도구 입니다 자신을 위해, (b)다른 기준을  사용하여 액세스 할 수있는 유용한 자산을 알아 차리지 못하는 방식으로 일부 기준을 선호 합니다.

    여전히 : 오류 수정 코드에서 '인코딩 된 상태'에 대해 추론하는 것이 유용합니다. 예를 들어 과 같은 연산 이 7 큐 비트 코드의 코드 공간에 어떤 영향을 미치는지 확인하기 위해 . 중첩을 작성하는 대신 어떻게해야합니까?H7

    정답은 이러한 상태 를 수정하기 위해 관찰 가능 상태 ( 패리티 속성)로 이러한 상태를 설명 하는 것입니다. 예를 들어, 이 의 +1 고유 상태 인 7-qubit CSS 코드 의 논리적 상태 을 의 고유 상태로 와 마찬가지로, -1 - 고유 상태의 같은 . ( 은 제너레이터 통근하여 의 +1 고유 상태가 될 수|0Z|0L

    ZL=ZZZZZZZ
    |1LZLZL=Z7{g1,,g6}ZL또한 생성자에 의해 설명 된 패리티 속성을 갖는 것과 동시에) 표준 기준을 넘어 빠르게 이동할 수 있습니다. 과 동일한 통근 방법 그 방지와 통근 도, 그리고 발전기와 통근 우리는 설명 할 수 +1 - 고유 상태의 것으로서 와 유사하게 은 의 −1 고유 상태입니다 . 우리는 인코딩 된 표준 기반 이라고 말할 수 있습니다.X7Z7XZX7gi|+L X
    XL=XXXXXXX,
    |LXL Z특히, 연산자 와 관련하여 모든 큐 비트의 패리티로 인코딩되고 ; 상기 인코딩 된 '접합체'는 기준 에 대하여 상기 큐 비트의 모든 패리티 인코딩되어 운영자.ZX

    인코딩 된 연산자의 개념을 수정하고이를 사용하여 인코딩 된 상태를 간접적으로 나타내면 Hadamards에 의한 활용과 관련하여 와 사이에서 얻는 것과 동일한 관계입니다 . 이를 통해 7 큐빗 CSS 코드의 정보 인코딩에 대해 은 코드 공간을 보존 할뿐만 아니라 인코딩 된 Hadamard 연산 이라는 결론을 내릴 수 있습니다 .

    (H7)XL(H7)=ZL,(H7)ZL(H7)=XL,
    XZH7

따라서 우리는 부호 비트의 형태로 양자 상태에 관한 정보, 특히 비트의 패리티 에 대한 정보를 표현하는 방법으로 텐서 제품을 설명하는 방법으로서 관찰 가능한 아이디어가 CSS를 설명하는 데 핵심적인 역할을한다는 것을 알 수 있습니다. 코드 생성기는 패리티 검사 및 기본 상태를 참조하지 않고 오류 수정 코드의 속성을 설명하는 방법을 나타냅니다.


이것을 읽은 후에도 여전히 X4X5X6X7 (이 예제를 보음)이 코드 공간을 안정화시키는 방법이 확실하지 않습니다. 당신의 대답에서 당신은 당신이 X4X5X6X7 알았어 같은 코드 공간의 외모에 적용 알고 사실을 사용하는 것 같았다 제공 . Z4Z5Z6Z7 연산자에 대해 이야기하면 고유 값이 패리티 검사 행렬의 첫 번째 줄과 정확히 동일하게 비트 4 ~ 7의 패리티를 제공하므로 패리티 검사 행렬과의 링크를 직접 볼 수 있습니다. 그러나 X 연산자는 0/1 기준으로 대각선이 아닙니다. 내가 할 수없는 상황이 발생하지 않도록 ...| 1 L|0L|1L
스타 벅스

코드 워드에 대한 상태 벡터를 이지는 위의 확장에서 은 의 표준 기본 구성 요소를 표준 기반 구성 요소에 대해서도 유사 하다는 것을 알 수 있습니다 의 . 이 그림은 국가의 일부에 대한 사소한 변형을 포함하지만 전반적인 효과는 안정화입니다. 스태빌라이저를 패리티 검사로 보는 방법을 확인하려면 안정제를 사용 하는 방식으로 스태빌라이저가 및 및 켤레 기준. | 0 L| 1 LX Z XX4X5X6X7|0L|1LXZX| - L|+L|L
Niel de Beaudrap 1

답변 주셔서 감사합니다. 코드 공간의 기초를 보지 않고 패리티 검사 매트릭스와 생성기 만 살펴보면 생성기를 읽을 수 있다는 사실 만 이해한다는 데 동의하십니까? 패리티 검사 매트릭스에서. 그러나 제너레이터가 비슷한 구조를 따르는 것처럼 보이더라도 더 이상의 계산이없는 이유를 이해하는 것은 분명하지 않습니까? Nielsen & Chuang에서는 그것이 제시되는 방식이 마치 명백한 것처럼 보이기 때문입니다. 그래서 내가 뭔가를 놓쳤는 지 궁금했다. ZX
StarBucK 1

2

코드 워드를 구성 할 수있는 한 가지 방법 은 생성기 의 고유 공간에 투영하는 것 입니다. 처음 3 개의 생성기 중 하나부터 시작하십시오 이것을 확장하면 그룹에서 모든 용어가 ( . 이진 문자열에 대응하여, 이후 두 항을 곱하는 동작은 모듈로 2와 유사합니다. 따라서 코드 내에는 패리티 검사 행렬에 의해 생성 된 모든 단어가 포함됩니다. 이것은 추가 모듈로 2)의 그룹 연산을 갖는 그룹입니다.+1

|C1=126(i=16(I+gi))|0000000.
(I+g1)(I+g2)(I+g3).
I,g1,g2,g3,g1g2,g1g3,g2g3,g1g2g3)X2=I

이제 스태빌라이저 중 하나를 곱 하면 해당 비트 문자열에 모듈로 2를 더하는 것과 같습니다. 그러나 이미 그룹을 생성 했으므로 정의에 따라 모든 그룹 요소는 다른 (고유 한) 그룹 요소에 매핑됩니다. 즉, ( 및 스태빌라이저의 정류를 사용하여) 시작한 세트를 다시 가져 로 동일한 상태로 투영됩니다. 따라서, 상태는 내지 만큼 안정화된다 .X

g1×{I,g1,g2,g3,g1g2,g1g3,g2g3,g1g2g3}={g1I,g1g2,g1g3,g2,g3,g1g2g3,g2g3},
g12=Ig1g3

~ 과 동일한 인수를 효과적으로 만들 수 있습니다 . 나는 모든 qubit에 Hadamard를 먼저 적용하는 것을 선호하므로 X는 Z로 바뀌고 그 반대도 마찬가지입니다. 스태빌라이저 세트는 변경되지 않으므로 코드는 변경되지 않지만 Z 스태빌라이저는 X 스태빌라이저에 매핑됩니다.g4g6


1

다음은 아마도 귀하의 질문에 정확하게 답변하지는 않지만, 대신 출처가 주장하는 것처럼 '자명 한'것으로되는 데 도움이되는 배경을 제공하는 것을 목표로합니다.

Z 운영자가 고유 상태를 가지고 |0 (고유 값과 +1 등) |1 (고유 값과 함께 1 ). 따라서 두 큐 비트 의 ZZ 연산자에는 고유 상태가 있습니다

|00,|01,|10,|11
. 이들의 고유 값은 비트 문자열의 패리티에 따라 다릅니다. 예를 들어 |00 곱 우리 +1개별 Z 연산자의 고유 값은 +1 입니다. 대한 |11 우리가 곱 1 고유 함께도 얻을 +1 위한 ZZ . 따라서이 짝수 패리티 비트 문자열은 중첩 값 과 마찬가지로 고유 값 +1 입니다. (모두 홀수 패리티 상태에 대한 |01|10 ) 우리는 곱셈합니다 +1 A를 1 과는 얻을 수 1 에 대한 고유 ZZ.

(예컨대 일부로서 고정 된 패리티 비트 스트링 겹쳐 적층 것도 유의 α|00+β|00 그 패리티와 연관된 고유 값을 고유 상태도이고,가). 따라서 ZZ 측정 해도 그러한 중첩은 무너지지 않습니다.

이 분석은 더 많은 수의 qubit로 갈 때에도 유효합니다. 따라서 qubits 1, 3, 5 및 7의 패리티에 대해 알고 싶다면 (관련 예제를 선택하기 위해) 연산자 ZIZIZIZ 사용할 수 있습니다 . 우리가 이것을 측정하고 결과 +1 얻는다면 , 우리는이 큐빗의 부분 집합이 짝수 패리티 비트 열 또는 그 중첩으로 표현 된 상태를 가짐을 알고 있습니다. 우리가 얻는 경우에 1 , 우리는 홀수 패리티 상태 인 것을 알고있다.

이를 통해 양자 안정기 코드의 표기법을 사용하여 [7,4,3] 해밍 코드를 작성할 수 있습니다. 각 패리티 검사는 스태빌라이저 생성기로 바뀌어 검사에 포함되지 않은 모든 큐 비트에서 I , 모든 큐 비트에서 Z 를 갖습니다 . 결과 코드는 Z 반 계산되는 오류 (따라서 비트 뒤집기의 영향을 미침)를 방지합니다.

물론, 큐비 트는 Z 기반으로 만 일하도록 제한하지 않습니다 . 우리는의 고전 해밍 코드에 대한 우리의 큐 비트를 인코딩 할 수 |+| 대신 말한다. 이것들은 X 의 고유 상태 이므로 이런 종류의 코드가 어떻게 작동하는지 알기 위해 ZX 로 교체하면 됩니다. X 반 계산되는 오류로부터 보호 할 수 있습니다 (따라서 위상 반전 효과가 있음).

물론 Steane 코드의 마법은 동시에 수행하고 모든 것을 방지한다는 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.