Sari la conținutul principal

Codul de repetiție revizitat

În continuare, vom arunca o a doua privire asupra codului de repetiție pe 3 biți, de data aceasta formulându-l în termeni de operații Pauli. Acesta va fi primul nostru exemplu de cod Stabilizer.

Observabile Pauli pentru codul de repetiție

Amintește-ți că, atunci când aplicăm codul de repetiție pe 3 biți unor qubiți, un vector de stare al unui Qubit dat α0+β1\alpha\vert 0\rangle + \beta\vert 1\rangle este codificat ca

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

Orice stare ψ\vert\psi\rangle de această formă este o codificare validă pe 3 qubiți a unei stări de Qubit — dar dacă am avea o stare despre care nu suntem siguri, am putea verifica dacă avem o codificare validă verificând următoarele două ecuații.

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

Prima ecuație afirmă că aplicarea operațiilor ZZ pe cei mai din stânga doi qubiți ai lui ψ\vert\psi\rangle nu are niciun efect, adică ψ\vert\psi\rangle este un vector propriu al lui ZZIZ\otimes Z\otimes \mathbb{I} cu valoarea proprie 1.1. A doua ecuație este similară, cu deosebirea că operațiile ZZ sunt aplicate pe cei mai din dreapta doi qubiți. Ideea este că, dacă privim ψ\vert\psi\rangle ca o combinație liniară de stări ale bazei standard, atunci prima ecuație implică faptul că putem avea coeficienți nenuli doar pentru stările bazei standard în care cei mai din stânga doi biți au paritate pară (sau, echivalent, sunt egali), iar a doua ecuație implică faptul că putem avea coeficienți nenuli doar pentru stările bazei standard în care cei mai din dreapta doi biți au paritate pară.

Echivalent, dacă privim cele două operații Pauli ZZIZ\otimes Z\otimes \mathbb{I} și IZZ\mathbb{I}\otimes Z\otimes Z ca observabile și le măsurăm pe amândouă folosind circuitele sugerate la sfârșitul secțiunii anterioare, atunci am fi siguri că obținem rezultate ale măsurătorii corespunzătoare valorilor proprii +1+1, deoarece ψ\vert\psi\rangle este vector propriu al ambelor observabile cu valoarea proprie 1.1. Totuși, versiunea simplificată a circuitului (combinat) pentru măsurarea independentă a ambelor observabile, prezentată aici, nu este altceva decât circuitul de verificare a parității pentru codul de repetiție pe 3 biți.

Circuit de verificare a parității pentru codul de repetiție pe 3 biți

Cele două ecuații de mai sus implică prin urmare că circuitul de verificare a parității produce ieșirea 00,00, care este sindromul ce indică faptul că nu au fost detectate erori.

Operațiile Pauli pe 3 qubiți ZZIZ\otimes Z\otimes \mathbb{I} și IZZ\mathbb{I}\otimes Z\otimes Z se numesc generatori Stabilizer pentru acest cod, iar Stabilizer-ul codului este mulțimea generată de generatorii 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-ul este un obiect matematic fundamental asociat acestui cod, iar rolul pe care îl joacă va fi discutat pe măsură ce lecția continuă. Deocamdată, să observăm că am fi putut face o alegere diferită pentru generatori și verificările de paritate corespunzătoare, anume luând ZIZZ\otimes\mathbb{I}\otimes Z în locul unuia dintre generatorii pe care i-am selectat, dar Stabilizer-ul și codul în sine ar rămâne neschimbate.

Detectarea erorilor

În continuare, vom analiza detectarea erorilor de tip bit-flip pentru codul de repetiție pe 3 biți, cu accent pe interacțiunile și relațiile dintre operațiile Pauli implicate: generatorii Stabilizer și erorile în sine.

Să presupunem că am codificat un Qubit folosind codul de repetiție pe 3 biți și că apare o eroare de tip bit-flip pe qubit-ul cel mai din stânga. Aceasta determină transformarea stării ψ\vert\psi\rangle conform acțiunii unei operații XX (sau erorii XX).

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

Această eroare poate fi detectată efectuând verificările de paritate pentru codul de repetiție pe 3 biți, după cum s-a discutat în lecția anterioară, ceea ce este echivalent cu măsurarea nedistructivă a generatorilor Stabilizer ZZIZ\otimes Z\otimes \mathbb{I} și IZZ\mathbb{I}\otimes Z\otimes Z ca observabile.

Să începem cu primul generator Stabilizer. Starea ψ\vert\psi\rangle a fost afectată de o eroare XX pe qubit-ul cel mai din stânga, iar scopul nostru este să înțelegem cum este influențată măsurătoarea acestui generator Stabilizer, ca observabil, de această eroare. Deoarece XX și ZZ anticomutează, în timp ce orice matrice comutează cu matricea identitate, rezultă că ZZIZ\otimes Z\otimes \mathbb{I} anticomutează cu XII.X\otimes\mathbb{I}\otimes\mathbb{I}. Între timp, deoarece ψ\vert\psi\rangle este o codificare validă a unui Qubit, ZZIZ\otimes Z\otimes \mathbb{I} acționează trivial pe ψ.\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}

Prin urmare, (XII)ψ(X \otimes \mathbb{I} \otimes \mathbb{I}) \vert\psi\rangle este un vector propriu al lui ZZIZ \otimes Z \otimes \mathbb{I} cu valoarea proprie 1.-1. Când măsurătoarea asociată observabilului ZZIZ \otimes Z \otimes \mathbb{I} este efectuată pe starea (XII)ψ,(X \otimes \mathbb{I} \otimes \mathbb{I}) \vert\psi\rangle, rezultatul este prin urmare cu certitudine cel asociat valorii proprii 1.-1.

Un raționament similar se poate aplica celui de-al doilea generator Stabilizer, dar de data aceasta eroarea comutează cu generatorul Stabilizer în loc să anticomute, astfel că rezultatul acestei măsurători este cel asociat valorii proprii +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}

Ceea ce constatăm analizând aceste ecuații este că, indiferent de starea noastră inițială ψ,\vert\psi\rangle, starea coruptă este un vector propriu al ambilor generatori Stabilizer, iar dacă valoarea proprie este +1+1 sau 1-1 este determinat de faptul că eroarea comutează sau anticomutează cu fiecare generator Stabilizer. Pentru erorile reprezentate de operații Pauli, va fi întotdeauna una sau cealaltă, deoarece oricare două operații Pauli fie comutează, fie anticomutează. Între timp, starea actuală ψ\vert\psi\rangle nu joacă un rol important, cu excepția faptului că generatorii Stabilizer acționează trivial pe această stare.

Din acest motiv, în general nu trebuie să ne preocupăm de starea codificată specifică cu care lucrăm. Tot ce contează este dacă eroarea comutează sau anticomutează cu fiecare generator Stabilizer. În particular, acestea sunt ecuațiile relevante pentru această eroare particulară în cazul acestui cod.

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

Iată un tabel cu câte un rând pentru fiecare generator Stabilizer și câte o coloană pentru fiecare eroare. Intrarea din tabel este fie +1+1, fie 1-1 în funcție de faptul că eroarea și generatorul Stabilizer comutează sau anticomutează. Tabelul include doar coloane pentru erorile corespunzătoare unui singur bit-flip, precum și pentru absența erorii, care este descrisă prin identitatea tensorată cu ea însăși de trei ori. Am putea adăuga mai multe coloane pentru alte erori, dar deocamdată ne vom concentra doar pe aceste erori.

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}

Pentru fiecare eroare din tabel, coloana corespunzătoare dezvăluie cum transformă acea eroare orice codificare dată într-un vector propriu cu valoarea proprie +1+1 sau 1-1 al fiecărui generator Stabilizer. Echivalent, coloanele descriu sindromul pe care l-am obține din verificările de paritate, care sunt echivalente cu măsurătorile nedistructive ale generatorilor Stabilizer ca observabile. Desigur, tabelul are intrările +1+1 și 1-1 mai degrabă decât 00 și 11 — și este obișnuit să gândim un sindrom ca un șir binar mai degrabă decât o coloană de intrări +1+1 și 1-1 — dar putem la fel de bine să ne gândim la acești vectori cu intrările +1+1 și 1-1 ca sindroame pentru a-i conecta direct la valorile proprii ale generatorilor Stabilizer. În general, sindroamele ne spun ceva despre eroarea care a avut loc, iar dacă știm că una dintre cele patru erori posibile din tabel a survenit, sindromul indică care anume a fost.

Sindroame

Codificările pentru codul de repetiție pe 3 biți sunt stări de 3 qubiți, deci sunt vectori unitari într-un spațiu vectorial complex de dimensiune 8. Cele patru sindroame posibile împart efectiv acest spațiu de dimensiune 8 în patru subspatii de dimensiune 2, în care vectorii de stare cuantică din fiecare subspațiu produc întotdeauna același sindrom. Diagrama următoare ilustrează specific modul în care spațiul de dimensiune 8 este divizat de cei doi generatori Stabilizer.

Divizarea subspațiului pentru codul de repetiție pe 3 biți

Fiecare generator Stabilizer împarte spațiul în două subspații de dimensiune egală, anume spațiul vectorilor proprii cu valoarea proprie +1+1 și spațiul vectorilor proprii cu valoarea proprie 1-1 pentru acel observabil. De exemplu, vectorii proprii cu valoarea proprie +1+1 ai lui ZZIZ\otimes Z\otimes\mathbb{I} sunt combinații liniare ale stărilor bazei standard în care cei mai din stânga doi biți au paritate pară, iar vectorii proprii cu valoarea proprie 1-1 sunt combinații liniare ale stărilor bazei standard în care cei mai din stânga doi biți au paritate impară. Situația este similară pentru celălalt generator Stabilizer, cu deosebirea că pentru acesta sunt cei mai din dreapta doi biți, nu cei mai din stânga.

Cele patru subspații de dimensiune 2 corespunzătoare celor patru sindroame posibile sunt ușor de descris în acest caz, datorită faptului că acesta este un cod foarte simplu. În particular, subspațiul corespunzător sindromului (+1,+1)(+1,+1) este spațiul generat de 000\vert 000\rangle și 111\vert 111\rangle, care este spațiul codificărilor valide (cunoscut și sub denumirea de spațiul codului), iar în general spațiile sunt generate de baza standard prezentată în pătratele corespunzătoare.

Sindroamele împart, de asemenea, toate operațiile Pauli pe 3 qubiți în 4 colecții de dimensiuni egale, în funcție de sindromul pe care l-ar produce acea operație (ca eroare). De exemplu, orice operație Pauli care comutează cu ambii generatori Stabilizer produce sindromul (+1,+1)(+1,+1), iar dintre cele 64 de operații Pauli posibile pe 3 qubiți, există exact 16 în această categorie (inclusiv IIZ,\mathbb{I}\otimes \mathbb{I}\otimes Z, ZZZZ\otimes Z\otimes Z și XXXX\otimes X\otimes X de exemplu), și la fel pentru celelalte 3 sindroame.

Ambele proprietăți — că sindroamele împart atât spațiul stărilor în care trăiesc codificările, cât și toate operațiile Pauli pe acest spațiu în colecții de dimensiuni egale — sunt adevărate în general pentru codurile Stabilizer, pe care le vom defini precis în secțiunea următoare.

Deși este în principal o paranteză în acest moment, merită menționat că operațiile Pauli care comutează cu ambii generatori Stabilizer, sau echivalent operațiile Pauli care produc sindromul (+1,+1),(+1,+1), dar nu sunt ele înseși proporționale cu elemente ale Stabilizer-ului, se comportă exact ca operații Pauli pe un singur Qubit aplicată pe Qubit-ul codificat (adică Qubit-ul logic) pentru acest cod. De exemplu, XXXX\otimes X \otimes X comutează cu ambii generatori Stabilizer, dar nu este proporțional cu niciun element din Stabilizer, și într-adevăr efectul acestei operații asupra unei codificări este echivalent cu un Gate XX pe qubit-ul logic codificat.

(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

Din nou, acesta este un fenomen care se generalizează la toate codurile Stabilizer.