Przejdź do głównej treści

Kod repetycyjny — powrót do tematu

Teraz przyjrzymy się ponownie 3-bitowemu kodowi repetycyjnemu, tym razem ujmując go w kategoriach operacji Pauliego. Będzie to nasz pierwszy przykład kodu stabilizatorowego.

Obserwable Pauliego dla kodu repetycyjnego

Przypomnij sobie, że gdy stosujemy 3-bitowy kod repetycyjny do kubitów, dany wektor stanu kubitu α0+β1\alpha\vert 0\rangle + \beta\vert 1\rangle jest kodowany jako

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

Każdy stan ψ\vert\psi\rangle tej postaci jest poprawnym 3-kubitowym kodowaniem stanu kubitu — lecz gdybyśmy mieli stan, co do którego nie bylibyśmy pewni, moglibyśmy zweryfikować, czy mamy poprawne kodowanie, sprawdzając dwa poniższe równania.

(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}

Pierwsze równanie mówi, że zastosowanie operacji ZZ do dwóch lewych kubitów ψ\vert\psi\rangle nie ma żadnego efektu, co oznacza, że ψ\vert\psi\rangle jest wektorem własnym ZZIZ\otimes Z\otimes \mathbb{I} z wartością własną 1.1. Drugie równanie jest analogiczne, z tą różnicą, że operacje ZZ są stosowane do dwóch prawych kubitów. Chodzi o to, że jeśli potraktujemy ψ\vert\psi\rangle jako kombinację liniową stanów bazy standardowej, to pierwsze równanie oznacza, iż niezerowe współczynniki mogą mieć tylko te stany bazowe, w których dwa lewe bity mają parzystą parzystość (tzn. są równe), a drugie równanie oznacza, że niezerowe współczynniki mogą mieć tylko te stany bazowe, w których dwa prawe bity mają parzystą parzystość.

Równoważnie, jeśli potraktujemy obie operacje Pauliego ZZIZ\otimes Z\otimes \mathbb{I} i IZZ\mathbb{I}\otimes Z\otimes Z jako obserwable i zmierzymy je obydwie za pomocą układów sugerowanych pod koniec poprzedniej sekcji, to z pewnością uzyskamy wyniki pomiaru odpowiadające wartościom własnym +1+1, ponieważ ψ\vert\psi\rangle jest wektorem własnym obu obserwabli z wartością własną 1.1. Jednak uproszczona wersja (połączonego) układu do niezależnego pomiaru obu obserwabli, pokazana tutaj, jest niczym innym jak układem sprawdzania parzystości dla 3-bitowego kodu repetycyjnego.

Układ sprawdzania parzystości dla 3-bitowego kodu repetycyjnego

Oba powyższe równania implikują zatem, że układ sprawdzania parzystości daje wynik 00,00, czyli syndrom oznaczający, że nie wykryto żadnych błędów.

Operacje Pauliego na 3 kubitach ZZIZ\otimes Z\otimes \mathbb{I} i IZZ\mathbb{I}\otimes Z\otimes Z są nazywane generatorami stabilizatora tego kodu, a stabilizator kodu to zbiór generowany przez generatory stabilizatora.

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 \}

Stabilizator jest fundamentalnie ważnym obiektem matematycznym związanym z tym kodem, a jego rola będzie omawiana w trakcie dalszej części lekcji. Na razie zauważmy, że mogliśmy wybrać inne generatory i odpowiadające im sprawdzenia parzystości — konkretnie biorąc ZIZZ\otimes\mathbb{I}\otimes Z zamiast któregokolwiek z wybranych przez nas generatorów — jednak stabilizator i sam kod pozostałyby niezmienione.

Wykrywanie błędów

Teraz zajmiemy się wykrywaniem błędów bitowych (bit-flip) w 3-bitowym kodzie repetycyjnym, skupiając się na interakcjach i relacjach między operacjami Pauliego, które są w to zaangażowane: generatorami stabilizatora i samymi błędami.

Załóżmy, że zakodowaliśmy kubit przy użyciu 3-bitowego kodu repetycyjnego i na lewym kubicie wystąpił błąd bitowy. Powoduje to przekształcenie stanu ψ\vert\psi\rangle zgodnie z działaniem operacji XX (czyli błędu XX).

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

Błąd ten można wykryć, wykonując sprawdzenia parzystości dla 3-bitowego kodu repetycyjnego, jak omówiono w poprzedniej lekcji — co jest równoważne niedestrukcyjnemu pomiarowi generatorów stabilizatora ZZIZ\otimes Z\otimes \mathbb{I} i IZZ\mathbb{I}\otimes Z\otimes Z jako obserwabli.

Zacznijmy od pierwszego generatora stabilizatora. Stan ψ\vert\psi\rangle doznał błędu XX na lewym kubicie i naszym celem jest zrozumienie, jak pomiar tego generatora stabilizatora jako obserwabli jest na ten błąd wrażliwy. Ponieważ XX i ZZ antykomutują, natomiast każda macierz komutuje z macierzą jednostkową, wynika z tego, że ZZIZ\otimes Z\otimes \mathbb{I} antykomutuje z XII.X\otimes\mathbb{I}\otimes\mathbb{I}. Tymczasem, ponieważ ψ\vert\psi\rangle jest poprawnym kodowaniem kubitu, ZZIZ\otimes Z\otimes \mathbb{I} działa trywialnie na ψ.\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}

Wynika z tego, że (XII)ψ(X \otimes \mathbb{I} \otimes \mathbb{I}) \vert\psi\rangle jest wektorem własnym ZZIZ \otimes Z \otimes \mathbb{I} z wartością własną 1.-1. Gdy pomiar związany z obserwablą ZZIZ \otimes Z \otimes \mathbb{I} jest wykonywany na stanie (XII)ψ,(X \otimes \mathbb{I} \otimes \mathbb{I}) \vert\psi\rangle, wynik jest zatem pewny i odpowiada wartości własnej 1.-1.

Analogiczne rozumowanie można zastosować do drugiego generatora stabilizatora, lecz tym razem błąd komutuje z generatorem stabilizatora zamiast z nim antykomutować, więc wynikiem tego pomiaru jest wynik odpowiadający wartości własnej +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}

To, co odkrywamy analizując te równania, jest następujące: niezależnie od naszego oryginalnego stanu ψ,\vert\psi\rangle, uszkodzony stan jest wektorem własnym obu generatorów stabilizatora, a to, czy wartość własna wynosi +1+1 czy 1-1, jest określone przez to, czy błąd komutuje, czy antykomutuje z każdym generatorem stabilizatora. Dla błędów reprezentowanych przez operacje Pauliego zawsze będzie to jedno albo drugie, ponieważ dowolne dwie operacje Pauliego albo komutują, albo antykomutują. Tymczasem sam stan ψ\vert\psi\rangle nie odgrywa tu ważnej roli — z wyjątkiem faktu, że generatory stabilizatora działają na ten stan trywialnie.

Z tego powodu w ogólności nie musimy przejmować się konkretnym zakodowanym stanem, z którym pracujemy. Liczy się jedynie to, czy błąd komutuje, czy antykomutuje z każdym generatorem stabilizatora. W szczególności, oto istotne równania dotyczące tego konkretnego błędu dla tego kodu.

(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}

Oto tabela z jednym wierszem dla każdego generatora stabilizatora i jedną kolumną dla każdego błędu. Wpis w tabeli wynosi +1+1 albo 1-1 w zależności od tego, czy błąd i generator stabilizatora komutują, czy antykomutują. Tabela zawiera kolumny tylko dla błędów odpowiadających pojedynczemu przerzutowi bitu, a także braku błędu, który opisany jest przez iloczyn tensorowy tożsamości ze sobą samą trzy razy. Moglibyśmy dodać więcej kolumn dla innych błędów, ale na razie skupimy się tylko na tych.

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}

Dla każdego błędu w tabeli odpowiadająca mu kolumna ujawnia, jak ten błąd przekształca dowolne dane kodowanie w wektor własny +1+1 lub 1-1 każdego generatora stabilizatora. Równoważnie, kolumny opisują syndrom, który uzyskalibyśmy ze sprawdzeń parzystości, będących równoważnikami niedestrukcyjnych pomiarów generatorów stabilizatora jako obserwabli. Oczywiście tabela zawiera wpisy +1+1 i 1-1, a nie 00 i 11 — i często myśli się o syndromie jako o binarnym ciągu bitów, a nie kolumnie wpisów +1+1 i 1-1 — lecz równie dobrze możemy myśleć o tych wektorach z wpisami +1+1 i 1-1 jako syndromach, łącząc je bezpośrednio z wartościami własnymi generatorów stabilizatora. Ogólnie rzecz biorąc, syndromy mówią nam coś o błędzie, który wystąpił, i jeśli wiemy, że nastąpił jeden z czterech możliwych błędów wymienionych w tabeli, syndrom wskazuje, który to był.

Syndromy

Kodowania dla 3-bitowego kodu repetycyjnego są stanami 3-kubitowymi, więc są wektorami jednostkowymi w 8-wymiarowej zespolonej przestrzeni wektorowej. Cztery możliwe syndromy efektywnie dzielą tę 8-wymiarową przestrzeń na cztery 2-wymiarowe podprzestrzenie, przy czym wektory stanu kwantowego w każdej podprzestrzeni zawsze dają ten sam syndrom. Poniższy diagram ilustruje konkretnie, jak 8-wymiarowa przestrzeń jest podzielona przez dwa generatory stabilizatora.

Podział podprzestrzeni dla 3-bitowego kodu repetycyjnego

Każdy generator stabilizatora dzieli przestrzeń na dwie podprzestrzenie równego wymiaru, a mianowicie przestrzeń wektorów własnych +1+1 i przestrzeń wektorów własnych 1-1 dla danej obserwabli. Na przykład wektory własne +1+1 dla ZZIZ\otimes Z\otimes\mathbb{I} to kombinacje liniowe stanów bazy standardowej, w których dwa lewe bity mają parzystą parzystość, a wektory własne 1-1 to kombinacje liniowe stanów bazy standardowej, w których dwa lewe bity mają nieparzystą parzystość. Sytuacja jest podobna dla drugiego generatora stabilizatora, z tą różnicą, że dla niego chodzi o dwa prawe bity, a nie dwa lewe.

Cztery 2-wymiarowe podprzestrzenie odpowiadające czterem możliwym syndromom są łatwe do opisania w tym przypadku, co wynika z faktu, że jest to bardzo prosty kod. W szczególności, podprzestrzeń odpowiadająca syndromowi (+1,+1)(+1,+1) to przestrzeń rozpiętą przez 000\vert 000\rangle i 111\vert 111\rangle, czyli przestrzeń poprawnych kodowań (znana też jako przestrzeń kodu), a ogólnie przestrzenie są rozpiętą przez bazę standardową pokazaną w odpowiednich kwadratach.

Syndromy partycjonują również wszystkie 3-kubitowe operacje Pauliego na 4 równoliczne zbiory, w zależności od tego, jaki syndrom ta operacja (jako błąd) by spowodowała. Na przykład każda operacja Pauliego, która komutuje z obydwoma generatorami stabilizatora, daje syndrom (+1,+1)(+1,+1) i wśród 64 możliwych 3-kubitowych operacji Pauliego jest dokładnie 16 takich, które należą do tej kategorii (w tym IIZ,\mathbb{I}\otimes \mathbb{I}\otimes Z, ZZZZ\otimes Z\otimes Z i XXXX\otimes X\otimes X na przykład) — i tak samo dla pozostałych 3 syndromów.

Obie te właściwości — że syndromy partycjonują zarówno przestrzeń stanów, w której żyją kodowania, jak i wszystkie operacje Pauliego na tej przestrzeni na równoliczne zbiory — są prawdziwe ogólnie dla kodów stabilizatorowych, które precyzyjnie zdefiniujemy w następnej sekcji.

Choć to w tym miejscu jedynie dygresja, warto wspomnieć, że operacje Pauliego komutujące z obydwoma generatorami stabilizatora — czyli równoważnie operacje Pauliego dające syndrom (+1,+1)(+1,+1) — ale niebędące same w sobie proporcjonalne do elementów stabilizatora, okazują się zachowywać dokładnie jak jednokubitowe operacje Pauliego na zakodowanym kubicie (tj. logicznym kubicie) dla tego kodu. Na przykład XXXX\otimes X \otimes X komutuje z obydwoma generatorami stabilizatora, ale sama w sobie nie jest proporcjonalna do żadnego elementu stabilizatora, a efekt tej operacji na kodowanie jest równoważny bramce XX na logicznym kubicie, który jest kodowany.

(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

To jest zjawisko, które uogólnia się na wszystkie kody stabilizatorowe.