Hier gibt es ein paar Konventionen und Intuitionen, die vielleicht helfen würden, wenn Sie hätten:
Vorzeichenbits versus {0,1} Bits
Der erste Schritt besteht darin, das, was manchmal als "große Notationsverschiebung" bezeichnet wird, so zu gestalten, dass Bits (auch klassische Bits) in Vorzeichen codiert sind. Dies ist sinnvoll, wenn Sie hauptsächlich an den Paritäten von Bit-Strings interessiert sind, da Bit-Flips und Sign-Flips im Grunde genommen auf die gleiche Weise funktionieren. Wir ordnen und , so dass zum Beispiel die Folge von Bits durch die Folge von Zeichen .0↦+11↦−1(0,0,1,0,1)(+1,+1,−1,+1,−1)
Paritäten von Bitfolgen entsprechen dann Produkten von Zeichenfolgen. Genauso wie wir beispielsweise als Paritätsberechnung erkennen würden, können wir als Darstellung der gleichen Paritätsberechnung unter Verwendung der Vorzeichenkonvention. Übung. Berechnen Sie die 'Parität' von und von . Sind das die gleichen?0⊕0⊕1⊕0⊕1=0(+1)⋅(+1)⋅(−1)⋅(+1)⋅(−1)=+1( - 1 , - 1 , + 1 , - 1 ) ( + 1 , - 1 , + 1 ,
(−1,−1,+1,−1)(+1,−1,+1,+1)
Paritätsprüfungen mit Vorzeichenbits
In der {0,1} -Bit-Konvention haben Paritätsprüfungen eine schöne Darstellung als Punktprodukt zweier Boolescher Vektoren, so dass wir komplizierte Paritätsberechnungen als lineare Transformationen realisieren können. Durch die Umstellung auf Vorzeichen haben wir unweigerlich die Verbindung zur linearen Algebra auf der Notationsebene verloren , weil wir Produkte anstelle von Summen verwenden. Auf rechnerischer Ebene müssen wir uns keine großen Sorgen machen, da dies nur eine Änderung der Notation ist. Aber auf rein mathematischer Ebene müssen wir uns jetzt noch einmal Gedanken darüber machen, was wir mit Paritätsprüfungsmatrizen machen.
Wenn wir Vorzeichenbits verwenden, können wir immer noch eine 'Paritätsprüfungsmatrix' als eine Matrix von 0s und 1s anstelle von Vorzeichen ± 1 darstellen. Warum? Eine Antwort ist, dass ein Zeilenvektor, der eine Paritätsprüfung von Bits beschreibt, von einem anderen Typ ist als die Folge von Bits selbst: Er beschreibt eine Funktion auf Daten, nicht die Daten selbst. Das Array von 0s und 1s muss jetzt nur noch anders interpretiert werden - statt linearer Koeffizienten in einer Summe entsprechen sie Exponenten in einem Produkt. Wenn wir Vorzeichenbits haben und eine durch einen Zeilenvektor gegebene Paritätsprüfung berechnen möchten wird dann die Paritätsprüfung von berechnet
(s1,s2,…,sn)∈{−1,+1}n(b1,b2,…,bn)∈{0,1}(s1)b1⋅(s2)b2⋅[⋯]⋅(sn)bn∈{−1,+1},
s0=1s(b1,b2,...,bn)sj wobei daran erinnert wird, dass für alle . Wie bei {0,1} -Bits können Sie sich die Zeile so vorstellen, dass sie nur eine 'Maske' darstellt, die bestimmt, welche Bits einen nicht trivialen Beitrag zur Paritätsberechnung leisten.s0=1s(b1,b2,…,bn)sj
Übung. Berechnen Sie das Ergebnis der Paritätsprüfung für .(0,1,0,1,0,1,0)(+1,−1,−1,−1,−1,+1,−1)
Eigenwerte als Paritäten.
Der Grund, warum wir in der Quanteninformationstheorie Bits in Vorzeichen codieren möchten, liegt in der Art und Weise, wie Informationen in Quantenzuständen gespeichert werden - oder genauer gesagt in der Art und Weise, wie wir den Zugriff auf diese Informationen beschreiben können. Insbesondere können wir viel über die Standardbasis sprechen, aber der Grund, warum dies sinnvoll ist, liegt darin, dass wir diese Informationen durch Messung einer beobachtbaren Größe extrahieren können .
Diese Beobachtungsgröße könnte einfach der Projektor , wobei den Eigenwert 0 und den Eigenwert 1 hat, aber es ist oft hilfreich, die Dinge lieber in Begriffen von zu beschreiben die Pauli-Matrizen. In diesem Fall würden wir über die Standardbasis als Eigenbasis des Operators sprechen. In diesem Fall haben wir als +1 -Eigenvektor von Z und als −1 -Eigenvektor von Z .| 1 ⟩⟨ 1 || 0 ⟩| 1 ⟩Z| 0 ⟩| 1 ⟩| 1 ⟩
Also: Es treten Vorzeichenbits (in diesem Fall Eigenwerte) auf, die die in einem Qubit gespeicherten Informationen darstellen. Und noch besser, wir können dies auf eine Art und Weise tun, die nicht spezifisch für die Standardbasis ist: Wir können über Informationen sprechen, die in der "konjugierten" Basis gespeichert sind, indem wir nur überlegen, ob der Zustand ein Eigenzustand von ist und welchen Eigenwert er hat . Aber mehr als das, können wir über die Eigenwerte einer reden Multi Qubit Pauli Operator als kodieren Paritäten das Tensorprodukt - von mehreren Bits stellt eine Art und Weise der Zugriff auf das Produkt der Zeichen-BitsXZ ⊗ ZZ⊗ Zdas heißt die Parität von zwei Qubits in der Standardbasis. In diesem Sinne Bediener der Eigenwert von einem Zustand in Bezug auf einem Mehr Qubit Pauli - wenn das Eigenwert definiert ist ( dh in dem Fall , dass der Zustand ist ein Eigenwert des Pauli - Operators) - ist in der Tat das Ergebnis einer Paritätsberechnung von Informationen, die in irgendeiner Basiswahl für jedes der Qubits gespeichert sind.
Übung. Was ist die Parität des Staates in Bezug auf ? Hat dieser Zustand eine genau definierte Parität in Bezug auf ? Übung. Was ist die Parität des Staates in Bezug auf ? Hat dieser Zustand eine genau definierte Parität in Bezug auf ? Übung. Was ist die Parität von in Bezug auf und ?| 11 ⟩Z⊗ ZX⊗ X| + - ≤ X ≤ X Z ≤ Z | Φ + ⟩ = 1
| + - ⟩X⊗ XZ⊗ Z
| Φ+⟩ = 12√( |00⟩+|11⟩ )Z⊗ ZX⊗ X
Stabilisatorgeneratoren als Paritätsprüfungen.
Wir sind jetzt in der Lage, die Rolle von Stabilisatorgeneratoren als analog zu einer Paritätsprüfungsmatrix einzuschätzen. Betrachten Sie den Fall des 7-Qubit-CSS-Codes mit Generatoren
GeneratorG1G2G3G4G5G61XZ2XZ3XXZZTensorfaktoren4XZ5XXZZ6XXZZ7XXXZZZ
Ich habe die oben genannten Identitäts-Tensorfaktoren weggelassen, da man manchmal die Nullen in einer {0,1} -Matrix weglassen könnte, und aus demselben Grund: In einem gegebenen Stabilisatoroperator entspricht die Identitätsmatrix einem Tensorfaktor, der nicht enthalten ist in der 'Maske' von Qubits, für die wir die Parität berechnen. Für jeden Generator interessieren uns nur die Tensorfaktoren, auf die irgendwie eingewirkt wird, weil diese zum Paritätsergebnis beitragen.
Nun sind die 'Codewörter' (die codierten Standardbasiszustände) des 7-Qubit-CSS-Codes gegeben durch
wobei der Code ist generiert durch die Bit-Strings , und . Insbesondere entsprechen diese Bitfolgen den Positionen der Operatoren in den Generatoren| 0L⟩ & agr;| 1L⟩ & agr;| 0000000 ⟩ + | 0001111 ⟩ + | 0110011 ⟩ + | 0111100 ⟩+ | 1010101 ⟩ + | 1011010 ⟩ + | 1100110 ⟩ + | 1101001 ⟩ = Σy∈ C| y⟩ ,| 1111111 ⟩ + | 1110000 ⟩ + | 1001100 ⟩ + | 1000011 ⟩+|0101010⟩+|0100101⟩+|0011001⟩+|0010110⟩=∑y∈C|y⊕1111111⟩,
C000111101100111010101Xg1g2g3C| 0L⟩| 1L⟩ , und . Dies sind zwar Stabilisatoren des Codes (und stellen Paritätsprüfungen dar, wie ich oben vorgeschlagen habe), wir können jedoch auch deren Aktion als Operatoren betrachten, die die Standardbasis durchsetzen. Insbesondere werden sie die Elemente des Codes , so dass die Begriffe, die in und , nur werden.g2g3C|0L⟩|1L⟩
Die Generatoren , und beschreiben alle die Paritäten von Informationen, die in Standardbasiszuständen codiert sind. Die codierten Basiszustände, die Sie erhalten, sind Überlagerungen von Codewörtern, die aus einem linearen Code gezogen wurden, und diese Codewörter haben alle eine gerade Parität in Bezug auf die Paritätsprüfungsmatrix aus diesem Code. Da bis nur dieselben Paritätsprüfungen beschreiben, folgt, dass der Eigenwert der codierten Basiszustände (entsprechend einer geraden Parität).g4g5g6g4g6+1
Auf diese Weise
"Bei der Beobachtung der Ähnlichkeiten zwischen der Paritätsprüfungsmatrix und dem Generator ist die Übung" selbstverständlich "."
- weil die Stabilisatoren entweder offensichtlich die Standard-Basisbegriffe in den beiden "Codewörtern" permutieren oder offensichtlich Paritätseigenschaften testen, die die Codewörter konstruktionsbedingt haben werden.
Jenseits von Codewörtern
Die Liste der Generatoren in der Tabelle, die Sie bereitstellen, stellt die ersten Schritte in einer leistungsstarken Technik dar, die als Stabilisatorformalismus bezeichnet wird und in der Zustände mit nicht mehr oder weniger als den bekannten Paritätseigenschaften beschrieben werden .
Einige Zustände, wie Standardbasiszustände, konjugierte Basiszustände und die perfekt verschränkten Zustände und können vollständig durch ihre Paritätseigenschaften charakterisiert werden. (Der Zustand ist der einzige, der ein + 1-Eigenvektor von und ; der Zustand ist der einzige, der a ist −1-Eigenvektor dieser beiden Operatoren.) Diese sind als Stabilisatorzustände bekannt, und man kann überlegen, wie sie durch einheitliche Transformationen und Messungen beeinflusst werden, indem man verfolgt, wie sich die Paritätseigenschaften selbst verhalten|Φ+⟩∝|00⟩+|11⟩|Ψ−⟩∝|01⟩−|10⟩|Φ+⟩X⊗XZ⊗Z|Ψ−⟩X ⊗ X Z ⊗ X ( H ⊗ I ) ( X ⊗ X ) ( H ⊗ I ) = Zverwandeln. Zum Beispiel wird ein Zustand, der vor dem Anlegen eines Hadamards an Qubit 1 durch stabilisiert wird, danach durch stabilisiert , weil . Anstatt den Zustand zu transformieren, transformieren wir die Paritätseigenschaft, von der wir wissen, dass sie für diesen Zustand gilt.X⊗XZ⊗X(H⊗I)(X⊗X)(H⊗I)=Z⊗X
Sie können diese zu charakterisieren verwenden auch , wie Unterräume durch diese Parität Eigenschaften charakterisiert werden transformieren. Zum Beispiel weiß ich bei einem unbekannten Zustand im 7-Qubit-CSS-Code nicht genug über den Zustand Bescheid, um Ihnen zu sagen, welchen Zustand Sie erhalten, wenn Sie Hadamards auf alle Qubits anwenden, aber ich kann Ihnen sagen, dass dies der Fall ist stabilisiert durch die Generatoren , die bestehen aus
g′j=(H⊗7)gj(H⊗7)Generatorg′1g′2g′3g′4g′5g′61ZX2ZX3ZZXXTensor factors4ZX5ZZXX6ZZXX7ZZZXXX
Eine Sache am Stabilisator-Formalismus mag auf den ersten Blick mysteriös erscheinen: Sie haben es nicht wirklich mit Informationen über die Zustände zu tun, die Aufschluss darüber geben, wie sie sich als Überlagerungen der Standardbasis ausdehnen. Sie beschäftigen sich nur abstrakt mit den Generatoren. Und tatsächlich ist dies der Punkt: Sie möchten Ihr Leben nicht wirklich damit verbringen, den ganzen Tag über exponentiell lange Überlagerungen zu schreiben, oder? Was Sie wirklich wollen, sind Werkzeuge, mit denen Sie über Quantenzustände nachdenken können, bei denen Sie Dinge so selten wie möglich als lineare Kombinationen ausschreiben müssen, denn jedes Mal, wenn Sie etwas als lineare Kombination schreiben, machen Sie (a) viel Arbeit für dich selbst und (b) Bevorzugen Sie eine Basis auf eine Weise, die Sie möglicherweise daran hindert, nützliche Eigenschaften zu bemerken, auf die Sie auf einer anderen Basis zugreifen können .
Dennoch: Manchmal ist es nützlich, über 'codierte Zustände' in Fehlerkorrekturcodes nachzudenken, um beispielsweise festzustellen, welche Auswirkungen eine Operation wie auf den Codespace des 7-Qubit-Codes haben könnte. Was soll man tun, anstatt Überlagerungen aufzuschreiben?H⊗7
Die Antwort besteht darin, diese Zustände in Form von Observablen - in Form von Paritätseigenschaften - zu beschreiben, um diese Zustände zu bestimmen. So wie beispielsweise der + 1-Eigenzustand von , können wir den logischen Zustand des 7-Qubit-CSS-Codes als den + 1-Eigenzustand von
charakterisieren
und in ähnlicher Weise als −1-Eigenzustand von . (Es ist wichtig, dass mit den Generatoren pendelt , damit es möglich ist, ein + 1-Eigenzustand von|0⟩Z|0L⟩ZL=Z⊗Z⊗Z⊗Z⊗Z⊗Z⊗Z
|1L⟩ZLZL=Z⊗7{g1,…,g6}ZLgleichzeitig mit den von diesen Generatoren beschriebenen Paritätseigenschaften.) Dies ermöglicht es uns auch, schnell über die Standardbasis hinauszugehen: unter Verwendung der Tatsache, dass anti mit dasselbe pendelt Wenn anti mit und mit den Generatoren pendelt , können wir als den + 1-Eigenzustand von
und in ähnlicher Weise als −1-Eigenzustand von . Wir können sagen, dass die codierte StandardbasisX⊗7Z⊗7XZX⊗7gi|+L⟩XL=X⊗X⊗X⊗X⊗X⊗X⊗X,
|−L⟩XList insbesondere in den Paritäten aller Qubits in Bezug auf Operatoren codiert ; und die codierte "konjugierte" Basis wird in den Paritäten aller Qubits in Bezug auf Operatoren codiert .ZX
Indem wir einen Begriff von codierten Operatoren festlegen und diesen verwenden, um codierte Zustände indirekt darzustellen, können wir feststellen, dass
wobei es sich um die gleiche Beziehung handelt, die zwischen und in Bezug auf die Konjugation durch Hadamards erhalten wird; Dies lässt den Schluss zu, dass für diese Codierung von Informationen im 7-Qubit-CSS-Code nicht nur den Codespace beibehält, sondern eine codierte Hadamard-Operation ist.(H⊗7)XL(H⊗7)=ZL,(H⊗7)ZL(H⊗7)=XL,
XZH⊗7
Wir sehen daher, dass die Idee von Observablen als eine Art und Weise, Informationen über Quantenzustände in Form von Vorzeichenbits zu beschreiben - und insbesondere Tensorprodukte als eine Art und Weise, Informationen über Paritäten von Bits darzustellen - eine zentrale Rolle bei der Beschreibung der CSS spielt Codegeneratoren stellen Paritätsprüfungen dar und auch, wie wir Eigenschaften von Fehlerkorrekturcodes ohne Bezugnahme auf Basiszustände beschreiben können.