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 este codificat ca
Orice stare 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.
Prima ecuație afirmă că aplicarea operațiilor pe cei mai din stânga doi qubiți ai lui nu are niciun efect, adică este un vector propriu al lui cu valoarea proprie A doua ecuație este similară, cu deosebirea că operațiile sunt aplicate pe cei mai din dreapta doi qubiți. Ideea este că, dacă privim 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 și 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 , deoarece este vector propriu al ambelor observabile cu valoarea proprie 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.
Cele două ecuații de mai sus implică prin urmare că circuitul de verificare a parității produce ieșirea care este sindromul ce indică faptul că nu au fost detectate erori.
Operațiile Pauli pe 3 qubiți și se numesc generatori Stabilizer pentru acest cod, iar Stabilizer-ul codului este mulțimea generată de generatorii Stabilizer.
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 î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 conform acțiunii unei operații (sau erorii ).
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 și ca observabile.
Să începem cu primul generator Stabilizer. Starea a fost afectată de o eroare 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 și anticomutează, în timp ce orice matrice comutează cu matricea identitate, rezultă că anticomutează cu Între timp, deoarece este o codificare validă a unui qubit, acționează trivial pe
Prin urmare, este un vector propriu al lui cu valoarea proprie Când măsurătoarea asociată observabilului este efectuată pe starea rezultatul este prin urmare cu certitudine cel asociat valorii proprii
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
Ceea ce constatăm analizând aceste ecuații este că, indiferent de starea noastră inițială starea coruptă este un vector propriu al ambilor generatori Stabilizer, iar dacă valoarea proprie este sau 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ă 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.
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 , fie î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.
Pentru fiecare eroare din tabel, coloana corespunzătoare dezvăluie cum transformă acea eroare orice codificare dată într-un vector propriu cu valoarea proprie sau 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 și mai degrabă decât și — și este obișnuit să gândim un sindrom ca un șir binar mai degrabă decât o coloană de intrări și — dar putem la fel de bine să ne gândim la acești vectori cu intrările și 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.
Fiecare generator Stabilizer împarte spațiul în două subspații de dimensiune egală, anume spațiul vectorilor proprii cu valoarea proprie și spațiul vectorilor proprii cu valoarea proprie pentru acel observabil. De exemplu, vectorii proprii cu valoarea proprie ai lui 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 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 este spațiul generat de și , 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 , iar dintre cele 64 de operații Pauli posibile pe 3 qubiți, există exact 16 în această categorie (inclusiv și 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 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, 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 poartă pe qubit-ul logic codificat.
Din nou, acesta este un fenomen care se generalizează la toate codurile Stabilizer.