Mit dem im letzten Teil vorgestellten Algorithmus können wir ein Problem lösen, das klassisch unlösbar ist: Wir konnten feststellen, ob eine zweiwertige Funktion konstant ist oder nicht, wobei wir sie nur einmal ausgeführt haben. Möglich war dies durch die Zusammenschaltung zweier Qubits und anschließende Überlagerung, wobei wir Interferenzen geschickt ausgenutzt haben.
Dabei haben wir ziemlich viel herumgerechnet und sind zwischen der Komponentendarstellung und der Vektordarstellung der Zustände hin- und hergesprungen, wie es gerade passte. Ich möchte das Ganze jetzt einmal konsequent in der Komponentendarstellung vorführen. Schreiben wir erst einmal auf, was wir schon haben:
Die Hadamard-Matrix, mit der wir die Superposition erzeugen, hat die Form
![Rendered by QuickLaTeX.com \[H_2 = \frac{1}{2} \begin{pmatrix} 1&1&1&1 \\ 1&-1&1&-1 \\ 1&1&-1&-1 \\ 1&-1&-1&1 \end{pmatrix}.\]](https://www.infaktum.de/wp-content/ql-cache/quicklatex.com-d2dd3b1b116975c3d3046e2ec9535b09_l3.png)
Die
wirken auf die Basisvektoren wie folgt:
![Rendered by QuickLaTeX.com \[\begin{split} F_1 &: \ket{00} \rightarrow \ket{00}, \ket{01} \rightarrow \ket{01},\ket{10} \rightarrow \ket{10},\ket{11} \rightarrow \ket{11}, \\F_2 &: \ket{00} \rightarrow \ket{01}, \ket{01} \rightarrow \ket{00},\ket{10} \rightarrow \ket{11},\ket{11} \rightarrow \ket{10}, \\ F_3 &: \ket{00} \rightarrow \ket{00}, \ket{01} \rightarrow \ket{01},\ket{10} \rightarrow \ket{11},\ket{11} \rightarrow \ket{10}, \\F_4 &: \ket{00} \rightarrow \ket{01}, \ket{01} \rightarrow \ket{00},\ket{10} \rightarrow \ket{10},\ket{11} \rightarrow \ket{11}.\end{split}\]](https://www.infaktum.de/wp-content/ql-cache/quicklatex.com-18e7bb69b13f669eadc2ff2bff1fafbb_l3.png)
Basisvektoren werden also auf andere Basisvektoren abgebildet, d.h. die Basisvektoren werden vertauscht (im Fall von
haben wir sogar die Identität). Die
sind also Permutationsmatrizen, und man erhält durch genaues Hinsehen die Matrizen:
![Rendered by QuickLaTeX.com \[\begin{split} F_1& = \begin{pmatrix} 1&0&0&0 \\ 0&1&0&0 \\ 0&0&1&0 \\ 0&0&0&1 \end{pmatrix}, F_2 = \begin{pmatrix} 0&1&0&0 \\ 1&0&0&0 \\ 0&0&0&1 \\ 0&0&1&0 \end{pmatrix}, \\ F_3 &= \begin{pmatrix} 1&0&0&0 \\ 0&1&0&0 \\ 0&0&0&1 \\ 0&0&1&0 \end{pmatrix}, F_4 = \begin{pmatrix} 0&1&0&0 \\ 1&0&0&0 \\ 0&0&1&0 \\ 0&0&0&1 \end{pmatrix}. \end{split}\]](https://www.infaktum.de/wp-content/ql-cache/quicklatex.com-13260148eae009499f569da290bf874d_l3.png)
Da die
Permutationsmatrizen sind, sind sie auch automatisch unitär. Der Beweis ist eine schöne Übungsaufgabe!
Hier ist noch einmal unsere Schaltung:

Wir haben also zuerst ein Hadamard-Gatter, dann ein
und dann noch einmal ein Hadamard-Gatter. Da die Operationen linear sind, kann man sie zu einer einzigen zusammenfassen, zumindest mathematisch. Dazu müssen wir die entsprechenden Matrizen einfach miteinander multiplizieren. Das ist eigentlich einfach, aber man muss schon aufpassen, dass man keine Fehler macht. Die Matrizen haben wir oben hingeschrieben, und hier kommen jetzt die Ergebnisse:
![Rendered by QuickLaTeX.com \[\begin{split}H_2F_1H_2 &= \begin{pmatrix} 1&0&0&0 \\ 0&1&0&0 \\ 0&0&1&0 \\ 0&0&0&1 \end{pmatrix}, H_2 F_2 H_2 = \begin{pmatrix} 1&0&0&0 \\ 0&-1&0&0 \\ 0&0&1&0 \\ 0&0&0&-1 \end{pmatrix}, \\H_2 F_3 H_2 &= \begin{pmatrix} 1&0&0&0 \\ 0&0&0&1 \\ 0&0&1&0 \\ 0&1&0&0 \end{pmatrix}, H_2 F_4 H_2 = \begin{pmatrix} 1&0&0&0 \\ 0&0&0&-1 \\ 0&0&1&0 \\ 0&-1&0&0 \end{pmatrix}.\end {split} \]](https://www.infaktum.de/wp-content/ql-cache/quicklatex.com-a97e8a0839a3dbd4289635ad65c8468a_l3.png)
Erinnern wir uns:

