Verbindung zwischen Stabilisatorgeneratoren und Paritätsprüfmatrizen im Steane-Code


15

Ich arbeite mich durch Mike und Ike (Nielsen und Chuang) zum Selbststudium und lese in Kapitel 10 über Stabilisatorcodes. Ich bin ein Elektrotechniker mit einem gewissen Hintergrund in der klassischen Informationstheorie, aber ich bin es auf keinen Fall ein Experte in der algebraischen Codierungstheorie. Meine abstrakte Algebra ist im Wesentlichen nur ein bisschen mehr als das, was im Anhang steht.

Ich glaube, ich verstehe die Calderbank-Shor-Steane-Konstruktion, bei der zwei lineare klassische Codes verwendet werden, um einen Quantencode zu konstruieren, vollkommen. Der Steane-Code wird unter Verwendung von (dem Code für Qbit-Flips) als [7,4,3] Hamming-Code und (dem Code für Phasenflips) als demselben Code konstruiert . Die Paritätsprüfungsmatrix des [7,4,3] -Codes lautet: .C1C2

[000111101100111010101]

Die Stabilisatorgeneratoren für den Steane-Code können wie folgt geschrieben werden:

NeinmeÖpereintÖrG1ichichichXXXXG2ichXXichichXXG3XichXichXichXG4ichichichZZZZG5ichZZichichZZG6ZichZichZichZ
wo aus Gründen meiner Vernunft und so weiter.ichichichXXXX=ichichichXXXX

Im Buch wird darauf hingewiesen, dass sich die und Werte an denselben Positionen befinden wie die Werte im ursprünglichen Paritätsprüfcode. In Übung 10.32 soll überprüft werden, ob die Codewörter für den Steane-Code durch diesen Satz stabilisiert sind. Ich könnte das natürlich einstecken und es von Hand überprüfen. Es wird jedoch festgestellt, dass bei der Beobachtung der Ähnlichkeiten zwischen der Paritätsprüfungsmatrix und dem Generator die Übung "selbstverständlich" ist.XZ1

Ich habe diese Tatsache an anderen Stellen bemerkt ( http://www-bcf.usc.edu/~tbrun/Course/lecture21.pdf ), aber mir fehlt eine Art (wahrscheinlich offensichtliche) Intuition. Ich glaube, ich vermisse eine weitere Verbindung von den klassischen Codewörtern zu den Quantencodes, außer wie sie bei der Indizierung von Basiselementen bei der Konstruktion des Codes verwendet werden (dh Abschnitt 10.4.2).

Antworten:


6

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+111(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?00101=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 .|11||0|1Z|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 ZZZdas 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 ?|11ZZXX| + - X X Z Z | Φ += 1

    |+-XXZZ

    |Φ+=12(|00+|11)ZZXX

  • 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

    GeneratorTensorfaktoren1234567G1XXXXG2XXXXG3XXXXG4ZZZZG5ZZZZG6ZZZZ
    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|0000000+|0001111+|0110011+|0111100+|1010101+|1011010+|1100110+|1101001=yC|y,|1L|1111111+|1110000+|1001100+|1000011+|0101010+|0100101+|0011001+|0010110=yC|y1111111,
    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|Φ+XXZZ|Ψ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.XXZX(HI)(XX)(HI)=ZX

    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 gj=(H7)gj(H7)

    GeneratorTensor factors1234567g1ZZZZg2ZZZZg3ZZZZg4XXXXg5XXXXg6XXXX

    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?H7

    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|0Z|0L

    ZL=ZZZZZZZ
    |1LZLZL=Z7{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 StandardbasisX7Z7XZX7gi|+L
    XL=XXXXXXX,
    |LXList 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.

    (H7)XL(H7)=ZL,(H7)ZL(H7)=XL,
    XZH7

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.


Nachdem ich das gelesen habe, verstehe ich immer noch nicht, wie es offensichtlich ist, dass X4X5X6X7 (ich nehme dieses Beispiel) den Code-Raum stabilisiert. In Ihrer Antwort , die Sie die Tatsache , Sie kennen zu benutzen schien , was die Code - Raum sieht aus wie das X4X5X6X7 bemerken angewendet auf gibt . Was mich stört, ist, dass, wenn wir über Z4Z5Z6Z7-Operatoren sprechen, ich die Verknüpfung mit der Paritätsprüfungsmatrix direkt sehen würde, da deren Eigenwerte die Parität der Bits 4 bis 7 genau wie die erste Zeile der Paritätsprüfungsmatrix angeben. Aber die X-Operatoren sind in der 0/1-Basis nicht diagonal. Also verstehe ich nicht ...|0L|1L
StarBucK

Während es nicht ideal ist, sich mit den Zustandsvektoren für die Codewörter zu beschäftigen, können wir aus der obigen Erweiterung dass X_7 die Standardbasiskomponenten von und ähnlich die Standardbasiskomponenten von . Während dieses Bild nicht-triviale Transformationen von Teilen des Staates beinhaltet, ist der Gesamteffekt eine Stabilisierung. Um zu sehen, wie die Stabilisatoren als Paritätsprüfungen angesehen werden, wie Sie es mit Stabilisatoren tun , können Sie möglicherweise die Wirkung der Stabilisatoren von berücksichtigen und und in der konjugierten Basis. X4X5X6X7|0L|1LXZX|+L|L
Niel de Beaudrap

Vielen Dank für Ihre Antwort. Okay, um sicher zu gehen: Stimmen Sie zu, dass, wenn wir nicht die Basis des Code-Raums betrachten, sondern nur die Paritätsprüfungsmatrix und die Generatoren, das einzige, was wir direkt verstehen können, die Tatsache ist, dass der Generator gelesen werden kann in der Paritätsprüfungsmatrix. Aber für den Generator, auch wenn er einer ähnlichen Struktur folgt, ist es nicht klar, warum dies ohne weitere Berechnung der Fall ist. Denn im Nielsen & Chuang wird es so präsentiert, als ob es offensichtlich wäre. Also habe ich mich gefragt, ob ich etwas verpasst habe? ZX
StarBucK

2

Eine Möglichkeit, das Codewort zu konstruieren, besteht darin, auf den Eigenraum der Generatoren zu projizieren : Konzentrieren Sie sich zunächst auf einen der ersten 3 Generatoren Wenn Sie dies erweitern, werden Sie dass alle Begriffe in der Gruppe erstellt werden ( . Entsprechend binären Zeichenfolgen entspricht die Multiplikation zweier Terme (da ) der Addition modulo 2. Im Code sind also alle Wörter enthalten, die von der Paritätsprüfungsmatrix (und generiert werden Dies ist eine Gruppe mit Gruppenoperation von Addition Modulo 2).+1

|C1=126(i=16(I+gi))|0000000.
(I+g1)(I+g2)(I+g3).
I,g1,g2,g3,g1g2,g1g3,g2g3,g1g2g3)X2=I

Wenn Sie nun mit einem der Stabilisatoren multiplizieren , geschieht dies wie das Hinzufügen von Modulo 2 zu den entsprechenden Bitfolgen. Da wir die Gruppe jedoch bereits generiert haben, wird per Definition jedes Gruppenelement einem anderen (eindeutigen) Gruppenelement zugeordnet. Mit anderen Worten, wenn ich ich erhalte die Menge zurück, mit der ich begonnen habe (mit und der Kommutierung der Stabilisatoren), und projiziere daher auf denselben Zustand. Daher wird der Zustand durch bis stabilisiert .X

G1×{ich,G1,G2,G3,G1G2,G1G3,G2G3,G1G2G3}={G1ich,G1G2,G1G3,G2,G3,G1G2G3,G2G3},
G12=ichG1G3

Sie können effektiv das gleiche Argument für bis . Ich ziehe es vor, zuerst einen Hadamard auf jedes Qubit anzuwenden, damit die Xs in Zs und umgekehrt geändert werden. Die Menge der Stabilisatoren bleibt unverändert, sodass der Code unverändert bleibt. Der Z-Stabilisator wird jedoch einem X-Stabilisator zugeordnet, über den wir bereits diskutiert haben.G4G6


1

Was folgt, beantwortet Ihre Frage vielleicht nicht genau, sondern zielt darauf ab, Hintergrundinformationen zu liefern, die dazu beitragen, dass sie so selbstverständlich werden, wie Ihre Quellen behaupten.

Z|0+1|1-1ZZ

|00,|01,|10,|11
|00+1Z+1|11-1+1ZZ+1|01|10+1-1-1ZZ.

α|00+β|00ZZ

ZichZichZichZ+1-1

ichZZ

Z|+|-XZXX

Die Magie des Steane-Codes ist natürlich, dass er beides gleichzeitig tut und vor allem schützt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.