Discretizarea erorilor
Până acum am analizat erorile și erorile în contextul codului Shor cu 9 qubiți, iar în această secțiune vom analiza erori arbitrare. Vom constata că, pentru a gestiona astfel de erori, nu trebuie să facem nimic diferit față de ceea ce am discutat deja; capacitatea de a corecta erori , erori sau pe ambele implică automat capacitatea de a corecta erori arbitrare. Acest fenomen este uneori numit discretizarea erorilor.
Erori unitare ale qubitului
Să începem cu erorile unitare pe un singur qubit. De exemplu, o astfel de eroare ar putea corespunde unei rotații foarte mici a sferei Bloch, reprezentând poate o eroare cauzată de un Gate care nu este perfect. Sau ar putea fi orice altă operație unitară asupra unui qubit, nu neapărat una apropiată de identitate.
S-ar putea părea că este dificil să corectezi astfel de erori. La urma urmei, există infinit de multe erori posibile de acest tip, și este de neconceput că am putea identifica fiecare eroare exact și apoi să o anulăm. Cu toate acestea, atâta timp cât putem corecta un bit-flip, un phase-flip sau pe ambele, vom reuși să corectăm o eroare unitară arbitrară pe un singur qubit folosind procedurile descrise anterior în lecție.
Pentru a înțelege de ce este astfel, să recunoaștem mai întâi că putem exprima o matrice unitară arbitrară care reprezintă o eroare pe un singur qubit, ca o combinație liniară a celor patru matrice Pauli (inclusiv matricea identitate).
Cum vom vedea, atunci când se rulează circuitele de detecție a erorilor, măsurătorile care ne furnizează biții de sindrom colapsează efectiv starea codificării în mod probabilistic, la una în care o eroare (sau absența unei erori) reprezentată de una dintre cele patru matrice Pauli a avut loc. (Rezultă din faptul că este unitar că numerele și trebuie să satisfacă și într-adevăr, valorile și sunt probabilitățile cu care starea codificată colapsează la una pentru care eroarea Pauli corespunzătoare a apărut.)
Pentru a explica cum funcționează aceasta în detaliu, va fi convenabil să folosim indici pentru a indica pe care qubit acționează o anumită operație unitară. De exemplu, folosind convenția de numerotare a qubiților din Qiskit pentru a numerota cei 9 qubiți folosiți pentru codul Shor, avem aceste expresii pentru diverse operații unitare pe qubiți individuali, unde în fiecare caz tensorăm matricea unitară cu matricea identitate pe fiecare alt qubit.
Astfel, în particular, pentru o operație unitară dată putem specifica acțiunea lui aplicat qubitului prin formula următoare, similară cu cea anterioară, cu excepția că fiecare matrice reprezintă o operație aplicată qubitului
Acum presupunem că este codificarea cu 9 qubiți a unei stări de qubit. Dacă eroarea are loc pe qubitului obținem starea care poate fi exprimată ca o combinație liniară de operații Pauli ce acționează asupra după cum urmează.
În acest moment, să facem substituția
Acum să luăm în considerare pașii de detecție și corecție a erorilor descriși anterior. Putem să ne gândim la rezultatele măsurătorilor pentru cele trei verificări de paritate ale codului interior împreună cu cea a codului exterior colectiv, ca la un singur sindrom format din 8 biți. Imediat înainte de măsurătorile propriu-zise în baza standard care produc acești biți de sindrom, starea are forma următoare.
Pentru a fi clar, avem două sisteme în acest moment. Sistemul din stânga este cel format din 8 qubiți pe care îi vom măsura pentru a obține sindromul, unde și celelalte, se referă la oricare stare în baza standard a celor 8 qubiți care este compatibilă cu eroarea corespunzătoare (sau non-eroarea). Sistemul din dreapta este cel format din 9 qubiți pe care îi folosim pentru codificare.
Observă că aceste două sisteme sunt acum corelate (în general), și acesta este cheia pentru înțelegerea funcționării. Prin măsurarea sindromului, starea celor 9 qubiți din dreapta colapsează efectiv la una în care o eroare Pauli compatibilă cu sindromul măsurat a fost aplicată unuia dintre qubiți. Mai mult, sindromul însuși furnizează suficiente informații pentru a putea anula eroarea și a recupera codificarea originală
În particular, dacă qubiții de sindrom sunt măsurați și sunt efectuate corecțiile corespunzătoare, obținem o stare care poate fi exprimată ca o matrice densitate,
unde
Esențial, aceasta este o stare produs: avem codificarea originală, necoroptă, ca factor tensor din dreapta, iar în stânga avem o matrice densitate care descrie un sindrom de eroare aleator. Nu mai există nicio corelație cu sistemul din dreapta, cel de care ne pasă, deoarece erorile au fost corectate. În acest moment putem renunța la qubiții de sindrom sau îi putem reseta pentru a-i folosi din nou. Aceasta este modalitatea prin care aleatorietatea — sau entropia — creată de erori este eliminată din sistem.
Aceasta este discretizarea erorilor pentru cazul special al erorilor unitare. În esență, prin măsurarea sindromului, proiectăm efectiv eroarea pe o eroare descrisă de o matrice Pauli.
La prima vedere, poate părea prea bine pentru a fi adevărat că putem corecta erori unitare arbitrare în acest mod, inclusiv erori minuscule, greu de observat în mod individual. Dar ceea ce este important de înțeles aici este că aceasta este o eroare unitară pe un singur qubit, și prin designul codului, o operație pe un singur qubit nu poate schimba starea qubitului logic care a fost codificat. Tot ceea ce poate face este să mute starea în afara subspatiului de codificări valide, dar atunci detecțiile de erori colapsează starea, iar corecțiile o readuc la punctul de start.
Erori arbitrare ale qubitului
În final, să luăm în considerare erori arbitrare care nu sunt neapărat unitare. Mai precis, vom considera o eroare descrisă de un canal arbitrar de qubit De exemplu, acesta ar putea fi un canal de dephasing sau depolarizare, un canal de resetare, sau un canal ciudat la care nu ne-am mai gândit înainte.
Primul pas este să luăm în considerare orice reprezentare Kraus a lui
Acesta este un canal de qubit, deci fiecare este o matrice , pe care o putem exprima ca o combinație liniară de matrice Pauli.
Aceasta ne permite să exprimăm acțiunea erorii pe un qubit ales în termeni de matrice Pauli după cum urmează.
Pe scurt, am extins pur și simplu toate matricele noastre Kraus ca combinații liniare de matrice Pauli.
Dacă acum calculăm și măsurăm sindromul de eroare și corectăm orice erori care sunt relevate, vom obține o stare similară cu cea din cazul erorii unitare:
unde de această dată avem
Detaliile sunt puțin mai complicate și nu sunt prezentate aici. Din punct de vedere conceptual, ideea este identică cu cazul unitar.
Generalizare
Discretizarea erorilor se generalizează la alte coduri cuantice de corectare a erorilor, inclusiv cele care pot detecta și corecta erori pe mai mulți qubiți. În astfel de cazuri, erorile pe mai mulți qubiți pot fi exprimate ca produse tensoriale de matrice Pauli, iar diferite sindroame corespunzătoare specifică corecții ale operațiilor Pauli care pot fi efectuate pe mai mulți qubiți, nu doar pe unul singur.
Din nou, prin măsurarea sindromului, erorile sunt proiectate sau colapsate efectiv pe un set discret de posibilități reprezentate de produse tensoriale de matrice Pauli, și corectând acele erori Pauli, putem recupera starea codificată originală. Între timp, orice aleatorietate generată în proces este transferată în qubiții de sindrom, care sunt eliminați sau resetați, eliminând astfel aleatorietatea generată în acest proces din sistemul care stochează codificarea.