Visuelle Interpretation auf der Bloch-Kugel, wenn das Hadamard-Tor zweimal angewendet wird

Es ist bekannt, dass die Hadamard-Operation nur eine Drehung der Kugel um die ist j ^ Achse um 90 Grad, gefolgt von einer Drehung um die X ^ Achse um 180 Grad.

Andererseits, H 2 = ICH , Wo H ist die Einheitsmatrix, die dem Hadamard-Gatter und entspricht ICH ist die Identitätsmatrix.

Wenn wir die Rotation entsprechend der Hadamard-Matrix zweimal durchführen, dann basierend auf H 2 = ICH , würden wir auf die ursprüngliche Situation hinauskommen, oder? Aber irgendwie kann ich das nicht erkennen. Könnte jemand etwas Licht in dieses Problem bringen?

Es sollten beide 90 Grad sein (um die y- und x-Achse), richtig?
hadamard = qt.qip.hadamard_transform()

Antworten (4)

Hier gebe ich einige zusätzliche Analysen zu Craig Gidneys Antwort. Das Hadamard-Tor kann tatsächlich in zwei einzelne Rotationen unterteilt werden, wie in der Eingangsfrage vorgeschlagen. Jedes einzelne Qubit-Gate lässt sich aber auch durch eine einzelne Drehung auf der Bloch-Kugel beschreiben. Für das Hadamard-Tor ist dies eine Drehung um die Achse (rho, elev, azim) = ( 1 , π 4 , 0 ) . Die Rotationsachse wird im Bild als schwarzer Pfeil eingezeichnet.

Entwicklung der Bloch-Sphäre während zweier nacheinander angewendeter Hadamard-Gatter

Gezeigt ist die Entwicklung des Anfangszustandes | 0 während zwei nacheinander angewendeter Hadamard-Tore. Die roten Zustandsvektoren zeigen die Entwicklung während des ersten Hadamard-Tors, wobei der Zustand übertragen wird | 0 zu erklären | X (im Bild nur x). Die blauen Zustandsvektoren zeigen dann die Entwicklung während des zweiten Hadamard-Tors, wobei der Zustand übertragen wird | X zurück zum Zustand | 0 . Diese geometrische Darstellung zeigt für einen beispielhaften Anfangszustand, warum H 2 = ICH .

Das Bild kann mit Python und der Toolbox qutip neu simuliert werden .

from qutip import *
import numpy as np
import scipy
import matplotlib.colors
import scipy

#the gate
hadamard = qutip.qip.hadamard_transform()
# the hamilton operator describing the evolution during the hadamard gate
hamilton = Qobj(scipy.linalg.logm(hadamard.data.todense()), dims=hadamard.dims) / np.pi * 1.j

#create initial state vector
psi0 = (basis(2, 0)).unit()

# describing the gate as time evolution
def gate(t):
    return (-2*np.pi*1.j*hamilton*t).expm()

# hadamard gate for t = 0.5
# In[1]: gate(0.5)
# Out[3]: 
# Quantum object: dims = [[2], [2]], shape = (2, 2), type = oper, isherm = True
# Qobj data =
# [[ 0.70710678  0.70710678]
#  [ 0.70710678 -0.70710678]]

# evolve the gate
n = 25
psi = [gate(t)*psi0 for t in np.linspace(0, 1., 2*n)]

# plotting the states. State evolution during the first hamadard gate is red. During second hadamard gate is blue
b = Bloch()
b.vector_color = [matplotlib.colors.to_rgba('r', alpha=i) for i in np.arange(n)/float(n)] + [matplotlib.colors.to_rgba('b', alpha=i) for i in np.arange(n)/float(n)]  + ['black']
b.add_states(psi)
b.add_states([(basis(2,0) + (basis(2,0) + basis(2,1)).unit()).unit()])

b.show()

Die Hadamard-Operation ist eine 180-Grad-Drehung um die diagonale X+Z-Achse der Bloch-Kugel.

Eine 180-Grad-Drehung um X+Z vertauscht Punkte auf der X-Achse mit der Z-Achse (und umgekehrt) und negiert Punkte auf der Y-Achse. Das Gleiche gilt für die Drehung um 90 Grad um Y und dann um 180 Grad um X.

Beachten Sie, dass Quantenoperationen zusätzlich zum Rotationsteil eine globale Phase haben. Ob Sie also eine genaue Gleichheit zwischen den Operationsmatrizen erhalten, hängt davon ab. Zum Beispiel, X Y 1 / 2 = H ich statt nur H . Die globale Phase spielt nur eine Rolle, wenn Sie damit beginnen, die Bedingung des Vorgangs auf andere Qubits anzuwenden.

Es kann schön sein, Dinge geometrisch darzustellen. Wir können Qubits mithilfe von Vektoren darstellen, wie Sie sicher wissen. Beginnen wir also mit einem Qubit in der | 0 Staat oder im Staat [ 1 0 ] . Wir können dies grafisch darstellen als

Geben Sie hier die Bildbeschreibung ein

(Das Blau dort ist der Vektor, der das Qubit darstellt.) Nun, da wir unseren Anfangszustand haben, wenden wir das Hadamard-Gatter darauf an. Das Hadamard-Tor wird durch dargestellt 1 2 [ 1 1 1 1 ] . Wenn wir den Vektor multiplizieren [ 1 0 ] und der obigen Matrix erhalten wir das Hadamard-Gatter, das auf den Nullzustand angewendet wird, oder [ 1 2 1 2 ] . Wenn wir das grafisch darstellen, erhalten wir

Geben Sie hier die Bildbeschreibung ein

Wenden wir nun das Hadamard-Gatter erneut an. Wir haben unseren Vektor [ 1 2 1 2 ] und die Matrix, die das Hadamard-Tor darstellt, das wir umschreiben können als [ 1 2 1 2 1 2 1 2 ] der Einfachheit halber. Nun, um die beiden zu multiplizieren, tun wir das natürlich 1 2 [ 1 2 1 2 ] + 1 2 [ 1 2 1 2 ] . 2 2 ist selbstverständlich 2 , also bekommen wir [ 1 2 1 2 ] + [ 1 2 1 2 ] . Dies kommt heraus [ 1 0 ] , und die Grafik am Anfang. Wir sind wieder da, wo wir angefangen haben!

Hoffentlich hilft das; Wenn nicht, lassen Sie es mich wissen und ich werde versuchen, mir eine andere Möglichkeit auszudenken, um es mir vorzustellen.

ich danke Ihnen für Ihre Erklärung. ich verstehe das H 2 = ICH . Meine Frage bezieht sich mehr auf die Bloch-Kugeldarstellung der Hadamard-Matrix. Ich verstehe nicht, warum man die Hadamard-Matrix-Rotation zweimal macht (die Kugel um 90 Grad um die y-Achse drehen, dann um 180 Grad um die x-Achse, dann um 90 Grad um die y-Achse und dann am Ende, um 180 Grad um die x-Achse), würde die Kugel in die ursprüngliche Position zurückkehren? Vielen Dank.

Bevor ich anfange, sollte ich erwähnen, dass ich Craig Gidneys Tool und einige Screenshots davon verwende, quirk , das es definitiv wert ist, überprüft zu werden, da er hier auch eine Antwort hinterlassen hat, jetzt hier ist mein Verständnis:

Beginnen wir mit einem Anfangszustand zu Macken , damit wir eine anschauliche Wahrnehmung dessen haben können, was vor sich geht:

1

Dies ist nur ein zufälliger Qubit-Zustand, den ich mit einer Kombination aus drei Gattern erstellt habe. Was passiert, wenn wir Hadamard darauf anwenden?

2

Nun, das ist eine Kombination aus "Rotation der Kugel um die j ^ Achse um 90 Grad, gefolgt von einer Drehung um die X ^ Achse um 180 Grad", aber lassen Sie uns dies mit verfügbaren einfacheren Toren und der Definition, die Sie interessiert, auseinanderreißen:

3

Identisch mit der Anwendung von Hadamard Gate selbst haben wir uns beworben Y ½ dann X. Es ist möglicherweise nicht offensichtlich, wie wir von unserer Eingabe hierher gekommen sind, also schauen Sie sich die Y-Rotationsanimation und die X-Rotation unter an quirk. Bevor Sie fortfahren, sich diese anzusehen, wäre es auch nützlich, denke ich:

X rotationY rotationZ rotation

   X rotation      Y rotation      Z rotation

Jetzt denke ich, hier ist der interessante Teil, wenn wir uns bewerben Y ½ wieder werden wir dazu kommen:

Geben Sie hier die Bildbeschreibung ein

Aber was bedeutet das? Dies entspricht der X-Rotation des Eingangszustands:

Geben Sie hier die Bildbeschreibung ein

Bei all diesen Vorbereitungen denke ich, dass dies der Punkt ist, wenn Sie eine Kugel um 180 Grad nur um eine Achse drehen, gleiche Drehungen um andere Achsen vor und nach der ersten Drehung heben sich auf und alles, was Sie zum Erreichen des Anfangszustands benötigen, ist die Anwendung die erste Achse erneut um 180 Grad gedreht, genau wie bei der doppelten Anwendung von Hadamard.

In gewisser Weise ist es so, als würde man eine Drehung gegen einen tatsächlichen Spiegel ausführen, bei der globalen Koordination unterscheidet sich die tatsächliche Drehung von der Drehung, die auf dem Spiegel stattfindet (hier Y ½ Tor), aber es gibt nur eine Realität. Der Versuch, einen echten Ball gegen einen Spiegel zu drehen, kann zum Verständnis beitragen :)

Und das ist natürlich nach Anwendung von zwei Hadamard, was unserem Anfangszustand entspricht:

9

10

Hier ist das Modell der Macke , das ich für diese Antwort vorbereitet habe und das zum besseren Verständnis verwendet und optimiert werden kann.

Am Ende sollte ich erwähnen, dass Hadamard selbst als einstufige 3D-Rotation geschrieben werden kann, so etwas wie, rotate(pi/2, 0, pi)aber einstufige 3D-Rotationen sind weniger intuitiv, denke ich, und zweistufige Rotationen um eine Achse sind leichter zu verstehen, deshalb haben Sie dieses Zitat gefunden und es ist vielleicht besser, es so zu beschreiben.