# Quantengatter

Quantengatter sind die elementaren Operationen, die ein Quantencomputer auf seinen Qubits durchführen kann. Die Eigenschaft der Quantengatter, quantenmechanische Zustände zu verknüpfen und ineinander zu transformieren, macht sie zu Grundbausteinen des Quantencomputers. Sie sind vergleichbar mit elektronischen Gattern, welche die elementaren Operationen eines klassischen Computers durchführen. Ein Quantengatter arbeitet jedoch mit quantenmechanischen Systemen wie dem Spin. Auch wenn ihr Name es suggeriert, stellen Quantengatter in der Regel keine physikalischen Bauelemente wie Transistoren dar. Ein Quantengatter ist vielmehr eine zeitlich steuerbare Wechselwirkung der Qubits untereinander oder mit der Umgebung.
Aus mathematischer Sicht ist ein Quantengatter eine unitäre Transformation $U$, welche auf den Zustand $\Psi$ der Qubits angewendet wird und den Zustand $U\Psi$ erzeugt. Die Unitarität dieser Transformation folgt aus der Forderung, dass ein Quantengatter die Normierung der Wellenfunktion erhalten muss: $|U\Psi |^{2}=|\Psi |^{2}$.

## Darstellung
### Matrixdarstellung

Um $U$ als Matrix schreiben zu können, wählt man als Basiszustände üblicherweise die Rechenbasis, also gerade die Qubit-Zustände, die klassischen Bits entsprechen. Für beispielsweise zwei Qubits besteht die Rechenbasis aus
$|00\rangle ,|01\rangle ,|10\rangle ,|11\rangle .$
Ein Quantengatter, das einfach die beiden Eingangs-Qubits miteinander vertauscht (Swap), hätte dann die Matrixdarstellung
${\mathsf {SWAP}}={\begin{pmatrix}1&0&0&0\\0&0&1&0\\0&1&0&0\\0&0&0&1\end{pmatrix}}$
Quantengatter beschreibt man als Matrizen, also als lineare Transformation von Vektoren. Sie müssen immer quadratisch sein. Die Quantenzustände der Qubits werden dabei durch Spaltenvektoren repräsentiert. Im Beispiel entsprechen die ersten Spalten den beiden Eingangs-Qubits und die zwei nachfolgenden den Ausgangs-Qubits.
Für konkrete Berechnungen ist eine solche Matrixdarstellung nützlich, was was aber für Gattergrößen $n>3$ kaum noch zu überblicken ist. Um aber bei mehreren nacheinander auf das System angewendeten Quantengatter nicht die Übersicht zu verlieren, führt man analog zu den klassischen Logikgattern Schaltsymbole ein, die zu einem Quantenschaltkreis verbunden werden können. Jedes Schaltsymbol entspricht darin einer unitären Operation.
Die gezeigten Graphen sollen die Bloch-Kugel für verschiedene Anfangs- und Endzustände darstellen, welche jeweils in einer anderen Farbe dargestellt sind. Dadurch kann man sich die Drehungen besser vorstellen. Die Wahrscheinlichkeiten der einzelnen überlagerten Zustände können in dieser Darstellungsform allerdings nicht berücksichtigt werden.

### Darstellung in Diagrammen

Die graphische Standarddarstellung in Schaltsymbolen für Quantengatter geht auf eine Arbeit von Adriano Barenco, Charles Bennett, Richard Cleve, David P. DiVincenzo, Norman Margolus, Peter Shor, Tycho Sleator, John A. Smolin und Harald Weinfurter aus dem Jahr 1995 zurück und basiert auf Richard Feynmans Artikel in Foundations of Physics 1986, in dem erstmals ein Grundmodell für einen Quantencomputer vorgestellt wurde.

## Universelle Gatter

Nach DiVincenzos Kriterien für die Architektur von Quantencomputern muss ein skalierbarer Quantencomputer in der Lage sein, einen universellen Satz von Quantengattern zu implementieren. Diese Menge enthält alle Gatter, die zum Ausführen einer Quantenberechnung benötigt werden, d. h. jede Berechnung muss wieder in eine endliche Sequenz von universellen Gattern zerlegen. Mindestens muss ein Quantencomputer in der Lage sein, einzelne Qubits an eine beliebige Position auf der Bloch-Kugel zu verschieben (mit 1-Qubit Gattern), sowie eine Verschränkung im System einzuführen, die ein Multi-Qubit-Gatter erfordert.
Aus Gründen der einfacheren Realisierung ist es wünschenswert, sich bei einem Quantencomputer ähnlich wie beim klassischen Computer auf eine Handvoll elementarer, einfach zu realisierender Gatter zu beschränken. Dort ist beispielsweise das NAND-Gatter alleine ausreichend, um jeden denkbaren Schaltkreis zu bauen.
Eine Menge von Quantengattern wird universell genannt, wenn sich jede unitäre Transformation $U$ als Produkt von Gattern aus der betrachteten Menge darstellen lässt oder sich durch ein solches Produkt beliebig genau approximieren lässt.
Es konnte gezeigt werden, dass das $CNOT$-Gatter zusammen mit allen 1-Qubit-Gattern eine solche universelle Menge ist und das fast jedes Zwei- oder Mehr-Qubit-Gatter für sich allein eine universelle Menge bildet. Wie im klassischen Fall wird hier jeweils angenommen, dass die Elemente der universellen Menge auf jede beliebige Kombination von Qubits angewandt werden können, d. h., das Gatter $CNOT$ steht für alle CNOT mit Kontroll-Qubit $i$ und Zielqubit $j$.
Die in der Quanteninformatik meistverwendete universelle Menge ist aber eine diskrete Menge aus Ein- und Zwei-Qubit-Gattern, nämlich neben dem Controlled-NOT ($CNOT$)-Gatter die Ein-Qubit-Gatter Hadamard-Gatter $H$ und $\pi /8$-Gatter $T$. $H$ bildet die Rechenbasiszustände $|0\rangle$ und $|1\rangle$ auf gleichgewichtete Superpositionen ab: $H|0\rangle =(|0\rangle +|1\rangle )/{\sqrt {2}}$ und $H|1\rangle =(|0\rangle -|1\rangle )/{\sqrt {2}}$ und $T$ erzeugt eine relative Phase von $\pi /4$ zwischen $|0\rangle$ und $|1\rangle$: $T|0\rangle =|0\rangle$ und $T|1\rangle =e^{i\pi /4}|1\rangle$. Ein Vorteil dieser universellen Gattermenge ist, dass die Gatter sich für eine fehlertolerante Implementierung im Rahmen der Quantenfehlerkorrektur eignen. Es lässt sich zwar jeder $N$-Qubit Quantenoperation durch ein Produkt, d. h., eine Hintereinanderausführung von Elementen dieser universellen Mengen beliebig genau approximieren, allerdings ist diese Approximation im Allgemeinen nicht effizient (die Zahl der dazu nötigen Gatter wächst exponentiell mit $N$).

## Beispiele

Zwei häufig benutzte Quantengatter :
| Name | Matrix | Symbol | Beschreibung |
| Hadamard-Gatter | ${\frac {1}{\sqrt {2}}}{\begin{pmatrix}1&1\\1&-1\end{pmatrix}}$ | | Überführt $|0\rangle$ und $|1\rangle$ in überlagerte Zustände. |
| Controlled-NOT $(CNOT)$ | ${\begin{pmatrix}1&0&0&0\\0&1&0&0\\0&0&0&1\\0&0&1&0\end{pmatrix}}$ | | Das erste Qubit wird als Kontroll-Qubit bezeichnet, das zweite als Ziel-Qubit. Das Ziel-Qubit wird invertiert genau dann, wenn das Kontroll-Bit auf $|1\rangle$ ist. |

## Besonderheiten

Quantengatter weisen neben den zu Beginn genannten Eigenschaften noch weitere Besonderheiten auf, die sie von den klassischen Gattern unterscheiden und daher noch einmal betont werden sollen.

### Umkehrbarkeit

Die vom Quantengatter realisierte Operation ist eine unitäre Transformation und damit insbesondere auch eine umkehrbare oder reversible Transformation. Das bedeutet: Die Wirkung von jedem Quantengatter kann mit einem anderen Quantengatter rückgängig gemacht werden. Eine Folge davon ist, dass ein Quantengatter nicht mehr Eingänge als Ausgänge haben kann, denn dann würde ja eines der Eingangsqubits verloren gehen.

### Nicht-Kopierbarkeit

Da ein Quantengatter eine auf den Qubits durchgeführte Operation ist, kann ein Quantengatter nicht mehr Qubits erzeugen, als von Anfang an vorhanden sind. Insbesondere lässt sich der Zustand eines Qubits nicht kopieren, ohne den Ausgangszustand zu zerstören. Dies besagt das wichtige No-Cloning-Theorem. Während also in einem klassischen Schaltplan die Leitung von einem Bit in zwei Leitungen verzweigen kann, ist dies beim Quantencomputer nicht möglich.
Daher gibt es in einem Quantenschaltkreis genau eine Leitung pro Qubit. Diese wird durchgehend von links nach rechts im Schaltplan gezeichnet und beinhaltet die 1-Qubit-Gatter sowie die Anschlüsse der Mehr-Qubit-Gatter.

## Realisierung

Die physikalische Realisierung eines Quantengatters hängt selbstverständlich davon ab, wie die Qubits selbst physikalisch realisiert werden. In einer Ionenfalle festgehaltene Teilchen werden beispielsweise mit Hilfe von Photonen mit einem vorgegebenen Quantisierungszustand manipuliert, beispielsweise durch Laserpulse, welche den Spinzustand des jeweils äußeren Elektrons von zwei wechselwirkenden Ionen oder Atomen kohärent, d. h. mit kontrollierter Phase, manipulieren.
Die vorgeschlagenen und zum Teil auch realisierten Systeme basieren meist auf
* der Polarisation von Photonen (optischer Quantencomputer)
* Spin (von Elektron oder Kern) (Ionenfalle, NMR, optischer Resonator)
* Ladungen (Quantenpunkte, Josephson-Kontakte)
Für ein Gatter braucht man eine starke und kontrollierte Wechselwirkung. Die Art der Wechselwirkung hängt von den Informationsträgern ab. Es gibt viele verschiedene Arten von Quantengattern, die bereits realisiert wurden. Teilweise sind das elektronische Gatter mit supraleitenden Metallen, die dann aber auch sehr kalt sein müssen. Es gibt atomare Gatter, wo meist ionisierte Atome miteinander verrechnet werden und Gatter zwischen zwei Lichtteilchen.
Das erste CNOT-Gatter zwischen Photonen wurde 2003 realisiert, allerdings mit Techniken des Linear-Optical-Quantum-Computing (LOQC), also mit Techniken Optischer Computer. Die Schwierigkeit, eine Wechselwirkung zwischen einzelnen Photonen zu erzeugen, wurde dabei mit einem inhärent probabilistischen Schema umgangen.
Am Max-Planck-Institut für Quantenoptik in Garching wurde 2016 ein Photon-Photon-Logikgatter, bei dem die Lichtteilchen während der Verarbeitung nicht vernichtet werden, entwickelt. Dabei lässt sich Licht sehr leicht transportieren, weshalb man prinzipiell auch beliebig viele Gatter damit verbinden kann.
Ein Problem beim Arbeiten mit Quantengattern, d. h. dem gezielten Steuern von Qubits, besteht darin, dass die Zustandspräparierung des jeweils genutzten quantenphysikalischen Systems (Stabilisierung des Anfangszustands, gezielte Energieniveau-Änderung, Auslesen etc.) Rauschen erzeugt, so dass die Rechenergebnisse unter Umständen derart „ausfransen“ können, dass sie nicht mehr sinnvoll interpretierbar sind. Die Herstellung wenig oder gar nicht verrauschter Qubits und Quantengatter ist deshalb eine zentrale Aufgabe der Forschung.
Arbeitsweise eines als Ionenfalle realisierten Quantengatters :
| Schritt 1 | Schritt 2 | Schritt 3 |
| Ein Ion (gelb) wird in einer Ionenfalle durch ein elektromagnetisches Feld (blau) festgehalten und durch einen Laser gekühlt. Auf dieses Ion wird ein polarisiertes Photon (grün) „geschossen“. | Sobald das Photon auf das Ion trifft, entsteht eine Wechselwirkung zwischen den beiden Teilchen. Dies ist die eigentliche Rechenoperation an dem Quantensystem. | Wenn das Photon die Ionenfalle verlässt, hat das Ion einen Zustand eingenommen, der sich aus der Überlagerung des Quantenzustandes des Ions und des Photons ergibt. |

### 1-Qubit Gatter

Ein einzelnes Qubit mit den Zuständen $|0\rangle ,|1\rangle$ kann rein formal stets als Spin-Zustand eines Spin-½-Teilchens geschrieben werden. Die Zustände können daher stets als Elemente auf der so genannten Bloch-Kugel dargestellt werden. Ein Gatter, welches auf einem einzelnen Qubit arbeitet, kann dann formal als Rotation auf der Bloch-Kugel um einen bestimmten Winkel beschrieben werden. In der Regel werden die Basiszustände $|0\rangle ,|1\rangle$ mit den $\pm 1/2$ Eigenzuständen der z-Komponente des Spins identifiziert. Das Rotationsgatter $R_{\vec {n}}(\theta )=\exp[-i\theta \,{\vec {n}}\cdot {\vec {\sigma }}]$ rotiert das Qubit um die Achse ${\vec {n}}$ um den Winkel $\theta$. Wichtige Spezialfälle sind:
* NOT-Gatter (auch: NICHT-Gatter, $X$-Gatter): Rotation von 180º um die x-Achse:
       $\mathrm {NOT} \,|0\rangle =|1\rangle$
       $\mathrm {NOT} \,|1\rangle =|0\rangle$
* Phasenflip-Gatter (auch: $Z$-Gatter): Rotation von 180º um die z-Achse
       $Z\,|0\rangle =|0\rangle$
       $Z\,|1\rangle =-|1\rangle$
* Hadamard-Gatter $H$: Rotation von 90º um die y-Achse; überführt die Zustände der Standardbasis in gleichgewichtete Überlagerungszustände:
       $H\,|0\rangle =(|0\rangle +|1\rangle )/{\sqrt {2}}$
       $H\,|1\rangle =(|0\rangle -|1\rangle )/{\sqrt {2}}$

### 2-Qubit Gatter

Für Quantengatter, die auf zwei Qubits arbeiten, ist eine Wechselwirkung zwischen den fraglichen Qubits erforderlich. Bei Spin-Qubits kann dies unter anderem über die Austauschwechselwirkung geschehen. Atome in einer Ionenfalle könnten Photonen austauschen.
Da Gatter mit mehr als zwei Eingängen zwar theoretisch denkbar sind, aber auf Grund der dafür nötigen Mehrteilcheneffekte wesentlich komplexer umzusetzen sind, beschränkt man sich bei Vorschlägen für Quantencomputer in der Regel auf die 1- und 2-Qubit-Gatter. Es genügt ja, mit diesen Gattern eine universelle Menge von Gattern zu haben.
Das wichtigste Quantengatter ist das controlled-not gate $CNOT$, welches das Ziel Qubit in Abhängigkeit des Control Qubit negiert
* $CNOT$-Gatter: abhängig vom Zustand des Kontroll-Qubits (oben) wird der Zustand des Ziel-Qubits entweder negiert oder beibehalten
* $XX$-Gatter: verschränkt ein Qubit-Paar
* $SWAP$-Gatter: vertauscht ein Qubit-Paar
siehe auch:
* Liste der Quantengatter mit zwei Eingängen
* Optimal Quantum Circuits for General Two-Qubit Gates

### 3-Qubit Gatter

Zu den 3-Qubit Gattern zählen:
* ToffoliGate
** Besitzen beide Kontroll-Qubits den Zustand 1, wird der Wert des Ziel-Qubits (unten) negiert, sonst bleibt es unverändert. Das Toffoli-Gatter kann verschiedene logische Operationen durchführen (AND, XOR, NOT…) und ist daher universell einsetzbar.
* CSwapGate (Controlled-SWAP gate auch Fredkin gate)
* CCZGate (Three-qubit controlled-controlled Z gate)
** auch kontrollierter Z-Flip genannt, sorgt für eine Phasenumkehr des Ziel-Qubits, wenn alle Kontroll-Qubits den Zustand 1 haben
* PeresGate
* RCCXGate
* MargolusGate
* CiSwapGate

## Wirkung

Quantengatter mit einem einzigen Eingang sind in der Lage ein einzelnes Qubit zu verändern. Dieses Qubit kann lediglich entweder logisch 1 oder logisch 0 darstellen. Das allein ist also kein Vorteil im Vergleich zu den bisherigen elektronischen Gattern. Die Phasenlage ist jedoch ein Indikator dafür, wie wahrscheinlich die jeweiligen Zustände sind. Man spricht hierbei davon, dass sich die beiden Zustände $\left|0\right\rangle$ und $\left|1\right\rangle$ überlagern und sich das Qubit in Superposition befindet. Beispielsweise sind bei einer Phasenverschiebung von 90° die Messwerte zu 50 % logisch 1 und die anderen 50 % der Messwerte logisch 0. Eine Rechenoperation auf ein solches Qubit wird daher auf den Zustand $\left|0\right\rangle$ und den Zustand $\left|1\right\rangle$ gleichzeitig angewendet (sehe Quantenparallelismus).
Der Nachteil ist, dass bei einer Messung aufgrund des Kollaps der Wellenfunktion nur ein einzelnes mögliches Ergebnis zurückgeliefert wird. Ein brauchbares Ergebnis ist daher meistens nur durch mehrfaches Wiederholen der Rechenoperation und eine anschließende statistische Auswertung der Messergebnisse möglich. Wenn jedoch mit mehreren Qubits gleichzeitig gerechnet wird, kann man manchmal mit einem Trick, zum Beispiel der Quanten-Fouriertransformation, schon mit nur einer Berechnung an brauchbare Ergebnisse kommen.

## Anwendung

Aus den Basisoperationen der Gatter kann man komplexere Logikgatter und schließlich ganze Algorithmen zusammenstellen („kompilieren“). Der Quantencomputer wird programmiert, in dem man den Algorithmus aus bekannten Logikgattern zusammensetzt.