Discretizzazione degli errori
Finora abbiamo considerato gli errori e nel contesto del codice di Shor a 9 qubit; in questa sezione esamineremo gli errori arbitrari. Scopriremo che, per gestire tali errori, non occorre fare nulla di diverso da quello che abbiamo già discusso: la capacità di correggere errori , errori , o entrambi, implica la capacità di correggere errori arbitrari. Questo fenomeno è talvolta chiamato discretizzazione degli errori.
Errori unitari su un qubit​
Cominciamo con gli errori unitari su un singolo qubit. Per esempio, un tale errore potrebbe corrispondere a una piccola rotazione della sfera di Bloch, che rappresenta magari l'errore introdotto da un gate non perfetto. Oppure potrebbe essere qualsiasi altra operazione unitaria su un qubit, non necessariamente vicina all'identità .
Potrebbe sembrare difficile correggere questo tipo di errori. Dopotutto, le possibilità sono infinite, ed è inconcepibile riuscire a identificare ogni errore esattamente e poi annullarlo. Tuttavia, fintanto che siamo in grado di correggere un bit-flip, un phase-flip, o entrambi, riusciremo a correggere un errore unitario arbitrario su un singolo qubit usando le procedure descritte in precedenza nella lezione.
Per capire perché, osserviamo innanzitutto che qualsiasi matrice unitaria che rappresenta un errore su un singolo qubit, può essere espressa come combinazione lineare delle quattro matrici di Pauli (inclusa la matrice identità ).
Come vedremo, quando vengono eseguiti i circuiti di rilevamento degli errori, le misurazioni che forniscono i bit della sindrome collassano effettivamente lo stato della codifica in modo probabilistico verso uno stato in cui si è verificato un errore (o l'assenza di errore) descritto da una delle quattro matrici di Pauli. (Dal fatto che è unitaria segue che i numeri e devono soddisfare e in effetti i valori e sono le probabilità con cui lo stato codificato collassa verso uno stato in cui si è verificato il corrispondente errore di Pauli.)
Per spiegare il funzionamento in maggiore dettaglio, è conveniente usare pedici per indicare su quale qubit agisce una data operazione unitaria. Per esempio, usando la convenzione di numerazione dei qubit di Qiskit per i 9 qubit del codice di Shor, abbiamo le seguenti espressioni per varie operazioni unitarie su singoli qubit, dove in ciascun caso si esegue il prodotto tensoriale della matrice unitaria con la matrice identità su tutti gli altri qubit.
In particolare, per una data operazione unitaria su un qubit possiamo specificare l'azione di applicata al qubit con la formula seguente, simile alla precedente ma in cui ogni matrice rappresenta un'operazione applicata al qubit
Supponiamo ora che sia la codifica a 9 qubit di uno stato di qubit. Se l'errore si verifica sul qubit otteniamo lo stato che può essere espresso come combinazione lineare di operazioni di Pauli applicate a nel modo seguente.
A questo punto effettuiamo la sostituzione
Consideriamo ora i passi di rilevamento e correzione degli errori descritti in precedenza. Possiamo pensare ai risultati delle misurazioni dei tre controlli di parità del codice interno insieme a quello del codice esterno come a una singola sindrome composta da 8 bit. Subito prima delle misurazioni effettive nella base standard che producono questi bit di sindrome, lo stato ha la forma seguente.
Per essere precisi, a questo punto abbiamo due sistemi. Il sistema a sinistra è formato dagli 8 qubit che misureremo per ottenere la sindrome, dove e così via, indicano qualsiasi stato della base standard a 8 qubit coerente con il corrispondente errore (o assenza di errore). Il sistema a destra è composto dai 9 qubit utilizzati per la codifica.
Si noti che questi due sistemi sono ora correlati (in generale), e questo è il motivo fondamentale per cui il meccanismo funziona. Misurando la sindrome, lo stato dei 9 qubit a destra collassa effettivamente verso uno stato in cui è stato applicato a uno dei qubit un errore di Pauli coerente con la sindrome misurata. Inoltre, la sindrome stessa fornisce informazioni sufficienti per annullare l'errore e recuperare la codifica originale
In particolare, se i qubit della sindrome vengono misurati e vengono apportate le opportune correzioni, otteniamo uno stato esprimibile come matrice densità ,
dove
La cosa fondamentale è che si tratta di uno stato prodotto: abbiamo la nostra codifica originale non corrotta come fattore tensoriale di destra, mentre a sinistra abbiamo una matrice densità che descrive una sindrome di errore casuale. Non esiste più alcuna correlazione con il sistema a destra, che è quello di nostro interesse, perché gli errori sono stati corretti. A questo punto possiamo scartare i qubit della sindrome oppure reimpostarli per riutilizzarli. Questo è il modo in cui la casualità — ovvero l'entropia — prodotta dagli errori viene rimossa dal sistema.
Questa è la discretizzazione degli errori per il caso speciale degli errori unitari. In sostanza, misurando la sindrome, proiettiamo effettivamente l'errore su un errore descritto da una matrice di Pauli.
A prima vista potrebbe sembrare troppo bello per essere vero poter correggere errori unitari arbitrari in questo modo, persino errori minuscoli e quasi impercettibili di per sé. Ma ciò che è importante capire è che si tratta di un errore unitario su un singolo qubit, e per la struttura del codice un'operazione su un singolo qubit non può modificare lo stato del qubit logico codificato. Tutto ciò che può fare è spostare lo stato fuori dal sottospazio delle codifiche valide, ma poi i rilevamenti degli errori collassano lo stato e le correzioni lo riportano al punto di partenza.
Errori arbitrari su un qubit​
Infine, consideriamo errori arbitrari che non sono necessariamente unitari. Per essere precisi, considereremo un errore descritto da un canale quantistico arbitrario su un qubit. Per esempio, potrebbe trattarsi di un canale di dephasing o depolarizzante, di un canale di reset, oppure di un canale strano che non abbiamo mai preso in considerazione prima.
Il primo passo consiste nel considerare una qualsiasi rappresentazione di Kraus di
Si tratta di un canale su un qubit, quindi ogni è una matrice che possiamo esprimere come combinazione lineare di matrici di Pauli.
Questo ci permette di esprimere l'azione dell'errore su un qubit scelto in termini di matrici di Pauli come segue.
In breve, abbiamo semplicemente espanso tutte le nostre matrici di Kraus come combinazioni lineari di matrici di Pauli.
Se ora calcoliamo e misuriamo la sindrome degli errori, e correggiamo gli eventuali errori rilevati, otterremo uno stato simile a quello del caso unitario:
dove questa volta abbiamo