Was ist der Unterschied zwischen "Code Space", "Code Word" und "Stabilizer Code"?

12

Ich lese ständig die folgenden drei Phasen (z. B. Nielsen und Chuang, 2010; S. 456 und 465); "Code Space", "Codewort" und "Stabilisatorcode" - aber es fällt mir schwer, Definitionen von ihnen zu finden, und was noch wichtiger ist, wie sie sich voneinander unterscheiden.

Meine Frage lautet daher: Wie sind diese drei Begriffe definiert und wie hängen sie zusammen?

Quantenspaghettifizierung
quelle

Antworten:

11

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 CH n 2 .CnCH2n

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;dimC2
  • 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; .|ψCEEEEE|ψ

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|ψC|ψC. Wenn wir dann einen Code-Raum als Code besagt dies dann, dass CH 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]]CH2n2kE(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 GPS

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σESS

  • pendelt genau dannmit P S, wenn P S für σ ( E , S ) ist ;EPSPSσ(E,S)
  • Wenn erfüllen beide σ ( E , S ) und σ ( E ' , S ) , dann E E 'G = S .E,Eσ(E,S)σ(E,S)EEG=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|SS:σ(E,S)}
SSσ

"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 SPSESS|ψCE|ψ1PS+1S. (Diese Eigenschaft steht in direktem Zusammenhang mit der Antikommutation von mit allen Elementen von S S und nur diesen Elementen.) ESS

Niel de Beaudrap
quelle
In Ihrem zweiten Absatz sagen Sie, dass ein Codewort ein Zustand in dh ein Zustand, der einige Daten codiert. Sagen Sie, was die anderen Antworten zu sagen scheinen - dh die Codewörter sind die Zustände, mit denen wir beispielsweise logische | verknüpfen 0 und | 1 . Oder dass allgemeiner jeder Zustand in C Codewörter genannt werden? C|0|1C
Quantum Spaghettification
2
Die Terminologie kann etwas variieren. Zum Beispiel lesen Sie Gottesmans These, und er spricht von einem Codewort, das ein beliebiger gültiger Zustand im Coderaum ist, und er unterscheidet "Basis-Codewörter" als logische 0 und 1.
DaftWullie
1
@QuantumSpaghettification: wie DaftWullie schon sagt, meine ich jeden Zustand in . Es ist sehr oft ein Fehler, sich zu sehr mit der Standardbasis zu beschäftigen. In der Vergangenheit war es am einfachsten, einen QECC in Bezug auf die Spanne zweier bestimmter Zustände zu beschreiben und die Korrektureigenschaften in Bezug auf diese beiden Zustände zu beschreiben. Die Theorie der Stabilisatorcodes macht diese Art der Beschreibung überflüssig und ermöglicht es Ihnen, flexibel mit dem logischen Referenzrahmen umzugehen. Daher ist es jetzt besser, die Definition von Dingen so zu vermeiden, dass die Standardbasis betont wird. C
Niel de Beaudrap
@NieldeBeaudrap Tut mir leid, dass ich über einen Monat später auf diesen Beitrag zurückkommen kann. Bin ich richtig zu sagen, dass die Abbildung Eins-zu-Viele sein kann, wenn die Auswirkung des Fehlers auf die "Basiscodewörter" entartet ist. Ich denke, die Phase wechselt Shors Code. μ
Quantenspaghettifizierung
@QuantumSpaghettification: Wie ich es hier beschrieben habe, wäre es tatsächlich notwendig, als vielwertigen Wert für die Menge E zu verwenden, um die von mir beschriebene Arbeit für einen entarteten Code auszuführen - was nicht genau der Fall ist Ich hatte vor. Ich werde meine Antwort in Kürze überarbeiten. μE
Niel de Beaudrap
5

Ein Codewort (für einen Quantencode) ist ein Quantenzustand, der typischerweise einem Zustand in der logischen Basis zugeordnet ist. Also, du wirst einige Zustand haben Das entspricht dem Zustand 0 des Qubits codiert werden (Sie müssen Qubits nicht verwenden, aber sie sind wahrscheinlich), und Sie werden ein anderes haben , dass die | ψ 1 Das entspricht den 1 - Zustand der Qubit - codiert werden.|ψ0|ψ1

Der Coderaum ist der von den Codewörtern aufgespannte Raum, dh der gesamte Raum für alle möglichen α und β (normalisiert).α|ψ0+β|ψ1αβ

Ein Stabilisatorcode ist ein möglicher Formalismus, mit dem Sie lernen, wie Sie die Codewörter und damit den Code-Raum herausarbeiten. Für einen [[n, k, d]] Code erhalten Sie nk Stabilisatoroperatoren ( S 2 = I ), die sich gegenseitig austauschen und auf n Qubits einwirken. Jeder Staat | & psgr; im Coderaum erfüllt S | & psgr; = | & psgr; . Sie haben weiterhin Operatoren Z m und X m für m = 1 , k , die alle mit den Stabilisatoren S pendelnSS2=I|ψS|ψ=|ψZmXmm=1,kSaber paarweise anticommute, , für übereinstimmende Indizes. Diese definieren die logischen Pauli-Operatoren für den Code, und die Codewörter sind daher die Zustände, die Z m | erfüllen & psgr; = & plusmn ; | & psgr; .{Zm,Xm}=0Zm|ψ=±|ψ

DaftWullie
quelle
5

kn

|0

Der Coderaum ist der Hilbert-Raum, der von allen möglichen Codewörtern überspannt wird. Für einen Stabilisatorcode ist dieser Begriff gleichbedeutend mit dem Stabilisatorraum. Jeder Zustand innerhalb dieses Codebereichs ist ein Codewort

+1nk

James Wootton
quelle