Diracnotation in Quantum Computing
Diracnotation ist so konzipiert, dass sie den genauen Anforderungen des Ausdrucks von Zuständen und linearer Algebra in der Quantenmechanik entspricht. Es ist nach dem Physiker Paul Dirac benannt, der die Notation in den 1930er Jahren entwickelte. Diracnotation ist eine präzise und leistungsstarke Möglichkeit, Quantenzustände und Operationen zu beschreiben. Es wird in Quantencomputing verwendet, um Quantenzustände, Quantenoperationen und Quantenmessungen zu beschreiben.
In diesem Artikel wird dirac notation vorgestellt und gezeigt, wie Sie es verwenden können, um Quantenzustände und -vorgänge zu beschreiben.
Einschränkungen der Spaltenvektor-Notation
Während die Spaltenvektornotation in der linearen Algebra üblich ist, wird sie häufig in Der Quantenverarbeitung verwendet, insbesondere bei mehreren Qubits. Wenn Sie beispielsweise $\psi$ als Vektor definieren, ist nicht klar, ob $\psi$ ein Zeilen- oder ein Spaltenvektor ist. Wenn also $\phi$ und $\psi$ Vektoren sind, ist es ebenso unklar, ob $\phi\psi$ überhaupt definiert ist, da die Formen von $\phi$ und $\psi$ im Kontext möglicherweise unklar sind. Neben der Mehrdeutigkeit der Formen von Vektoren lassen sich ggf. selbst einfache Vektoren nur umständlich mit linearer algebraischer Notation ausdrücken. Wenn Sie beispielsweise einen $n$-Qubit-Zustand beschreiben möchten, bei dem jedes Qubit den Wert $0$ annimmt, würde der Zustand formell wie folgt ausgedrückt:
$$\begin{bmatrix}1 \\ 0 \end{bmatrix}\otimes\cdots\otimes\begin{bmatrix}1 \\ 0 \end{bmatrix}. $$
Die Auswertung dieses Tensorprodukts ist unpraktisch, da der Vektor in einem exponentiell großen Raum liegt. Daher ist diese Notation tatsächlich die beste Beschreibung des Zustands, der mithilfe der vorherigen Notation angegeben werden kann.
Vektortypen in Dirac-Notation
In der Dirac-Notation gibt es zwei Arten von Vektoren: den Bra-Vektor und den Ket-Vektor, welche so benannt werden, da sie beim Zusammensetzen eine Klammer (Bracket) bzw. ein inneres Produkt bilden. Wenn $\psi$ ein Spaltenvektor ist, können Sie ihn in Dirac-Notation als $\ket{\psi}$ schreiben. Dabei gibt $\ket{\cdot}$ an, dass es sich um einen Einheitenspaltenvektor handelt (also beispielsweise um einen Ket-Vektor). In ähnlicher Weise wird der Zeilenvektor $\psi^\dagger$ ausgedrückt als $\bra{\psi}$. Anders ausgedrückt, $\psi^\dagger$ erhalten wir, indem wir eine eingabeseitig komplexe Konjugation auf die Elemente der Transponierung von $\psi$ anwenden. Die bra-ket-Notation impliziert direkt, dass $\braket{\psi|\psi}$ das innere Produkt des Vektors $\psi$ mit sich selbst ist, was gemäß Definition $1$ ist.
Allgemeiner ausgedrückt: Wenn $\psi$ und $\phi$ Quantenzustandsvektoren sind, ist deren inneres Produkt $\braket{\phi|\psi}$. Das innere Produkt impliziert, dass die Wahrscheinlichkeit, den Zustand $\ket{\psi}$ als $\ket{\phi}$ zu messen, $|\braket{\phi|\psi}|^2$ beträgt.
Die folgende Konvention wird verwendet, um die Quantenzustände zu beschreiben, welche die Werte von 0 und 1 codieren (die Berechnungsbasiszustände für einzelne Qubits):
$$\begin{bmatrix} 1 \\ 0 \end{bmatrix}=\ket{{0},\qquad\begin{bmatrix} 0 \\ 1 \end{bmatrix}=\ket{{1}. $$
Beispiel: Darstellen des Hadamard-Vorgangs mit Dirac-Notation
Die folgende Notation wird häufig verwendet, um die Zustände zu beschreiben, die sich aus der Anwendung des Hadamard-Gatters auf $\ket{0}$ und $\ket{1}$ ergeben. Diese Zustände entsprechen den Einheitenvektoren in der $+x$- und $-x$-Richtung auf der Bloch-Kugel:
$$\frac{1}{\sqrt{{2}}\begin{bmatrix} 1 \\ 1 \end{bmatrix}=H\ket{0}=\ket{+},\qquad\frac{1}{\sqrt{{2}}\begin{bmatrix} 1 \\ -1 \end{bmatrix}=H\ket{{1}=\ket{{-} . $$
Diese Zustände können auch mithilfe der Dirac-Notation als Summen von $\ket{0}$ und $\ket{1}$ erweitert werden:
$$\ket{+( +}{1}{\sqrt{2}}\frac{\ket{1}= ),\qquad{-}\frac{={1}{\sqrt{{2}}\ket{(\ket{\ket{0}{0} - ). \ket{1} $$
Berechnungsbasisvektoren
Dies zeigt, warum diese Zustände häufig als Berechnungsbasis bezeichnet werden: Jeder Quantenzustand kann stets als Summen von Berechnungsbasisvektoren ausgedrückt werden und solche Summen lassen sich problemlos mithilfe der Dirac-Notation ausdrücken. Das Gegenteil trifft auch zu, da die Zustände $\ket{+}$ und $\ket{-}$ auch eine Basis für Quantenzustände bilden. Dies können Sie daran erkennen, dass
$$\ket{{0}=\frac{1}{\sqrt{2}}(\ket{+} + \ket{-}),\qquad\frac{{1}{\sqrt{=\ket{{1}{2}}(\ket{+} - ). \ket{-} $$
Betrachten Sie als Beispiel für die Dirac-Notation die „Braket“ $\braket{0|1}$, bei der es sich um das innere Produkt zwischen $0$ und $1$ handelt. Dies kann wie folgt ausgedrückt werden:
$$\braket{0 | 1 1}=\begin{bmatrix} & 0 0 \end{bmatrix}\begin{bmatrix}\\ 1\end{bmatrix}=0. $$
In diesem Beispiel sind $\ket{{0}$ und $\ket{{1}$ orthogonale Vektoren, was bedeutet, dass $\braket{0 | 1}=\braket{1 | 0}=0$ ist. Definitionsgemäß gilt auch: $\braket{0 | 0}=\braket{1 | 1}=1$. Das bedeutet, dass die beiden Berechnungsbasisvektoren auch als orthonormal bezeichnet werden können.
Diese orthonormalen Eigenschaften werden im folgenden Beispiel verwendet. Wenn der Zustand $\ket{\psi}={\frac{3}{5}}\ket{{1} + {\frac{{4}{5}}\ket{0}$ vorliegt, liegt die Wahrscheinlichkeit der Messung von $1$ aufgrund von $\braket{1 | 0}=0$ bei:
$$\big|\braket{1 |\psi}\big|^2=\left|\frac{{3}{5}\braket{1 | 1} +\frac{{4}{5}\braket{1 | 0}\right|^2=\frac{{9}{{25}. $$
Tensor-Produkt-Notation
Diracnotation umfasst auch eine implizite Tensorproduktstruktur . Diese Struktur ist wichtig, da der von zwei nicht korrelierten Quantenregistern beschriebene Zustandsvektor beim Quantencomputing den Tensorprodukten der beiden Zustandsvektoren entspricht. Eine präzise Beschreibung der Tensorproduktstruktur oder deren Fehlen ist wichtig, wenn Sie eine Quantenberechnung erläutern möchten. Die Tensorproduktstruktur impliziert, dass Sie $\psi\otimes\phi$ für zwei beliebige Quantenzustandsvektoren $\phi$ und $\psi$ als $\ket{\psi}\otimes\ket{\phi}$ schreiben können. Allerdings ist das Schreiben von $\otimes$ zwischen den Vektoren aufgrund der Konvention unnötig, und Sie können einfach $\ket{\psi}\ket{\phi}=\ket{\psi\phi}$ schreiben. Weitere Informationen zu Vektoren und Tensorprodukten finden Sie unter Vektoren und Matrizen im Quantencomputing. Beispielsweise lautet der Zustand mit zwei qubits initialisiert in den Nullzustand:
$$\ket{0}\otimes\ket{0}=\ket{{0}\ket{{0}=\ket{{00}=\begin{bmatrix} 1 \\ 0 \end{bmatrix}\otimes\begin{bmatrix} 1 \\ 0 \end{bmatrix}=\begin{bmatrix} 1 \\ 0 \\ 0 \\ 0 \end{bmatrix}. $$
Analog dazu stellt der Zustand $\ket{p}$ für die ganze Zahl $p$ einen Quantenzustand dar, der die ganze Zahl $p$ in binärer Darstellung codiert. Wenn Sie beispielsweise die Zahl $5$ mithilfe einer binären Codierung ohne Vorzeichen ausdrücken möchten, können Sie sie auch wie folgt ausdrücken:
$$\ket{1}\ket{0}\ket{1}=\ket{101}=\ket{5}. $$
In dieser Notation muss $\ket{0}$ nicht auf einen Einzel-Qubit-Zustand verweisen, sondern auf ein Qubit-Register, das eine binäre Codierung von $0$ speichert. Die Unterschiede zwischen diesen beiden Notationen sind aus dem Kontext klar. Diese Konvention ist nützlich, um das erste Beispiel zu vereinfachen, das auf eine der folgenden Arten geschrieben werden kann:
$$\begin{bmatrix}1 \\ 0 \end{bmatrix}\otimes\cdots\otimes\begin{bmatrix}1 \\ 0 \end{bmatrix}=\ket{{0}\otimes\cdots\otimes\ket{0}=|0\cdots 0\rangle=\ket{{0}^{\otimes n}$$
bei dem $\ket{0}^{\otimes n}$ das Tensorprodukt von $n$$\ket{0}$ Quantenzuständen darstellt.
Beispiel: Beschreiben der Superposition mit Dirac-Notation
Als weiteres Beispiel für die Verwendung der Dirac-Notation zur Beschreibung eines Quantenzustands sollten Sie die folgenden äquivalenten Methoden zum Schreiben eines Quantenzustands berücksichtigen, der eine gleiche Superposition über jede mögliche Bitzeichenfolge der Länge $n ist.$
$$ H^{\otimes n}\ket{0}=\frac{1}{2^{n/2}}\sum_{j=0}^{2^n-1}\ket{j}=\ket{+}^{\otimes n}. $$
Hier fragen Sie sich vielleicht, warum die Summe sich ändert von $0$ auf $2^{n}-1$ for $n$ Bits. Beachten Sie zunächst, dass es $2^{n}$ verschiedene Konfigurationen gibt, die $n$ Bits annehmen können. Sie können dies daran erkennen, dass ein Bit $2$ Werte, zwei Bits jedoch $4$ Werte usw. enthalten können. Im Allgemeinen bedeutet dies, dass es $2^n$ verschiedene mögliche Bitzeichenfolgen gibt, aber der größte Wert, codiert in einer von diesen ist $1\cdots 1=2^n-1$ – und ist somit die Obergrenze für die Summe. Nebenbei bemerkt wurde in diesem Beispiel nicht $\ket{+}^{\otimes n}=\ket{+}$ analog zu $\ket{{0}^{\otimes n}=\ket{{0}$ verwendet. Diese Notationalkonvention ist für den berechnungsbasierten Basiszustand reserviert, wobei jeder qubit initialisiert auf Null ist. Eine solche Konvention ist in diesem Fall zwar sinnvoll, wird aber nicht in der Quantencomputing-Literatur eingesetzt.
Ausdrücken von Linearität mit Dirac-Notation
Ein weiteres Feature der Dirac-Notation ist ihre Linearität. Beispielsweise kann für zwei komplexe Zahlen $\alpha$ und $\beta$ Folgendes geschrieben werden:
$$\ket{\psi}\otimes ( \alpha\ket{\phi} + \beta\ket{\chi})=\alpha\ket{\psi}\ket{\phi} + \beta\ket{\psi}\ket{\chi}.$$
Das heißt, Sie können die Tensorprodukt-Notation in der Dirac-Notation verteilen, sodass die Übernahme von Tensorprodukten zwischen Zustandsvektoren wie eine normale Multiplikation aussieht.
Bra-Vektoren folgen einer ähnlichen Konvention wie Ket-Vektoren. Beispielsweise ist der Vektor $\bra{\psi}\bra{\phi}$ äquivalent zum Zustandsvektor $\psi^\dagger\otimes\phi^\dagger=(\psi\otimes\phi)^\dagger$. Angenommen, der Ket-Vektor $\ket{\psi}$ ist $\alpha\ket{0} + \beta\ket{1}$. Dann sieht die Bra-Version des Vektors wie folgt aus: $\bra{\psi}=\ket{\psi}^\dagger= (\bra{{0}\alpha^* +\bra{1}\beta^*)$.
Stellen Sie sich beispielsweise vor, dass Sie die Wahrscheinlichkeit der Messung des Zustands $\ket{\psi}=\frac{3}{5}\ket{{1} + \frac{4}{5}\ket{0}$ mithilfe eines Quantenprogramms berechnen möchten, das Zustände entweder als $\ket{+}$ oder als $\ket{{-}$ misst. Dann lautet die Wahrscheinlichkeit dafür, dass das Gerät ausgibt, dass der Status $\ket{-}$
$$|\braket{- |\psi}|^2=\left|\frac{{1}{\sqrt{{2}}(\bra{0} - \bra{{1})(\frac{3}{5}\ket{{1} + \frac{{4}{5}\ket{0}) \right|^2=\left|-\frac{3}{5\sqrt{{2}} + \frac{{4}{5\sqrt{2}}\right|^2=\frac{{1}{{50}.$$
Die Tatsache, dass das negative Vorzeichen bei der Berechnung der Wahrscheinlichkeit erscheint, ist ein Phänomen der Quanteninterferenz – einer der Mechanismen, welche dem Quantencomputing Vorteile gegenüber dem klassischen Computing verleihen.
Ketbra oder äußeres Produkt
Das letzte Element, das in der Dirac-Notation behandelt werden sollte, ist das Ketbra- oder äußere Produkt. Das äußere Produkt wird in Dirac-Notationen dargestellt als $\ket{\psi}\bra{\phi}$ und manchmal als „Ketbras“ bezeichnet, da die Bras und Kets in umgekehrter Reihenfolge als bei „Brakets“ auftreten. Das äußere Produkt wird per Matrix-Multiplikation definiert als $\ket{\psi}\bra{\phi}=\psi\phi^\dagger$ für Quantenzustandsvektoren $\psi$ und $\phi$. Das einfachste und wohl gängigste Beispiel für diese Notation ist
$$\ket{0}\bra{{0}=\begin{bmatrix}1\\ 0 \end{bmatrix}\begin{bmatrix}1& 0 \end{bmatrix}=\begin{bmatrix}1 & 0 0\\ & 0 0\end{bmatrix}=\ket{1}\qquad\begin{bmatrix}\\\bra{1} 1 \end{bmatrix}\begin{bmatrix}0& 1 \end{bmatrix}=\begin{bmatrix}0 & 0 0\\ & 1\end{bmatrix}. $$
Ketbras werden häufig als Projektoren bezeichnet, da sie einen Quantenzustand auf einen festen Wert projiziert haben. Da diese Vorgänge nicht unitär sind (und nicht einmal die Norm eines Vektors beibehalten), kann ein Quantencomputer einen Projektor nicht deterministisch anwenden. Projektoren können jedoch wunderbar die Aktion beschreiben, welche die Messung für einen Quantenzustand hat. Wenn Sie beispielsweise den Zustand $\ket{\psi}$ mit $0$ messen, sieht die resultierende Transformation, die der Zustand als Ergebnis der Messung erfährt, wie folgt aus:
$$\ket{\psi}\rightPfeil \frac{(\ket{{0}\bra{{0})\ket{\psi}}{|\braket{0 |\psi}|}=\ket{{0},$$
wie Erwartet, wenn Sie den Zustand gemessen und gefunden haben $\ket{0}$. Um dies zu wiederholen, können solche Projektoren nicht deterministisch auf einen Zustand in einem Quantencomputer angewendet werden. Stattdessen können sie bestenfalls nach dem Zufallsprinzip angewendet werden, wenn das Ergebnis $\ket{0}$ mit einer festen Wahrscheinlichkeit angezeigt wird. Die Wahrscheinlichkeit, dass eine solche Messung erfolgreich ist, kann geschrieben werden als Erwartungswert des Quantenprojektors im Zustand
$$\bra{\psi} (\ket{0}\bra{0})\ket{\psi}=|\braket{\psi| 0}|^2, $$
Dies veranschaulicht, dass Projektoren eine neue Möglichkeit bieten, den Messungsprozess auszudrücken.
Wenn stattdessen das erste Qubit eines Multi-Qubit-Zustands mit $1$ gemessen wird, lässt sich auch dieser Prozess bequem mithilfe von Projektoren und Dirac-Notation beschreiben:
$$P(\text{first qubit = 1})=\bra{\psi}\left(\ket{{1}\bra{{1}\otimes \mathbf{\mathbf{1}^{\otimes n-1}\right) . \ket{\psi} $$
Hier kann die Identitätsmatrix bequem in Dirac-Notation geschrieben werden als
$$\mathbb{I}{0}=\ket{\bra{0}+\ket{\bra{1}={1}\begin{bmatrix}1& 0 0\\& amp; 1 \end{bmatrix}. $$
Für den Fall, dass zwei Qubits vorhanden sind, kann der Projektor erweitert werden als
$$\ket{1}\bra{1}\otimes\mathbb{I}\ket{\otimes={1}\bra{1} (\ket{0}\bra{0}+\ket{1}{1}\bra{)={10}\ket{10}\bra{ + . \ket{{11}\bra{{11} $$
Sie sehen dann, dass dies mit der Diskussion über die Wahrscheinlichkeit von Messungen für Multi-Qubit-Zustände mithilfe der Spaltenvektor-Notation konsistent ist:
$$ P(\text{erstes Qubit = 1})=\psi^\dagger (e_{10}e_{10}^\dagger + e_{{11}e_{{11}^\dagger)\psi=|e_{{10}^\dagger\psi|^2 + |e_{11}^\dagger\psi|^2, $$
Dies entspricht der Diskussion zur Multi-Qubit-Messung. Die Generalisierung dieses Ergebnisses für den Multi-Qubit-Fall ist jedoch mit Dirac-Notation etwas einfacher auszudrücken als mit Spaltenvektor-Notation und entspricht vollständig der vorherigen Behandlung.
Dichteoperatoren
Ein weiterer nützlicher Operator zum Ausdrücken mit Dirac-Notation ist ein Dichteoperator, der manchmal auch als Zustandsoperator bezeichnet wird. Als Quantenzustandsvektor beschreibt der Dichteoperator den Quantenzustand eines Systems. Während Quantenzustandsvektoren nur reine Zustände darstellen können, können Dichteoperatoren auch gemischte Zustände darstellen.
Im Allgemeinen ist eine bestimmte Matrix $\rod$ ein gültiger Dichteoperator, wenn die folgenden Bedingungen erfüllt sind:
- $\rho$ ist eine Matrix komplexer Zahlen.
- $\rho = \rho^{\dagger}$ (d. h. $\rho$ ist Hermitian)
- Jeder Eigenwert $p$ von $\rho$ ist nicht negativ
- Alle Eigenwerte von $\rho$ ergeben addiert 1
Zusammen garantieren diese Bedingungen, dass $\rho$ als Ensemble betrachtet werden kann. Ein Dichteoperator für einen Quantenzustandsvektor $\ket{\psi}$ hat die Form $\rho =\sum_i p_i \ket{\psi_i}\bra{\psi_i}$ ist eine Eigenwertdekomposition von $\rho$, und $\rho$ beschreibt dann das Ensemble $\rho ={\ket{\psi_i}\text{ mit der Wahrscheinlichkeit } p_i }$.
Reine Quantenzustände sind diejenigen, die durch einen einzelnen Ket-Vektor oder eine Wellenfunktion gekennzeichnet sind und nicht als statistische Mischung (oder konvexe Kombination) anderer Quantenzustände geschrieben werden können. Ein gemischter Quantenzustand ist ein statistisches Ensemble reiner Zustände.
Auf einer Bloch-Kugel werden reine Zustände durch einen Punkt auf der Oberfläche der Kugel dargestellt, während gemischte Zustände durch einen Innenpunkt dargestellt werden. Der gemischte Zustand eines einzelnen Qubits wird durch die Mitte der Kugel durch Symmetrie dargestellt. Die Reinheit eines Zustands kann als gradualisiert werden, in dem es nahe an der Oberfläche der Kugel liegt.
Dieses Konzept der Darstellung des Zustands als Matrix anstelle eines Vektors ist häufig praktisch, da es eine bequeme Möglichkeit zur Darstellung von Wahrscheinlichkeitsberechnungen bietet, und es Ihnen auch ermöglicht, sowohl statistische Unsicherheit als auch Quantenunsicherheit innerhalb desselben Formalismus zu beschreiben.
Ein Dichteoperator $\rho$ stellt nur dann einen reinen Zustand dar, wenn:
- $\rho$ als äußeres Produkt eines Zustandsvektors geschrieben werden kann: $\rho=\ket{\psi}\bra{\psi}$
- $\rho =\rho^2$
- $tr(\rho^2)=1$
Um herauszufinden, wie rein ein angegebener Dichteoperator $\rho$ ist, können Sie die Ablaufverfolgung (d. h., die Summe der diagonalen Elemente) von $\rho^2$ betrachten. Ein Dichteoperator stellt nur dann einen reinen Zustand dar, wenn $tr(\rho ^{2})=1$.
Q# Gatesequenzen, die Quantenzuständen entsprechen
Ein letzter Punkt zur Quantennotation und zur Programmiersprache Q#: Am Anfang dieses Dokuments wurde erwähnt, dass der Quantenzustand das grundlegende Objekt von Informationen beim Quantencomputing ist. Es kann dann eine Überraschung sein, dass es in Q# kein Konzept eines Quantenzustands gibt. Stattdessen werden alle Zustände nur von den Vorgängen beschrieben, die zu deren Vorbereitung verwendet werden. Das vorherige Beispiel ist eine hervorragende Veranschaulichung dafür. Anstatt eine einheitliche Superposition über jede Quantenbitzeichenfolge in einem Register auszudrücken, können Sie das Ergebnis als $H^{\otimes n}\ket{0}$ darstellen. Diese exponentiell kürzere Beschreibung des Zustands hat nicht nur den Vorteil, dass Sie klassisch darüber nachdenken können, sie definiert auch präzise die Vorgänge, die zum Implementieren des Algorithmus durch den Softwarestapel propagiert werden müssen. Aus diesem Grund ist Q# darauf ausgelegt, Gatesequenzen anstelle von Quantenzuständen auszugeben. Auf theoretischer Ebene sind die beiden Perspektiven jedoch gleichwertig.