Der Einsatz des CNOT Gates in Q8, Beispiel 7 (Circuit 7), führte zu einem überraschenden Ergebnis im Vergleich zu den vorausgehenden 2-Qubit Circuits. Es gibt von den sonst möglichen vier 2-Bit Messergebnissen nur die Ergebnisse 00 und 11 aus. Die beiden Qubits sind scheinbar „gleichgeschaltet“. Man bezeichnet dieses Phänomen in der Qubit-Welt auch als Verschränkung (entanglement). Warum, das wird weiter unten noch genauer erklärt.
Es drängen sich eine ganze Reihe von Experimenten mit Varianten von Circuit 7 auf, von denen wir uns einige ansehen wollen. Wir werden dabei nicht immer die Composer-Grafik dazu einfügen. Wer Lust hat, kann sich das Bild dazu aufmalen. Noch besser und spannender wäre es, die 2-Qubit Circuits nicht nur zu diskutieren, sondern selbst mit dem IBM Q Experience Simulator auszuprobieren. Der Zugang ist, wie gesagt einfach und in einem eigenen Blog kurz beschrieben, und das Erstellen und Testen im Composer ist ebenfalls „Drag&Drop“-leicht.
2-Qubit Circuits
Hier zunächst noch einmal die Ausgangsgrafik des „Circuit 7“, der 00 und 11 mit der Häufigkeit 0.5 liefert.
1. Was würde passieren, wenn wir vor das H-Gate noch ein X einfügen würden? Einfache Überlegung: Der Startzustand |0> von q0 würde zunächst in |1> verändert. H angewendet auf |1> ergibt 1/√2 (|0>- |1>) (s. Q8, Beispiel 6). Der Unterschied zu Circuit 7 ist also das Minus-Zeichen. Nach CNOT mit q1 macht das aber keinen Unterschied im Messergebnis, denn die Häufigkeiten von 0 und 1 entsprechen dem Quadrat der Koeffizienten. Und (-1/√2)² ist das Gleiche wie (1/√2)². Damit erwarten wir das gleiche Ergebnis wie bei Circuit 7. Das Simulationsergebnis bestätigt dies.
2. Was wäre, wenn X auf q1 vor CNOT angewendet würde? Dann ist q1 vor CNOT im Zustand |1>. Für q0 im Zustand |1> ändert sich dann q1 zu |0>, sonst bleibt es |1>. Wie demnach zu erwarten, liefert die Messung nun 01 und 10 zu je rund 50%. Wir haben hier also einen Circuit der „Ungleichschaltung“. Wenn wir bei einem Qubit z.B. eine 0 messen, wissen wir, dass das andere 1 ergeben muß. Und umgekehrt. Wir haben hier also auch eine Form der Verschränkung.
3. Was ist ausschlaggebend für das Verschränkungsphänomen? Ist es das H-Gate? Was ein X-Gate zusätzlich bewirkt, bei q0 oder q1, haben wir schon gesehen. Versuchen wir es mal mit anderen Gates und testen das mit dem Simulator. Bleiben wir zunächst bei Qubit 0 und ersetzen das H durch X bzw. durch unsere Rotation Ry.
Ersetzen wir H durch X, können wir das Ergebnis einfach vorhersagen: X verkehrt den Ausgangszustand, also ist q0 bei CNOT im Zustand |1>, damit wird q1 umgekehrt, also |1>. Wir bekommen determiniert das Ergebnis 11 bei 100% der Messungen.
Ersetzen wir H durch Ry mit dem Gate-Parameter π/3, dann wird der Startzustand von q0 im x-y-Koordinatensystem um 30º gedreht.
Als Simulatorergebnis (1024 shots) bekommen wir: 74% 0000, 26% 0011.
D.h. wir finden wieder eine „Gleichschaltung“ der Zustände wie in Circuit 7, allerdings mit einer anderen Häufigkeitsverteilung. Die entspricht der Häufigkeitsverteilung bei einer 1-Qubit Anwendung von Ry(π/3) in Q8, Beispiel 3b. Offenbar ist das Vorliegen einer Superposition für q0 ausschlaggebend für Verschränkung. Wir werden später sehen, ob die Vermutung stimmt.
4. Nun zu q1. Was passiert, wenn wir q1 in eine Superposition versetzen, z.B. mittels H.
Als Simulationsergebnis bekommen wir hier eine Häufigkeitsverteilung über alle 4 Möglichkeiten. Z.B.:
Bit-Ergebnis | H | Ry(π/3) |
0000 | 26% | 36% |
0001 | 25% | 11% |
0010 | 23% | 13% |
0011 | 26% | 40% |
Setzen wir statt H die Rotation Ry(π/3) ein, ergibt sich das enstprechende Bild (rechte Spalte) zu rund 3/8, 1/8, 1/8, 3/8.
Die beiden Beispiele zeigen offenbar keine Verschränkung, sondern eine Verteilung über alle 4 möglichen Messergebnisse. Wenn wir aufgrund der Experimente mit den Varianten eine Vermutung anstellen wollten, dann die, dass CNOT eine Verschränkung (ob gleich oder ungleich geschaltet) nur dann liefert, wenn eines der Qubits in einem Basiszustand ist. Wir werden diese Vermutung weiter unten „rechnerisch“ untersuchen.
5. Bisher haben wir zusätzliche Gates immer vor das CNOT geschaltet. Was ist, wenn wir das im verschränkten Zustand tun? Die einfachste Variante ist, ein X-Gate nach dem CNOT auf die q1-Leitung zu setzen. Also so:
Was würde man erwarten? Vor dem X-Gate ist der Zustand des 2-Qubit-Systems verschränkt bzgl. 00 und 11. Danach findet man als Messergebnis die „Umkehrung“, 01 und 10. Das gleiche finden wir, wenn wir das X-Gate auf q0 setzen. Schalten wir dagegen für beide Qubits ein X-Gate nach, bleibt das Ergebnis 00 und 11 zu je 50%. Macht man die gleichen Tests mit dem H-Gate anstelle des X-Gate, bekommt man – und das ist nicht mehr ganz so überraschend – bei einem H-Gate jeweils eine Verteilung über alle 4 Möglichkeiten, bei H auf beiden Wires wiederum das Ergebnis 00 und 11 zu je 50%.
Es sei betont, dass wir immer nur die Messergebnisse sehen. Was mit den Zuständen passiert, können wir erst untersuchen, wenn wir ein formale Beschreibung für Systeme aus zwei oder mehr Qubits haben.
6. Ein algorithmisches Beispiel kann uns aber doch noch überraschen. Es ist gleichzeitig ein ziemlich wichtiger Baustein für Qubit-Algorithmen. Das Schaltbild dazu ist
Das Ergebnis ist – 01 und 11 zu je 50%! Das scheint zu keinem der bisherigen Ergebnisse zu passen. Ohne das nachgeschaltete H-Gate für q0 bekommen wir, wie zu erwarten, das Ergebnis von Beispiel 4, also alle vier Ergebnismöglichkeiten zu 25%. Abgesehen davon, wissen wir, dass H, zweimal hinternander auf |0> angewandt, wieder |0> ergbit.
Es würde uns jetzt nicht wundern, wenn es auch eine Circuit-Variante gibt, die 00 und 10 liefert. Richtig, ohne das X-Gate, also die initiale Umkehrung des Startzustands von q1! Wenn wir beides zusammen betrachten, sieht es so aus, als ob das Ergebnis von Qubit q0, das rechte der zwei Bits, durch q1 umgeschaltet. Durch das CNOT sollte aber doch eigentlich q0 das q1 beeinflusst. Trotzdem, dieser Effekt ist korrekt und hat den schönen Namen (phase) kickback – das von q0 gesteuerte q1 „schlägt zurück“. (Wir werden davon in Q15 interessanten Gebrauch machen.)
Es gibt noch zwei weitere Ergebnisse ähnlicher Art, nämlich 00 und 01 zu 50% und 10 und 11 mit je 50%. Es ist interessant zu versuchen, 2-Qubit Circuits zu konstruieren, die diese Ergebnisse liefern. Wer Lust hat, möge das mit dem IBM Composer ausprobieren.
2-Qubit Zustände
Um das zu verstehen, müssen wir uns mit den „Formeln“ für Zwei- und Mehr-Qubit-Systeme befassen. Zunächst mal für 2-Qubit-Systeme, auch 2-Qubit-Register genannt, in Anlehnung an das Bit-Register, der zentralen Komponente eines herkömmlichen (Bit-)Prozessors.
Wir erinnern uns, dass wir Qubit-Zustände als Punkte auf dem Einheitskreis im x-y-Koordinatensystems beschreiben können. Also z.B. (x,y) = (1/√2, -1/√2). Eine etwas andere Schreibweise, die häufig verwendet wird aber das Gleiche bedeutet, ist die, einen Qubit-Zustand als Kombination der Basis-Zustände (1,0) und (0,1) zu schreiben, für die außerdem die (aus der Quantenphysik stammenden) Symbole |0> und |1> verwendet werden. Das mag verwirren; es ist aber manchmal leichter einen Qubit-Zustands-Sachverhalt mal in der einen oder der anderen Form zu beschreiben. Man mache sich klar, dass (x,y) und x*(1,0)+y*(0,1) und x*|0>+y*|1> das Gleiche ausdrücken. Aus historischen Gründen nennt man diese Schreibweise die Ket-Schreibweise – statt z.B. „Rechts-Spitzklammer“-Schreibweise – und nennt ein Symbol |a> für einen Qubit-Zustand ein ket, bzw. ket-a.
Was ist nun der Zustand eines 2-Qubit-Systems? Eigentlich nur die Kombination von zwei Qubit-Zuständen nach der Methode „jeder mit jedem“. (Wem das zu unmathematisch klingt, kann sagen, es ist das Tensorprodukt der beiden.) Haben wir also ein Qubit q0 im Zustand (u,v) und q1 im Zustand (x,y), so ist der Zustand des 2-Qubit-Systems (ux, uy, vx, vy). Er besteht also aus 4 Koordinaten, die sich aus der Multiplikation der Koordinaten der beiden Qubit-Zustände ergibt. Hier sind einige übliche Schreibweisen, an die man sich wohl gewöhnen muß – es steckt aber immer das Gleiche dahinter:
(u,v)⊗(x,y) = (ux, uy, vx, vy)
oder, wenn wir in der Ket-Schreibweise den Zustand von q0 mit |a> und den von q1 mit |b> symbolisieren
|a>⊗|b> = (ux, uy, vx, vy), wenn wir |a>=u*|0>+v*|1> und |b>=x*|0>+y*|1> für die Zustände von q0 und q1 schreiben.
Wenn man den 2-Qubit-Zustand so beschreibt, stellt man fest, dass erfreulicherweise die 4 Koodinaten wieder auf einem 4-dimensionalen „Einheitkreis“ liegen. Das ist schwer vorzustellen, aber einfach als Formel auszudrücken:
|ux|²+|uy|²+|vx|²+|vy|² = 1
Da die Einzel-Zustände auf dem „normalen“ Einheitskreis liegen, also |u|²+|v|²=1 und |x|²+|y|²=1, ergibt sich das einfach durch Ausrechnen von (|u|²+|v|²)* (|x|²+|y|²).
Wir konstruieren uns einige Beispiele und zeigen sie in der Tabelle in Koordinatenform. In der rechten Spalte ist das jeweilige 2-Zustands-Messergebnis dargestellt, also das, was wir z.B. bei den Messungen entsprechender 2-Qubit Circuits erwarten können.
Koordinaten | Koordinaten | Messung | |
q0 | q1 | 2-Qubit-Zustand | 2-Bit Ergebnis : Häufigkeit |
(1,0) | (1,0) | (1,0,0,0) | 00: 1.0 |
(1,0) | (0,1) | (0,1,0,0) | 01: 1.0 |
(0,1) | 1/√2*(1,1) | 1/√2*(0,0,1,1) | 10: 0.5 11: 0.5 |
(u,v) | (x,y) | (ux,uy,vx,vy) | 00: |ux|² 01: |uy|² 10: |vx|² 11: |vy|² |
Zum Vergleich – und zur Gewöhnung – schreiben wir die Tabelle noch einmal in Ket-Schreibweise. (Die Messergebnisse sind die gleichen.)
q0 – Ket | q1 – Ket | 2-Qubit-Zustand – Ket |
|0> | |0> | 1*|00> |
|0> | |1> | 1*|01> |
|1> | 1/√2*(|0>+|1>) | 1/√2*(|10>+|11>) |
u|0>+v|1> | x|0>+y|1> | ux|00>+ uy|01>+ vx|10> + vy|11> |
Etwas fällt vielleicht noch auf: die Kets mit zwei Ziffern, etwa |01>. Das ist einfach wieder eine abkürzende Schreibweise für |0>⊗|1>, also die Kombination von zwei Qubit-Zuständen (in Ket-Schreibweise) zu einem 2-Zustands-Ket.
Die Ket-Schreibweise erleichtert bei Zwei- und Mehr-Qubit-Zuständen die Sicht auf die Messergebnisse. Der Operator M, auf einen allgemeinen 2-Qubit-Zustand (w, x, y, z) angewendet liefert die Wahrscheinlichkeiten |w|², |x|², |y|², |z|². Aber was ist was? Man kann sich merken, dass |w|² für Bitfolge 00 der Messung, |x|² für 01 usw. gilt. Schreibt man den Zustand in Ket-Form, dann sieht man es sofort. Denn (w,x,y,z) = w|00> + x|01> + y|10> + z|11>. Damit ist, bei 2-Qubit-Zuständen,
M(w,x,y,z) = ( |w|², |x|², |y|², |z|²)
eine „theoretische Formel“ für den Messvorgang. Gemessen wird der Zustand, das Ergebnis (rechts) sind Wahrscheinlichkeiten für die 2-Bit-Folgen. Man hat hiermit also eine Verknüpfung zwischen Qubits und klassichen Bits.
Um Verwirrung zu vermeiden, werden wir allerdings im Weiteren vorzugsweise die Koordinaten-Schreibweise verwenden.
Verschränkte 2-Qubit-Zustände
Im Prinzip kann man alle Punkte im 4-dim Koordinatensystem, die als Summe ihrer Quadrate 1 ergeben, als 2-Qubit-Zustände betrachten. Bei Messungen ergäben sich aus solchen Zuständen die Quadrate der Koordinaten als Häufigkeitsverteilung über die vier möglichen (Bit-) Messergebnisse 00, 01, 10, 11. D.h. beliebige 4 Zahlen (w, x, y, z) mit |w|²+|x²|+|y|²+|z|²=1 ergeben einen zulässigen 2-Qubit-Zustand.
Allerdings, nicht jeder Zustand in dieser Form lässt sich – wie oben – aus den Zuständen von zwei Qubits herstellen! Das ist verblüffend, aber lässt sich leicht überprüfen.
Circuit 7, oben, lieferte als Messung 00 und 11 mit Häufigkeit 0.5, und 01 bzw 10 mit Häufigkeit 0. Wenn der (unbekannte) 2-Quibt-Zustand, der zu dieser Messung führt, eine Kombination (u,v)⊗(x,y) = (ux, uy, vx, vy) von zwei Qubits wäre, müssten |ux|² = |vy|² = 0,5 sein und gleichzeitig |uy|² = |vx|² = 0. D.h. einerseits müssen u,x,v und y ungleich Null sein, andererseits müssen u oder y, sowie v oder x Null sein. Das ist offensichtlich ein Widerspruch.
Der Zustand, der in Circuit 7 gemessen wird, ist damit ein zulässiger und herstellbarer 2-Qubit-Zustand. Er kann aber nicht aus zwei Qubits zusammengesetzt werden, oder, anders ausgedrückt, er ist nicht separierbar. Das System aus zwei Qubits, das in einen nicht-separierbaren 2-Qubit-Zustand überführt wird, ist verschränkt. Das ist es, was dahinter steckt! Man mag nun selber überprüfen, welche der Circuits oben ebenfalls verschränkte Zustände liefern. (Wer Lust hat – der Kommentar-Bereich steht offen.)
Eine Konsequenz der Verschränkung ist, dass man nicht von den Zuständen der beiden Qubits sprechen kann. Im eigentlichen Sinne haben sie keinen Zustand. Allein das Gesamtsystem hat einen Zustand. Insofern kann man auch nur das Gesamtsystem messen, nicht die „involvierten“ Qubits.
Die Wirkung von Gates
Mit Hilfe der Zustandsbeschreibungen können wir nun auch die Wirkung von Gates „berechenbar“ machen. D.h., obwohl wir sie nicht per Messung verfolgen können, lässt sich die Abfolge der Zustände rechnerisch darstellen.
Das machen wir im nächsten Blog-Beitrag; denn jetzt haben wir uns spätestens eine Pause verdient, bei der wir entspannt noch mal über alles nachdenken können.
Hier geht’s dann anschließend weiter.
Stay tuned!
Hier noch ein paar neue Begriffe aus diesem Anschnitt in Fortführung der tabellarischen Übersicht.
Begriff englisch | Begriff deutsch | Bedeutung |
Entanglement | Verschränkung | Nicht separierbarer Gesamtzustand eines 2-Qubit Systems |
Separable | Separierbar | 2-Qubit-Zustand, der sich aus zwei Qubit-Zuständen zusammensetzem lässt. |
Register | Register | System von zwei oder mehr Qubits auf dem algorithmische Operationen ausgeführt werden |
Ket | Ket | Zweite Silbe von Bra-cket. Schreibweise für Qubit-Zustände |
Symbol ⊗ | Symbol ⊗ | Symbolisiert die Kombination von zwei Qubit-Zuständen zu einem Gesamtzustand. |
|00>, |01> etc | |00>, |01> etc | Kurzschreibweise für |0>⊗|0>, |0>⊗|1>usw. |
(Phase) Kickback | (Phase) Kickback | Spezielle Rückwirkung zwischen CNOT verbundenen Qubits |