Codici stabilizzatori
Adesso definiremo i codici stabilizzatori in generale. Discuteremo anche alcune delle loro proprietà di base e il loro funzionamento, incluso come gli stati possono essere codificati e come gli errori vengono rilevati e corretti mediante questi codici.
Definizione di codici stabilizzatori
Un codice stabilizzatore a qubit è specificato da una lista di operazioni di Pauli su qubit, In questo contesto queste operazioni vengono chiamate generatori dello stabilizzatore, e devono soddisfare le seguenti tre proprietà.
-
I generatori dello stabilizzatore commutano tutti fra loro.
-
I generatori dello stabilizzatore formano un insieme generatore minimale.
-
Almeno un vettore di stato quantistico è fissato da tutti i generatori dello stabilizzatore.
(Non è ovvio che l'esistenza di un vettore di stato quantistico fissato da tutti i generatori dello stabilizzatore, nel senso che sia equivalente a ma è effettivamente così, e vedremo perché più avanti nella lezione.)
Supponendo di avere una tale lista lo spazio codice definito da questi generatori dello stabilizzatore è il sottospazio che contiene tutti i vettori di stato quantistico a qubit fissati da tutti gli generatori dello stabilizzatore.
I vettori di stato quantistico in questo sottospazio sono esattamente quelli che possono essere considerati come codifiche valide di stati quantistici. Discuteremo il processo effettivo di codifica più avanti.
Infine, lo stabilizzatore del codice definito dai generatori è l'insieme generato da queste operazioni:
Un modo naturale di pensare a un codice stabilizzatore è quello di considerare i generatori dello stabilizzatore come osservabili, e di interpretare collettivamente gli esiti delle misurazioni associate a questi osservabili come una sindrome di errore. Le codifiche valide sono vettori di stato quantistico a qubit per cui gli esiti delle misurazioni, come autovalori, sono garantiti essere tutti Qualsiasi altra sindrome, in cui si verifica almeno un esito di misurazione , segnala che è stato rilevato un errore.
Tra poco esamineremo diversi esempi, ma prima è opportuno fare alcune osservazioni sulle tre condizioni sui generatori dello stabilizzatore.
La prima condizione è naturale, alla luce dell'interpretazione dei generatori dello stabilizzatore come osservabili, poiché implica che l'ordine in cui vengono eseguite le misurazioni non ha importanza: gli osservabili commutano, quindi anche le misurazioni commutano. Questo impone naturalmente certi vincoli algebrici sui codici stabilizzatori, importanti per il loro funzionamento.
La seconda condizione richiede che i generatori dello stabilizzatore formino un insieme generatore minimale, nel senso che rimuovere uno qualsiasi di essi produrrebbe uno stabilizzatore più piccolo. In senso stretto, questa condizione non è davvero essenziale al funzionamento dei codici stabilizzatori in senso operativo — e, come vedremo nella prossima lezione, a volte ha senso considerare insiemi di generatori dello stabilizzatore per codici che in realtà non soddisfano questa condizione. Tuttavia, ai fini dell'analisi dei codici stabilizzatori e della spiegazione delle loro proprietà, assumeremo che questa condizione sia valida. In breve, questa condizione garantisce che ogni osservabile misurato per ottenere la sindrome di errore aggiunga informazioni sugli errori possibili, piuttosto che essere ridondante e produrre risultati inferibili dalle altre misurazioni dei generatori dello stabilizzatore.
La terza condizione richiede che almeno un vettore non nullo sia fissato da tutti i generatori dello stabilizzatore, il che è equivalente al fatto che non sia contenuto nello stabilizzatore. La necessità di questa condizione deriva dal fatto che è effettivamente possibile scegliere un insieme generatore minimale di operazioni di Pauli su qubit che commutano tutte fra loro, eppure nessun vettore non nullo è fissato da tutte le operazioni. Non siamo interessati a "codici" per cui non esistono codifiche valide, quindi escludiamo questa possibilità richiedendo questa condizione come parte della definizione.
Esempi
Ecco alcuni esempi di codici stabilizzatori per valori piccoli di Vedremo altri esempi, inclusi alcuni per cui può essere molto più grande, nella prossima lezione.
Codice a ripetizione a 3 bit
Il codice a ripetizione a 3 bit è un esempio di codice stabilizzatore, in cui i generatori dello stabilizzatore sono e
Possiamo verificare facilmente che questi due generatori soddisfano le condizioni richieste. Prima di tutto, i due generatori dello stabilizzatore e commutano fra loro.
In secondo luogo, abbiamo un insieme generatore minimale (abbastanza banalmente in questo caso).
E in terzo luogo, sappiamo già che e così come qualsiasi combinazione lineare di questi vettori, sono fissati sia da che da In alternativa, possiamo concluderlo usando la condizione equivalente dalla definizione.