Wiederholungscode – erneut betrachtet
Als nächstes werfen wir einen zweiten Blick auf den 3-Bit-Wiederholungscode, diesmal in Termen von Pauli-Operationen. Das wird unser erstes Beispiel für einen Stabilisator-Code sein.
Pauli-Observablen für den Wiederholungscode
Erinnern wir uns: Wenn wir den 3-Bit-Wiederholungscode auf Qubits anwenden, wird ein gegebener Qubit-Zustandsvektor kodiert als
Jeder Zustand dieser Form ist eine gültige 3-Qubit-Kodierung eines Qubit-Zustands – aber wenn wir einen Zustand hätten, über den wir nicht sicher sind, könnten wir überprüfen, ob wir eine gültige Kodierung haben, indem wir die folgenden zwei Gleichungen prüfen.
Die erste Gleichung besagt, dass das Anwenden von -Operationen auf die zwei linksten Qubits von keinen Effekt hat – das heißt, ist ein Eigenvektor von mit Eigenwert . Die zweite Gleichung ist ähnlich, außer dass -Operationen auf die zwei rechtesten Qubits angewendet werden. Die Idee ist: Wenn wir als Linearkombination von Standardbasiszuständen betrachten, impliziert die erste Gleichung, dass wir nur von Null verschiedene Koeffizienten für Standardbasiszustände haben können, bei denen die zwei linksten Bits eine gerade Parität haben (oder äquivalent gleich sind), und die zweite Gleichung impliziert, dass wir nur von Null verschiedene Koeffizienten für Standardbasiszustände haben können, bei denen die zwei rechtesten Bits eine gerade Parität haben.
Wenn wir die zwei Pauli-Operationen und als Observablen betrachten und beide mithilfe der am Ende des vorherigen Abschnitts vorgeschlagenen Schaltkreise messen, wären wir sicher, Messergebnisse entsprechend -Eigenwerten zu erhalten, da ein Eigenvektor beider Observablen mit Eigenwert ist. Aber der vereinfachte (kombinierte) Schaltkreis zur unabhängigen Messung beider Observablen, der hier gezeigt wird, ist nichts anderes als der Paritätsprüfungsschaltkreis für den 3-Bit-Wiederholungscode.
Die zwei obigen Gleichungen implizieren daher, dass der Paritätsprüfungsschaltkreis ausgibt – das Syndrom, das anzeigt, dass keine Fehler erkannt wurden.
Die 3-Qubit-Pauli-Operationen und werden als Stabilisatorgeneratoren für diesen Code bezeichnet, und der Stabilisator des Codes ist die von den Stabilisatorgeneratoren erzeugte Menge.
Der Stabilisator ist ein grundlegendes mathematisches Objekt, das mit diesem Code verbunden ist, und seine Rolle wird im Laufe der Lektion diskutiert. Vorerst stellen wir fest, dass wir auch eine andere Wahl für die Generatoren und entsprechenden Paritätsprüfungen hätten treffen können – konkret durch Wahl von anstelle eines der gewählten Generatoren –, aber der Stabilisator und der Code selbst wären dadurch unverändert geblieben.
Fehlererkennung
Als nächstes betrachten wir die Bit-Flip-Erkennung für den 3-Bit-Wiederholungscode, mit Fokus auf die Wechselwirkungen und Beziehungen zwischen den beteiligten Pauli-Operationen: den Stabilisatorgeneratoren und den Fehlern selbst.
Nehmen wir an, wir haben ein Qubit mit dem 3-Bit-Wiederholungscode kodiert, und auf dem linksten Qubit tritt ein Bit-Flip-Fehler auf. Dies bewirkt, dass der Zustand gemäß der Wirkung einer -Operation (oder -Fehlers) transformiert wird.
Dieser Fehler kann durch Durchführen der Paritätsprüfungen des 3-Bit-Wiederholungscodes erkannt werden, wie in der vorherigen Lektion besprochen – was dem zerstörungsfreien Messen der Stabilisatorgeneratoren und als Observablen entspricht.
Beginnen wir mit dem ersten Stabilisatorgenerator. Der Zustand wurde durch einen -Fehler auf dem linksten Qubit beeinflusst, und unser Ziel ist es zu verstehen, wie die Messung dieses Stabilisatorgenerators als Observable durch diesen Fehler beeinflusst wird. Da und antikommutieren, während jede Matrix mit der Identitätsmatrix kommutiert, antikommutiert mit . Gleichzeitig wirkt trivial auf , da eine gültige Kodierung eines Qubits ist.
Daher ist ein Eigenvektor von mit Eigenwert . Wenn die mit der Observablen verbundene Messung auf dem Zustand durchgeführt wird, ist das Ergebnis daher mit Sicherheit das mit dem Eigenwert verbundene.
Ähnliche Überlegungen können auf den zweiten Stabilisatorgenerator angewendet werden, aber diesmal kommutiert der Fehler mit dem Stabilisatorgenerator statt antikommutiert, sodass das Ergebnis dieser Messung das mit dem Eigenwert verbundene ist.
Was wir beim Betrachten dieser Gleichungen feststellen: Unabhängig von unserem ursprünglichen Zustand ist der verfälschte Zustand ein Eigenvektor beider Stabilisatorgeneratoren, wobei der Eigenwert oder davon abhängt, ob der Fehler mit jedem Stabilisatorgenerator kommutiert oder antikommutiert. Bei Fehlern, die durch Pauli-Operationen dargestellt werden, wird es immer eines oder das andere sein, da je zwei Pauli-Operationen entweder kommutieren oder antikommutieren. Der tatsächliche Zustand spielt dabei keine wichtige Rolle, außer dass die Stabilisatorgeneratoren auf diesem Zustand trivial wirken.
Aus diesem Grund brauchen wir uns im Allgemeinen nicht mit dem spezifischen kodierten Zustand zu befassen, mit dem wir arbeiten. Alles, was zählt, ist ob der Fehler mit jedem Stabilisatorgenerator kommutiert oder antikommutiert. Insbesondere sind dies die relevanten Gleichungen bezüglich dieses bestimmten Fehlers für diesen Code.
Hier ist eine Tabelle mit einer Zeile für jeden Stabilisatorgenerator und einer Spalte für jeden Fehler. Der Eintrag in der Tabelle ist entweder oder , je nachdem ob Fehler und Stabilisatorgenerator kommutieren oder antikommutieren. Die Tabelle enthält nur Spalten für die Fehler, die einem einzelnen Bit-Flip entsprechen, sowie für keinen Fehler, der durch die Identität, tensoriert mit sich selbst dreimal, beschrieben wird. Wir könnten weitere Spalten für andere Fehler hinzufügen, aber vorerst konzentrieren wir uns nur auf diese Fehler.
Für jeden Fehler in der Tabelle zeigt die entsprechende Spalte, wie dieser Fehler jede gegebene Kodierung in einen - oder -Eigenvektor jedes Stabilisatorgenerators transformiert. Gleichwertig beschreiben die Spalten das Syndrom, das wir von den Paritätsprüfungen erhalten würden, die den zerstörungsfreien Messungen der Stabilisatorgeneratoren als Observablen entsprechen. Natürlich hat die Tabelle - und -Einträge statt - und -Einträge – und es ist üblich, ein Syndrom als Binärstring statt als Spalte von - und -Einträgen zu betrachten –, aber wir können genauso gut diese Vektoren mit - und -Einträgen als Syndrome betrachten, um sie direkt mit den Eigenwerten der Stabilisatorgeneratoren zu verbinden. Im Allgemeinen sagen uns die Syndrome etwas über den aufgetretenen Fehler, und wenn wir wissen, dass einer der vier in der Tabelle aufgeführten Fehler aufgetreten ist, zeigt das Syndrom an, welcher es war.
Syndrome
Kodierungen für den 3-Bit-Wiederholungscode sind 3-Qubit-Zustände, also Einheitsvektoren in einem 8-dimensionalen komplexen Vektorraum. Die vier möglichen Syndrome teilen diesen 8-dimensionalen Raum effektiv in vier 2-dimensionale Teilräume auf, wobei Quantenzustandsvektoren in jedem Teilraum immer dasselbe Syndrom ergeben. Das folgende Diagramm zeigt konkret, wie der 8-dimensionale Raum durch die zwei Stabilisatorgeneratoren aufgeteilt wird.
Jeder Stabilisatorgenerator teilt den Raum in zwei Teilräume gleicher Dimension: den Raum der -Eigenvektoren und den Raum der -Eigenvektoren für diese Observable. Die -Eigenvektoren von sind zum Beispiel Linearkombinationen von Standardbasiszuständen, bei denen die zwei linksten Bits eine gerade Parität haben, und die -Eigenvektoren sind Linearkombinationen von Standardbasiszuständen, bei denen die zwei linksten Bits eine ungerade Parität haben. Die Situation ist ähnlich für den anderen Stabilisatorgenerator, außer dass es die zwei rechtesten Bits statt der zwei linksten sind.
Die vier 2-dimensionalen Teilräume entsprechend den vier möglichen Syndromen lassen sich in diesem Fall leicht beschreiben, da es sich um einen sehr einfachen Code handelt. Insbesondere ist der Teilraum für das Syndrom der von und aufgespannte Raum – der Raum der gültigen Kodierungen (auch als Koderaum bekannt) –, und die übrigen Räume sind jeweils von den Standardbasiszuständen aufgespannt, die in den entsprechenden Feldern gezeigt werden.
Die Syndrome partitionieren auch alle 3-Qubit-Pauli-Operationen in 4 gleich große Gruppen, je nachdem, welches Syndrom diese Operation (als Fehler) verursachen würde. Beispielsweise ergibt jede Pauli-Operation, die mit beiden Stabilisatorgeneratoren kommutiert, das Syndrom , und unter den 64 möglichen 3-Qubit-Pauli-Operationen gibt es genau 16 in dieser Kategorie (darunter und ), und ebenso für die anderen 3 Syndrome.
Beide dieser Eigenschaften – dass die Syndrome sowohl den Zustandsraum, in dem Kodierungen leben, als auch alle Pauli-Operationen auf diesem Raum in gleich große Gruppen aufteilen – gelten allgemein für Stabilisator-Codes, die wir im nächsten Abschnitt präzise definieren werden.
Obwohl es an dieser Stelle hauptsächlich eine Randbemerkung ist, sei erwähnt, dass Pauli-Operationen, die mit beiden Stabilisatorgeneratoren kommutieren – oder äquivalent, das Syndrom erzeugen –, aber nicht selbst proportional zu Elementen des Stabilisators sind, sich wie einzelne Qubit-Pauli-Operationen auf dem kodierten Qubit (dem logischen Qubit) für diesen Code verhalten. Zum Beispiel kommutiert mit beiden Stabilisatorgeneratoren, ist aber selbst nicht proportional zu einem Element im Stabilisator – und tatsächlich ist die Wirkung dieser Operation auf eine Kodierung äquivalent zu einem -Gate auf dem kodierten logischen Qubit.
Auch das ist ein Phänomen, das sich auf alle Stabilisator-Codes verallgemeinern lässt.