Pauli-X Gatter auf einem Qubit im Register
Betrachten Sie den folgenden Schaltkreis:
Überlegen Sie welcher Basiszustand auf welchen Basiszustand abgebildet wird.
Hinweis:
Beachten Sie, dass das Pauli-X Gatter lediglich auf dem ersten (oberen) Qubit angewendet wird. In der Bra-Ket Notation entspricht das erste Qubit dem most significant bit (ganz links).
Eine einfache Matrixmultiplikation durchzuführen ist hier ersteinmal nicht möglich. Betrachten Sie die Form der Pauli-X Matrix ($2\times{}2$) und die Form des Spaltenvektors $\ket{\varphi}$ ($1\times{}4$), so sind diese nicht kompatibel.
Es wird also eine Matrix gesucht, die die Form $4\times{}4$ hat und wie das Pauli-X Gatter nur auf das erste Qubit wirkt. Überlegen Sie anhand der Tabelle aus der letzten Übung, wie diese Matrix aussieht.
Hinweis:
Aus der linaren Algebra wissen Sie: “Die Spalten sind die Bilder der Basisvektoren.”
Um etwas einfacher zu dieser Matrix zu gelangen, können Sie auch das Tensorprodukt wie folgt berechnen: $$ X \otimes \mathop{Id}_2 $$
$\mathop{Id}_2$ ist hier das Identitätsgatter, welches jeden Basiszustand auf sich selbst (die Identität) abbildet und wird hier auf alle (in diesem Fall nur das zweite) Qubits angewendet, die sonst kein Gatter enthalten.
Entsprechend können Sie auch hier die Tabelle ausfüllen und die Matrix aufstellen (entweder anhand der Tabelle oder durch das Tensorprodukt).
Übung: Zeigen Sie, ob es einen Unterschied für den Endzustand $\ket{\varphi’}$ macht, ob zuerst nur das erste (oder zweite) Gatter und dann das andere oder beide zusammen ausgeführt werden.
- $(X \otimes \mathop{Id}_2) (\mathop{Id}_2 \otimes X) \ket{\varphi}$
- $(\mathop{Id}_2 \otimes X) (X \otimes \mathop{Id}_2) \ket{\varphi}$
- $(X \otimes X) \ket{\varphi}$
Controlled-Not (CNot) Gatter
Das CNot Gatter ist das erste Gatter, dass nicht nur auf einem Qubit angewendet wird. So wie z.B. das klassische Gatter “Or”, wird CNot auf zwei Qubits zusammen angewendet. Im Unterschied zu den klassischen Gattern, ist die Anzahl der “input” und “output” Qubits immer gleich. Wird ein Gatter also auf zwei Qubits angewendet, gibt es danach auch genau zwei Qubits.
Die Darstellung zeigt, dass die Qubits verschiedene “Rollen” haben. Der schwarze Punkt gibt an, das dieses Qubit “steuern” soll, das andere Qubit “wird gesteuert”.
Hinweis:
Wir werden im späteren Verlauf des Kurses noch Fälle sehen, wo diese Analogie des Steuerns nicht mehr passt. Für den Moment reicht es jedoch aus.
Wie Sie sehen können, wird das zweite Qubit (im Schaltkreis unten) genau dann geflipped, wenn das erste Qubit (im Schaltkreis oben) im $\ket{1}$ Zustand ist, daher auch der Name. Not als bitflip wird kontrolliert durch das andere Qubit.
Die entsprechende Matrix $CNot$ ist die Folgende: $$ CNot_{1,2} = \begin{pmatrix} 1 & 0 & 0 & 0\newline 0 & 1 & 0 & 0\newline 0 & 0 & 0 & 1\newline 0 & 0 & 1 & 0 \end{pmatrix} $$
Hinweis:
Bei diesem Gatter ist die Reihenfolge der Qubits relevant. Die entsprechende Matrix für den Fall vertauschter Qubits ist: $$ CNot_{2,1} = \begin{pmatrix} 1 & 0 & 0 & 0\newline 0 & 0 & 0 & 1\newline 0 & 0 & 1 & 0\newline 0 & 1 & 0 & 0 \end{pmatrix} $$
CNot auf dem ersten und zweiten Qubit in einem System von drei Qubits:
$$
(CNot_{1,2} \otimes \mathop{Id}_2) \ket{\varphi}
$$
Wie Sie in der Darstellung sehen können, werden für CNot die gleichen Pfeilspitzen verwendet, wie schon beim Pauli-X Gatter. Diesmal jedoch nicht an allen Stellen, sondern eben nur da wo Koeffizienten vertauscht werden.
Controlled-U
Das CNot Gate lässt sich noch weiter Verallgemeinern, wie in der Quanten Cube Model (QCM) Darstellung deutlich wird, steckt das Pauli-X Gatter in der Matrix des CNot Gatters. Noch deutlicher wird es, wenn man die CNot Matrix in Quadranten unterteilt. $$ CNot = \begin{pmatrix} \begin{pmatrix} 1 & 0 \newline 0 & 1 \end{pmatrix} & \begin{pmatrix} 0 & 0 \newline 0 & 0 \end{pmatrix}\newline \begin{pmatrix} 0 & 0 \newline 0 & 0 \end{pmatrix} & \begin{pmatrix} 0 & 1 \newline 1 & 0 \end{pmatrix} \end{pmatrix} = \begin{pmatrix} \mathop{Id}_2 & 0_2\newline 0_2 & X \end{pmatrix} $$
So stellt sich die Frage, geht das auch mit anderen Gattern als Pauli-X? Die Antwort natürlich ja. Für $X$ lässt sich jede so genannte unitäre Matrix einsetzen.
Hinweis:
Eine Matrix $U$ heißt unitär, wenn sie eine quadratische komplexe Matrix ist, die folgende Gleichung erfüllt: $$ U^\dagger U = \mathop{Id} $$ also das Produkt aus der komplex konjugierten transponierten von $U$ und $U$ die Einheitsmatrix $\mathop{Id}$ ergibt.
Was genau unitär bedeutet müssen Sie sich nicht unbedingt merken, wichtig ist, alle Gatter sind unitär.
Im Quanten Cube Model gibt es dafür keine explizite Darstellung, aber je nachdem welche Matrix für $U$ eingesetzt wird, können die Pfeilspitzen des jeweiligen Gatters verwendet werden. Im Fall von CNot also die Spitzen des Pauli-X Gatters.
Die Matrix lässt sich dann wie folgt aufbauen: $$ CU = (\ket{0}\bra{0} \otimes \mathop{Id_U}) + (\ket{1}\bra{1} \otimes U) $$ wobei $\mathop{Id_U}$ die Einheitsmatix der gleichen Größe wie $U$ ist.
Toffoli Gatter
Da jedes Gatter eine unitäre Matrix hat, kann natürlich auch das CNot Gatter in die Matrix des Controlled-U Gatters eingesetzt werden. Dazu müssen die anderen Quadranten entsprechend auch vergrößert werden.
$$ CCNot = \begin{pmatrix} \mathop{Id}_4 & 0_4\newline 0_4 & CNot \end{pmatrix} $$
In der Praxis nennt man dieses Gatter auch Toffoli, benannt nach dem Informatiker Thommaso Toffoli.
Im Schaltkreis wird das Toffoli Gatter wie folgt dargestellt:
Entsprechend kann das CCNot Gatter auch im QCM dargestellt werden.