Spazi di codice e parole-codice
Un codice quantico di correzione dell'errore viene spesso identificato con lo spazio del codice (Nielsen e Chuang sembrano certamente farlo). Lo spazio del codice ad esempio un codice di correzione dell'errore quantico -qubit, è un sottospazio vettoriale .CnC⊆H⊗n2
Una parola in codice (terminologia che è stata presa in prestito dalla teoria classica della correzione degli errori) è uno stato per un po 'di spazio del codice: cioè, è uno stato che codifica alcuni dati.|ψ⟩∈C
Codici di correzione degli errori quantistici
In pratica, richiediamo alcune proprietà non banali per contenere un codice di correzione dell'errore quantico, come:
- Quella , in modo che vi sia una quantità diversa da zero di informazioni codificate;dimC⩾2
- Che ci sia un set di almeno due operatori incluso l'operatore , tale che - se è il proiettore ortogonale su - abbiamo
per alcuni scalari (noti come condizioni di Knill – Laflamme ).E={E1,E2,…}E1=1PC
PEjEkP=αj,kP
αj,k
Questo determina una serie di operatori di errore contro i quali in linea di principio è possibile proteggere uno stato , in quanto se le condizioni di Knill – Laflamme detengono un insieme di operatori e alcuni operatori agisce sul tuo stato, è possibile in linea di principio rilevare il fatto che è verificato (al contrario di qualche altro operatore in ) e annullare l'errore, senza interrompere i dati memorizzati nello stato originale .|ψ⟩∈CEE∈EEE|ψ⟩
Un codice di correzione dell'errore quantistico è uno spazio-codice , insieme a un insieme di operatori di errore che soddisfano le condizioni di Knill-Laflamme - ovvero, un codice di correzione di errore quantistico deve specificare da quali errori deve proteggere .CE
Perché è comune identificare codici quantici di correzione di errori con i loro spazi di codice
Non è possibile determinare un insieme unico degli operatori che soddisfano le condizioni Knill-LaFlamme dal codice-spazio solo. Tuttavia, è più comune considerare quali operatori a basso peso (quelli che agiscono solo su un piccolo numero di qubit) possono essere corretti simultaneamente in modo corretto da un codice, e in parte ciò può essere derivato dal solo spazio del codice. La distanza del codice di uno spazio di codice è il numero più piccolo di qubit su cui devi agire, per trasformare una "parola-codice" in una parola chiave distinta . Se poi descriviamo uno spazio di codice come aECC|ψ⟩∈C|ψ′⟩∈C[[n,k,d]] , questo indica che ha dimensione e che l'insieme che consideriamo è l'insieme di tutti gli operatori Pauli con peso al massimo .C⊆H⊗n22kE⌊(d−1)/2⌋
In alcuni casi, è sufficiente descrivere un codice come un codice . Ad esempio, il codice a 5 qubit è un codice è possibile mostrare che cinque qubit non possono codificare un singolo qubit in modo tale da correggere eventuali altri errori oltre a tutti gli errori a singolo qubit. Tuttavia, lo stesso non è vero per il codice , Che può proteggere da qualsiasi errore Pauli a qubit singolo nonché da alcuni (ma non tutti) errori Pauli a due qubit. Quali errori Pauli a due qubit dovresti[[n,k,d]][[5,1,3]][[7,1,3]]la protezione da dipende dal tuo modello di errore; e se il tuo rumore è simmetrico e distribuito in modo indipendente, non importa molto ciò che scegli (in modo che tu possa probabilmente fare la scelta convenzionale di un singolo errore insieme a un singolo errore ). È comunque una scelta , che guiderà il modo in cui proteggi i tuoi dati dal rumore.XZ
Codici stabilizzatori
Un codice stabilizzatore è un codice di correzione dell'errore quantistico determinato da un set di generatori di stabilizzatori , che sono operatori di Pauli che commutano tra loro e che definiscono uno spazio-codice dall'intersezione dei loro + 1-eigenspace. (È spesso utile considerare il gruppo stabilizzatore formato dai prodotti di )SC GP∈S
Quasi tutti i codici di correzione degli errori quantistici che le persone considerano in pratica sono codici stabilizzatori. Questo è uno dei motivi per cui potresti avere problemi a distinguere i due termini. Tuttavia, non richiediamo che un codice di correzione dell'errore quantistico sia un codice stabilizzatore, proprio come in linea di principio non richiediamo che un codice di correzione dell'errore classico sia un codice lineare. I codici stabilizzatori sono solo un modo estremamente efficace per descrivere i codici di correzione degli errori quantistici, così come i codici di correzione degli errori lineari sono un modo estremamente efficace per descrivere i codici di correzione degli errori classici. E in effetti, i codici stabilizzatori possono essere considerati una generalizzazione naturale della teoria dei codici lineari classici alla correzione dell'errore quantistico.
Poiché le persone sono spesso interessate solo agli operatori di peso ridotto che sono meno della metà della distanza del codice, l'insieme di stabilizzatori è spesso tutto ciò che la gente dice di un codice di correzione dello stabilizzatore. Tuttavia, per specificare la serie di errori contro la quale il codice può proteggere, è necessario anche specificare una relazione tra gli operatori del prodotto Pauli e i sottoinsiemi , tali cheEσES⊆S
- E anticommuta con se e solo se per ;P∈SP∈Sσ(E,S)
- Se soddisfano entrambi e , allora .E,E′σ(E,S)σ(E′,S)EE′∈G=⟨S⟩
Questo definisce un insieme di errori contro i quali il codice può proteggere. I sottoinsiemi sono chiamati sindromi di errore e la relazione che ho chiamato qui (che di solito non si vede con un nome esplicito) associa le sindromi a uno o più errori che "causano" quella sindrome e i cui effetti sul codice sono equivalenti.
E={E∣∣∃S⊆S:σ(E,S)}
S⊆Sσ
Le "sindromi" rappresentano informazioni che possono essere effettivamente ottenute su un errore mediante una "misurazione coerente", vale a dire misurando gli operatori come osservabili (un processo che di solito viene simulato mediante la stima degli autovalori). Un errore 'causa' una sindrome se, per qualsiasi parola-codice , lo stato trova nello spazio di di tutti operatori , e nella -eigenspace di tutti gli altri operatori . (Questa proprietà è direttamente correlata all'anticommutazione di con tutti gli elementi diP∈SES⊆S|ψ⟩∈CE|ψ⟩−1P∈S+1SES⊆S e solo quegli elementi.)