Espaces de code et mots de code
Un code correcteur d'erreurs quantiques est souvent identifié avec l'espace de code (Nielsen & Chuang semblent certainement le faire). L' espace de code par exemple d'un code de correction d'erreur quantique à bits, est un sous-espace vectoriel .CnC⊆H⊗n2
Un mot de code (terminologie empruntée à la théorie classique de la correction d'erreur) est un état pour un certain espace de code: c'est-à-dire qu'il s'agit d'un état qui code pour certaines données.|ψ⟩∈C
Codes de correction d'erreur quantique
En pratique, nous exigeons que certaines propriétés non triviales contiennent un code de correction d'erreur quantique, telles que:
- C'est , de sorte qu'il y ait une quantité non nulle d'informations en cours de codage;dimC⩾2
- Qu'il existe un ensemble d'au moins deux opérateurs, y compris l'opérateur , tels que - si est le projecteur orthogonal sur - nous avons
pour certains scalaires (appelées conditions Knill – Laflamme ).E={E1,E2,…}E1=1PC
PEjEkP=αj,kP
αj,k
Cela détermine un ensemble d'opérateurs d'erreur contre lesquels vous pouvez en principe protéger un état , en ce sens que si les conditions Knill – Laflamme prévalent d'un ensemble d'opérateurs et d'un opérateur agit sur votre état, il est en principe possible de détecter le fait que s'est produit (par opposition à un autre opérateur dans ) et d'annuler l'erreur, sans perturber les données stockées dans l'état d'origine .|ψ⟩∈CEE∈EEE|ψ⟩
Un code de correction d'erreur quantique est un espace de code , avec un ensemble d'opérateurs d'erreur qui satisfont aux conditions de Knill – Laflamme - c'est-à-dire qu'un code de correction d'erreur quantique doit spécifier contre quelles erreurs il est censé se protéger. .CE
Pourquoi il est courant d'identifier les codes de correction d'erreurs quantiques avec leurs espaces de code
Vous ne pouvez pas déterminer un ensemble unique d'opérateurs qui satisfont aux conditions Knill – Laflamme à partir de l'espace-code seul. Cependant, il est plus courant de considérer quels opérateurs de faible poids (ceux qui n'agissent que sur un petit nombre de qubits) peuvent être corrigés simultanément par un code, et dans une certaine mesure cela peut être dérivé du seul espace de code. La distance de code d'un espace de code est le plus petit nombre de qubits sur lequel vous devez agir, pour transformer un "mot-code" en un mot de code distinct . Si nous décrivons alors un espace de code comme étant unECC|ψ⟩∈C|ψ′⟩∈C[[n,k,d]] , cela dit alors que a la dimension , et que l'ensemble que nous considérons est l'ensemble de tous les opérateurs Pauli avec un poids au plus .C⊆H⊗n22kE⌊(d−1)/2⌋
Dans certains cas, décrire un code comme un code Suffit. Par exemple, le code à 5 qubits est un code , Et il est possible de montrer que cinq qubits ne peuvent pas coder un seul qubit de telle manière que toute autre erreur puisse être corrigée en plus de toutes les erreurs de qubit unique. Cependant, il n'en va pas de même pour le code Steane , peut protéger contre toute erreur de Pauli à un seul qubit ainsi que certaines (mais pas toutes) les erreurs de Pauli à deux qubits. Quelles erreurs Pauli à deux qubits vous devriez[[n,k,d]][[5,1,3]][[7,1,3]]protéger contre dépend de votre modèle d'erreur; et si votre bruit est symétrique et distribué indépendamment, peu importe ce que vous choisissez (de sorte que vous ferez probablement le choix conventionnel de toute erreur unique avec toute erreur unique ). Il s'agit cependant d'un choix , qui vous guidera dans la manière de protéger vos données contre le bruit.XZ
Codes stabilisateurs
Un code stabilisateur est un code de correction d'erreur quantique déterminé par un ensemble de générateurs de stabilisateurs , qui sont des opérateurs Pauli qui commutent entre eux, et qui définissent un espace-code par l'intersection de leurs espaces +1. (Il est souvent utile de considérer le groupe de stabilisateurs formé par les produits de )SC GP∈S
Presque tous les codes de correction d'erreur quantique que les gens considèrent dans la pratique sont des codes stabilisateurs. C'est l'une des raisons pour lesquelles vous pouvez rencontrer des problèmes pour distinguer les deux termes. Cependant, nous n'exigeons pas qu'un code de correction d'erreur quantique soit un code stabilisateur - tout comme en principe nous n'exigeons pas qu'un code de correction d'erreur classique soit un code linéaire. Les codes de stabilisateur se trouvent être un moyen extrêmement efficace de décrire les codes de correction d'erreurs quantiques, tout comme les codes de correction d'erreurs linéaires sont un moyen extrêmement efficace de décrire les codes de correction d'erreurs classiques. Et en effet, les codes stabilisateurs peuvent être considérés comme une généralisation naturelle de la théorie des codes linéaires classiques à la correction d'erreur quantique.
Comme les gens sont souvent intéressés uniquement par les opérateurs de faible poids qui sont inférieurs à la moitié de la distance du code, l'ensemble des stabilisateurs est souvent tout ce que les gens disent d'un code de correction de stabilisateur. Cependant, pour spécifier l'ensemble d'erreurs contre lesquelles le code peut se protéger, il est également nécessaire de spécifier une relation entre les opérateurs de produits Pauli et les sous-ensembles , tels queEσES⊆S
- E anticommute avec si et seulement si pour ;P∈SP∈Sσ(E,S)
- Si satisfont tous deux et , alors .E,E′σ(E,S)σ(E′,S)EE′∈G=⟨S⟩
Cela définit un ensemble d'erreurs contre lesquelles le code peut protéger. Les sous-ensembles sont appelés syndromes d'erreur , et la relation que j'ai appelée ici (que vous ne voyez généralement pas sous un nom explicite) associe des syndromes à une ou plusieurs erreurs qui causent ce syndrome , et dont les effets sur le code sont équivalents.
E={E∣∣∃S⊆S:σ(E,S)}
S⊆Sσ
Les `` syndromes '' représentent des informations qui peuvent être réellement obtenues sur une erreur par une `` mesure cohérente '', c'est-à-dire en mesurant les opérateurs comme observables (un processus qui est généralement simulé par une estimation de valeur propre). Une erreur «provoque» un syndrome si, pour tout mot de code , l'état est dans l' espace de tous opérateurs , et dans l' -eigenspace de tous les autres opérateurs . (Cette propriété est directement liée à l'anticommutation de avec tous les éléments deP∈SES⊆S|ψ⟩∈CE|ψ⟩−1P∈S+1SES⊆S , et uniquement ces éléments.)