Il codice a ripetizione rivisitato
Ora esamineremo nuovamente il codice a ripetizione a 3 bit, questa volta formulandolo in termini di operazioni di Pauli. Questo sarà il nostro primo esempio di codice stabilizzatore.
Osservabili di Pauli per il codice a ripetizione​
Ricorda che, quando applichiamo il codice a ripetizione a 3 bit ai qubit, un dato vettore di stato di qubit viene codificato come
Qualsiasi stato di questa forma è una codifica valida a 3 qubit di uno stato di qubit — ma se avessimo uno stato di cui non fossimo sicuri, potremmo verificare di avere una codifica valida controllando le due equazioni seguenti.
La prima equazione afferma che applicare operazioni ai due qubit più a sinistra di non produce alcun effetto, il che significa che è un autovettore di con autovalore La seconda equazione è analoga, ma le operazioni sono applicate ai due qubit più a destra. L'idea è che, se pensiamo a come combinazione lineare di stati della base standard, la prima equazione implica che possono avere coefficienti non nulli solo gli stati della base standard per cui i due bit più a sinistra hanno parità pari (o, equivalentemente, sono uguali), mentre la seconda equazione implica che possono avere coefficienti non nulli solo quelli per cui i due bit più a destra hanno parità pari.
In modo equivalente, se consideriamo le due operazioni di Pauli e come osservabili e le misuriamo entrambe usando i circuiti suggeriti alla fine della sezione precedente, avremmo la certezza di ottenere esiti di misura corrispondenti agli autovalori , poiché è autovettore di entrambi gli osservabili con autovalore Tuttavia, la versione semplificata del circuito (combinato) per misurare indipendentemente entrambi gli osservabili, mostrata qui, non è altro che il circuito di controllo della parità per il codice a ripetizione a 3 bit.
Le due equazioni sopra implicano quindi che il circuito di controllo della parità restituisce che è la sindrome che indica l'assenza di errori rilevati.
Le operazioni di Pauli a 3 qubit e sono chiamate generatori stabilizzatori per questo codice, e lo stabilizzatore del codice è l'insieme generato dai generatori stabilizzatori.
Lo stabilizzatore è un oggetto matematico fondamentalmente importante associato a questo codice, e il ruolo che svolge verrà discusso nel prosieguo della lezione. Per ora, osserviamo che avremmo potuto fare una scelta diversa per i generatori e i controlli di parità corrispondenti, in particolare prendendo al posto di uno dei generatori che abbiamo selezionato, ma lo stabilizzatore e il codice stesso sarebbero rimasti invariati.
Rilevamento degli errori​
Ora considereremo il rilevamento dei bit-flip per il codice a ripetizione a 3 bit, concentrandoci sulle interazioni e le relazioni tra le operazioni di Pauli coinvolte: i generatori stabilizzatori e gli errori stessi.
Supponiamo di aver codificato un qubit usando il codice a ripetizione a 3 bit e che si verifichi un errore di bit-flip sul qubit più a sinistra. Questo trasforma lo stato secondo l'azione di un'operazione (o errore ).
Questo errore può essere rilevato eseguendo i controlli di parità per il codice a ripetizione a 3 bit, come discusso nella lezione precedente, il che equivale a misurare in modo non distruttivo i generatori stabilizzatori e come osservabili.
Iniziamo con il primo generatore stabilizzatore. Lo stato è stato colpito da un errore sul qubit più a sinistra, e il nostro obiettivo è capire come la misura di questo generatore stabilizzatore, come osservabile, venga influenzata da questo errore. Poiché e anti-commutano, mentre qualsiasi matrice commuta con la matrice identità , ne consegue che anti-commuta con D'altro canto, poiché è una codifica valida di un qubit, agisce banalmente su
Pertanto, è un autovettore di con autovalore Quando la misura associata all'osservabile viene eseguita sullo stato l'esito è quindi certo essere quello associato all'autovalore
Un ragionamento analogo può essere applicato al secondo generatore stabilizzatore, ma in questo caso l'errore commuta con il generatore stabilizzatore invece di anti-commutare, quindi l'esito di questa misura è quello associato all'autovalore
Quello che scopriamo considerando queste equazioni è che, indipendentemente dallo stato originale lo stato corrotto è un autovettore di entrambi i generatori stabilizzatori, e se l'autovalore è o è determinato dal fatto che l'errore commuti o anti-commuti con ciascun generatore stabilizzatore. Per errori rappresentati da operazioni di Pauli, sarà sempre l'uno o l'altro, poiché due operazioni di Pauli qualsiasi o commutano o anti-commutano. D'altro canto, lo stato effettivo non svolge un ruolo importante, eccetto per il fatto che i generatori stabilizzatori agiscono banalmente su questo stato.
Per questo motivo, in generale non è necessario preoccuparsi dello specifico stato codificato con cui stiamo lavorando. Ciò che conta è se l'errore commuta o anti-commuta con ciascun generatore stabilizzatore. In particolare, queste sono le equazioni rilevanti riguardo a questo particolare errore per questo codice.
Ecco una tabella con una riga per ogni generatore stabilizzatore e una colonna per ogni errore. La voce nella tabella è o a seconda che l'errore e il generatore stabilizzatore commutino o anti-commutino. La tabella include solo le colonne per gli errori corrispondenti a un singolo bit-flip, nonché nessun errore, descritto dall'identità tensorializzata con se stessa tre volte. Potremmo aggiungere altre colonne per altri errori, ma per ora ci concentreremo solo su questi errori.
Per ogni errore nella tabella, la colonna corrispondente rivela come quell'errore trasforma qualsiasi codifica in un autovettore o di ciascun generatore stabilizzatore. In modo equivalente, le colonne descrivono la sindrome che otterremmo dai controlli di parità , equivalenti a misure non distruttive dei generatori stabilizzatori come osservabili. Naturalmente, la tabella ha voci e piuttosto che e — ed è comune pensare a una sindrome come a una stringa binaria piuttosto che a una colonna di voci e — ma possiamo ugualmente pensare a questi vettori con voci e come sindromi per collegarli direttamente agli autovalori dei generatori stabilizzatori. In generale, le sindromi ci dicono qualcosa su qualsiasi errore si sia verificato, e se sappiamo che si è verificato uno dei quattro possibili errori elencati nella tabella, la sindrome indica qual è.
Sindromi​
Le codifiche per il codice a ripetizione a 3 bit sono stati a 3 qubit, quindi sono vettori unitari in uno spazio vettoriale complesso a 8 dimensioni. Le quattro possibili sindromi dividono efficacemente questo spazio a 8 dimensioni in quattro sottospazi a 2 dimensioni, dove i vettori di stato quantistici in ciascun sottospazio producono sempre la stessa sindrome. Il diagramma seguente illustra in modo specifico come lo spazio a 8 dimensioni viene suddiviso dai due generatori stabilizzatori.
Ogni generatore stabilizzatore divide lo spazio in due sottospazi di uguale dimensione, cioè lo spazio degli autovettori e lo spazio degli autovettori per quell'osservabile. Ad esempio, gli autovettori di sono combinazioni lineari di stati della base standard per cui i due bit più a sinistra hanno parità pari, e gli autovettori sono combinazioni lineari di stati della base standard per cui i due bit più a sinistra hanno parità dispari. La situazione è analoga per l'altro generatore stabilizzatore, eccetto che per quest'ultimo si tratta dei due bit più a destra anziché di quelli più a sinistra.
I quattro sottospazi a 2 dimensioni corrispondenti alle quattro possibili sindromi sono facili da descrivere in questo caso, grazie al fatto che questo è un codice molto semplice. In particolare, il sottospazio corrispondente alla sindrome è lo spazio generato da e , che è lo spazio delle codifiche valide (noto anche come spazio del codice), e in generale gli spazi sono generati dalla base standard mostrata nei quadrati corrispondenti.
Le sindromi partizionano anche tutte le operazioni di Pauli a 3 qubit in 4 insiemi di uguale dimensione, a seconda della sindrome che quell'operazione (come errore) causerebbe. Ad esempio, qualsiasi operazione di Pauli che commuta con entrambi i generatori stabilizzatori produce la sindrome e tra le 64 possibili operazioni di Pauli a 3 qubit, ce ne sono esattamente 16 in questa categoria (tra cui e per esempio), e lo stesso vale per le altre 3 sindromi.
Entrambe queste proprietà — che le sindromi partizionano sia lo spazio degli stati in cui vivono le codifiche sia tutte le operazioni di Pauli su questo spazio in insiemi di uguale dimensione — sono vere in generale per i codici stabilizzatori, che definiremo con precisione nella prossima sezione.
Sebbene sia principalmente un'osservazione marginale a questo punto, vale la pena menzionare che le operazioni di Pauli che commutano con entrambi i generatori stabilizzatori, o equivalentemente le operazioni di Pauli che producono la sindrome ma non sono esse stesse proporzionali a elementi dello stabilizzatore, si comportano esattamente come operazioni di Pauli a singolo qubit sul qubit codificato (cioè il qubit logico) per questo codice. Ad esempio, commuta con entrambi i generatori stabilizzatori, ma non è proporzionale a nessun elemento dello stabilizzatore, e in effetti l'effetto di questa operazione su una codifica equivale a un gate sul qubit logico che viene codificato.
Anche questo è un fenomeno che si generalizza a tutti i codici stabilizzatori.