Code-Leerzeichen und Codewörter
Ein Quantenfehlerkorrekturcode wird oft mit dem Code-Raum identifiziert (Nielsen & Chuang scheinen dies sicherlich zu tun). Der Coderaum von beispielsweise einem n- Qubit-Quantenfehlerkorrekturcode ist ein Vektorsubraum C ≤ H ≤ n 2 .CnC⊆H⊗n2
Ein Codewort (Terminologie , die sich von der klassischen Theorie der Fehlerkorrektur entlehnt wurde) ist ein Zustand für einige Code-Raum , das heißt, es ist ein Zustand, der einige Daten kodiert.|ψ⟩∈C
Quantum Error Correction Codes
In der Praxis fordern wir einige nicht-triviale Eigenschaften, um einen Quantenfehlerkorrekturcode zu enthalten, wie zum Beispiel:
- Das , so dass eine Informationsmenge ungleich Null codiert wird;dimC⩾2
- Dass es eine Menge von mindestens zwei Operatoren gibt, einschließlich des Operators E 1 = 1 , so dass wir - wenn P der orthogonale Projektor auf C ist - P E j E k P = haben α j , k P
für einige Skalare α j , k (bekannt als Knill-Laflamme-Bedingungen ).E={E1,E2,…}E1=1PC
PEjEkP=αj,kP
αj,k
Dies bestimmt eine Menge von Fehlern Operatoren , gegen die man im Prinzip einen Zustand schützen , daß , wenn die Knill-Laflamme Bedingungen eine Menge von Operatoren halten E , und einige Betreiber E ∈ E auf Ihrem Zustand wirkt, ist es prinzipiell möglich , die Tatsache zu erkennen , dass E (im Gegensatz zu einigen aufgetreten ist anderer Operator in E ) und undo die Fehler, ohne die Daten in dem ursprünglichen Zustand gespeichert zu stören | & psgr; ⟩ .|ψ⟩∈CEE∈EEE|ψ⟩
Ein Quantenfehlerkorrekturcode ist ein Code-Raum , zusammen mit einem Satz von Fehlern Operatoren E , die die Knill-Laflamme Bedingungen erfüllen - das heißt, ein Quantenfehlerkorrekturcode muß es bestimmen , welche Fehler gemeint ist gegen zu schützen.CE
Warum ist es üblich, Quantenfehlerkorrekturcodes mit ihren Code-Räumen zu identifizieren
Sie können eine eindeutige Menge von Operatoren, die die Knill-Laflamme-Bedingungen erfüllen, nicht allein aus dem Code-Raum C bestimmen . Am häufigsten wird jedoch überlegt, welche Operatoren mit niedrigem Gewicht (diejenigen, die nur auf eine geringe Anzahl von Qubits einwirken) gleichzeitig durch einen Code korrigiert werden können, und in einem gewissen Ausmaß kann dies allein aus dem Code-Raum abgeleitet werden. Die Codedistanz eines Coderaums C ist die kleinste Anzahl von Qubits, auf die Sie einwirken müssen, um ein "Codewort" | zu transformieren & psgr; ⟩ & egr ; C in ein eindeutiges Codewort | ψ ′ ⟩ ∈ CECC| & psgr; ⟩ ∈ C| ψ′⟩ ∈ C. Wenn wir dann einen Code-Raum als Code besagt dies dann, dass C ⊆ H ⊗ n 2 die Dimension 2 k hat und dass die Menge E , die wir betrachten, die Menge aller Pauli-Operatoren mit einem Gewicht von höchstens ⌊ ( d - 1 ) / 2 ⌋ ist .[[ n , k , d]]C⊆ H⊗ n22kE⌊ ( d- 1) / 2⌋
In einigen Fällen wird ein Code als Code ist genug. Beispielsweise ist der 5-Qubit-Code ein [[[ n , k , d]] , und es kann gezeigt werden, dass fünf Qubits ein einzelnes Qubit nicht so codierenkönnen, dass zusätzlich zu allen Einzel-Qubit-Fehlern auchandere Fehlerkorrigiert werden können. Gleiches gilt jedoch nicht für die Steane [[[ 5 , 1 , 3 ]] Code, der sowohl gegen Single-Qubit-Pauli-Fehler als auch gegeneinige(aber nicht alle) Two-Qubit-Pauli-Fehlerschützenkann. Welche Zwei-Qubit-Pauli-Fehler Sieschützensollten, hängt von Ihrem Fehlermodell ab. und wenn Ihr Rauschen symmetrisch und unabhängig verteilt ist, spielt es keine Rolle, was Sie wählen (so dass Sie wahrscheinlich die konventionelle Wahl eines einzelnen X- Fehlers zusammen mit einem einzelnen Z- Fehlertreffen). Es ist jedoch eineWahl, die bestimmt, wie Sie Ihre Daten vor Lärm schützen.[[ 7 , 1 , 3 ]]XZ
Stabilisatorcodes
Ein Stabilisatorcode ist ein Quantenfehlerkorrekturcode, der durch eine Menge von Stabilisatorgeneratoren bestimmt wird , bei denen es sich um miteinander kommutierende Pauli-Operatoren handelt, und die einen Coderaum C durch den Schnittpunkt ihrer + 1-Eigenräume definieren. (Es ist oft nützlich, die Stabilisatorgruppe G zu betrachten, die durch Produkte von P ∈ S gebildet wird .)SC GP∈ S
Fast alle Quantenfehlerkorrekturcodes, die in der Praxis von Menschen in Betracht gezogen werden, sind Stabilisatorcodes. Dies ist einer der Gründe, warum Sie möglicherweise Probleme haben, die beiden Begriffe voneinander zu unterscheiden. Wir fordern jedoch nicht, dass ein Quantenfehlerkorrekturcode ein Stabilisatorcode ist - so wie wir im Prinzip keinen klassischen Fehlerkorrekturcode benötigen, um ein linearer Code zu sein. Stabilisatorcodes sind eine äußerst erfolgreiche Methode zur Beschreibung von Quantenfehlerkorrekturcodes, ebenso wie lineare Fehlerkorrekturcodes eine äußerst erfolgreiche Methode zur Beschreibung klassischer Fehlerkorrekturcodes sind. Tatsächlich können Stabilisatorcodes als natürliche Verallgemeinerung der Theorie der klassischen linearen Codes zur Quantenfehlerkorrektur angesehen werden.
Da die Leute oft nur an Bedienern mit geringem Gewicht interessiert sind, die weniger als die Hälfte des Codeabstands haben, ist der Satz von Stabilisatoren oft alles, was Leute über einen Stabilisatorkorrekturcode sagen. Um jedoch die Menge von Fehlern anzugeben, gegen die der Code schützen kann, ist es auch erforderlich, eine Beziehung & sgr; zwischen Pauli-Produktoperatoren E und Teilmengen S ⊆ S anzugeben , so dassEσES⊆S
- pendelt genau dannmit P ∈ S, wenn P ∈ S für σ ( E , S ) ist ;EP∈SP∈Sσ(E,S)
- Wenn erfüllen beide σ ( E , S ) und σ ( E ' , S ) , dann E E ' ∈ G = ⟨ S ⟩ .E,E′σ(E,S)σ(E′,S)EE′∈G=⟨S⟩
Dies definiert eine Menge von Fehlern, vor denen der Code schützen kann. Die Teilmengen S ⊆ S heißen Fehlersyndrome , und die Beziehung, die ich hier σ genannt habe (die Sie normalerweise nicht mit einem expliziten Namen sehen), assoziiert Syndrome mit einem oder mehreren Fehlern, die dieses Syndrom "verursachen" und deren Auswirkungen auf dem Code sind gleichwertig.
E={E∣∣∃S⊆S:σ(E,S)}
S⊆Sσ
"Syndrome" stellen Informationen dar, die tatsächlich durch "kohärente Messung" über einen Fehler erhalten werden können, dh durch Messen von Operatoren als Observablen (ein Prozess, der normalerweise durch Eigenwertschätzung simuliert wird). Ein Fehler E 'verursacht' ein Syndrom S ⊆ S, wenn für irgendein Codewort | & psgr; ⟩ & egr ; C , der Zustand E | & psgr; ⟩ ist in dem - 1 Eigenraum aller Operatoren P ∈ S und in der + 1 -eigenspace aller anderen Betreiber in SP∈SES⊆S|ψ⟩∈CE|ψ⟩−1P∈S+1S. (Diese Eigenschaft steht in direktem Zusammenhang mit der Antikommutation von mit allen Elementen von S ⊆ S und nur diesen Elementen.) ES⊆S