Zum Hauptinhalt springen
Dieses Projekt befindet sich in der Beta-Phase. Einen Fehler gefunden? GitHub Issue erstellen. Frage oder Idee? In Discussions fragen — wir freuen uns über dein Feedback!
Wie ist die Übersetzungsqualität auf dieser Seite?

Das Phasenabschätzungsverfahren

Als nächstes besprechen wir das Phasenabschätzungsverfahren, einen Quantenalgorithmus zur Lösung des Phasenabschätzungsproblems.

Wir beginnen mit einer Aufwärmübung mit niedriger Genauigkeit, die die grundlegende Intuition hinter der Methode vermittelt. Anschließend sprechen wir über die Quanten-Fourier-Transformation, eine wichtige Quantenoperation, die im Phasenabschätzungsverfahren verwendet wird, sowie über ihre Implementierung als Quantenschaltkreis. Sobald wir die Quanten-Fourier-Transformation verstanden haben, beschreiben wir das Phasenabschätzungsverfahren in voller Allgemeinheit und analysieren seine Leistung.

Aufwärmübung: Phasen mit niedriger Genauigkeit annähern​

Wir beginnen mit ein paar einfachen Varianten des Phasenabschätzungsverfahrens, die Lösungen mit niedriger Genauigkeit für das Phasenabschätzungsproblem liefern. Dies hilft dabei, die Intuition hinter dem allgemeinen Verfahren zu erklären, das wir etwas später in der Lektion kennenlernen werden.

Den Phase-Kickback nutzen​

Ein einfacher Ansatz für das Phasenabschätzungsproblem, mit dem wir etwas über den gesuchten Wert θ\theta erfahren können, basiert auf dem Phase-Kickback-Phänomen. Wie wir sehen werden, handelt es sich dabei im Wesentlichen um eine Einzel-Qubit-Version des allgemeinen Phasenabschätzungsverfahrens, das später in der Lektion besprochen wird.

Als Teil der Eingabe für das Phasenabschätzungsproblem haben wir einen unitären Quantenschaltkreis für die Operation UU. Wir können die Beschreibung dieses Schaltkreises nutzen, um einen Schaltkreis für eine kontrollierte-UU-Operation zu erstellen, was die folgende Abbildung veranschaulicht (mit der Operation UU, betrachtet als Quantengate, links und einer kontrollierten-UU-Operation rechts).

Unkontrollierte und kontrollierte Versionen einer unitären Operation

Wir können einen Quantenschaltkreis für eine kontrollierte-UU-Operation erstellen, indem wir zunächst dem Schaltkreis für UU ein Kontroll-Qubit hinzufügen und dann jedes Gate im Schaltkreis für UU durch eine kontrollierte Version dieses Gates ersetzen — unser neues Kontroll-Qubit kontrolliert also effektiv jedes einzelne Gate im Schaltkreis für UU. Dies erfordert, dass wir eine kontrollierte Version jedes Gates in unserem Schaltkreis haben, aber wir können stets Schaltkreise für diese kontrollierten Operationen aufbauen, falls sie nicht in unserem Gate-Set enthalten sind.

Betrachten wir nun den folgenden Schaltkreis, bei dem der Eingangszustand ∣ψ⟩\vert\psi\rangle aller Qubits außer dem obersten der Eigenvektor-Quantenzustand von UU ist.

Ein Einzel-Qubit-Schaltkreis zur Phasenabschätzung

Die Messausgangswahrscheinlichkeiten für diesen Schaltkreis hängen vom Eigenwert von UU ab, der dem Eigenvektor ∣ψ⟩\vert\psi\rangle entspricht. Analysieren wir den Schaltkreis im Detail, um genau herauszufinden, wie.

Zustände eines Einzel-Qubit-Schaltkreises zur Phasenabschätzung

Der Anfangszustand des Schaltkreises ist

∣π0⟩=∣ψ⟩∣0⟩\vert\pi_0\rangle = \vert\psi\rangle \vert 0\rangle

und das erste Hadamard-Gate transformiert diesen Zustand zu

∣π1⟩=∣ψ⟩∣+⟩=12∣ψ⟩∣0⟩+12∣ψ⟩∣1⟩.\vert\pi_1\rangle = \vert\psi\rangle \vert +\rangle = \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 0\rangle + \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 1\rangle.

Als nächstes wird die kontrollierte-UU-Operation ausgeführt, was zum Zustand führt

∣π2⟩=12∣ψ⟩∣0⟩+12(U∣ψ⟩)∣1⟩.\vert\pi_2\rangle = \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 0\rangle + \frac{1}{\sqrt{2}} \bigl(U \vert\psi\rangle\bigr) \vert 1\rangle.

Unter der Annahme, dass ∣ψ⟩\vert\psi\rangle ein Eigenvektor von UU mit dem Eigenwert λ=e2πiθ\lambda = e^{2\pi i\theta} ist, können wir diesen Zustand alternativ wie folgt ausdrücken.

∣π2⟩=12∣ψ⟩∣0⟩+e2πiθ2∣ψ⟩∣1⟩=∣ψ⟩⊗(12∣0⟩+e2πiθ2∣1⟩)\vert\pi_2\rangle = \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 0\rangle + \frac{e^{2\pi i \theta}}{\sqrt{2}} \vert\psi\rangle \vert 1\rangle = \vert\psi\rangle \otimes \left( \frac{1}{\sqrt{2}} \vert 0\rangle + \frac{e^{2\pi i \theta}}{\sqrt{2}} \vert 1\rangle\right)

Hier beobachten wir das Phase-Kickback-Phänomen. Es unterscheidet sich diesmal etwas von dem, was wir bei Deutschs Algorithmus und dem Deutsch-Jozsa-Algorithmus gesehen haben, da wir nicht mit einem Query-Gate arbeiten — aber die Idee ist ähnlich.

Schließlich wird das zweite Hadamard-Gate ausgeführt. Nach einer kleinen Vereinfachung erhalten wir folgenden Ausdruck für diesen Zustand.

∣π3⟩=∣ψ⟩⊗(1+e2πiθ2∣0⟩+1−e2πiθ2∣1⟩)\vert\pi_3\rangle = \vert\psi\rangle \otimes \left( \frac{1+ e^{2\pi i \theta}}{2} \vert 0\rangle + \frac{1 - e^{2\pi i \theta}}{2} \vert 1\rangle\right)

Die Messung liefert daher die Ergebnisse 00 und 11 mit diesen Wahrscheinlichkeiten:

p0=∣1+e2πiθ2∣2=cos⁡2(πθ)p1=∣1−e2πiθ2∣2=sin⁡2(πθ).\begin{aligned} p_0 &= \left\vert \frac{1+ e^{2\pi i \theta}}{2} \right\vert^2 = \cos^2(\pi\theta)\\[1mm] p_1 &= \left\vert \frac{1- e^{2\pi i \theta}}{2} \right\vert^2 = \sin^2(\pi\theta). \end{aligned}

Hier ist ein Diagramm der Wahrscheinlichkeiten für die beiden möglichen Ergebnisse, 00 und 11, als Funktionen von θ\theta.

Ergebniswahrscheinlichkeiten aus dem Phase-Kickback

Naturgemäß ergeben die beiden Wahrscheinlichkeiten stets die Summe 11. Beachte, dass wenn θ=0\theta = 0, das Messergebnis immer 00 ist, und wenn θ=1/2\theta = 1/2, das Messergebnis immer 11 ist. Obwohl das Messergebnis also nicht genau preisgibt, was θ\theta ist, liefert es uns doch einige Informationen darüber — und wenn uns versprochen worden wäre, dass entweder θ=0\theta = 0 oder θ=1/2\theta = 1/2 gilt, könnten wir aus dem Schaltkreis fehlerfrei erfahren, welches der Fall ist.

Intuitiv lässt sich das Messergebnis des Schaltkreises als eine Schätzung von θ\theta mit „einem Bit Genauigkeit" verstehen. Mit anderen Worten: Würden wir θ\theta in Binärdarstellung schreiben und auf ein Bit runden, erhielten wir eine Zahl wie diese:

0.a={0a=012a=1.0.a = \begin{cases} 0 & a = 0\\ \frac{1}{2} & a = 1. \end{cases}

Das Messergebnis kann als Schätzung des Bits aa betrachtet werden. Wenn θ\theta weder 00 noch 1/21/2 ist, besteht eine von null verschiedene Wahrscheinlichkeit, dass die Schätzung falsch ist — aber die Fehlerwahrscheinlichkeit wird immer kleiner, je näher wir 00 oder 1/21/2 kommen.

Es ist naheliegend zu fragen, welche Rolle die beiden Hadamard-Gates in diesem Verfahren spielen:

  • Das erste Hadamard-Gate versetzt das Kontroll-Qubit in eine gleichmäßige Superposition von ∣0⟩\vert 0\rangle und ∣1⟩\vert 1\rangle, sodass der Phase-Kickback beim Zustand ∣1⟩\vert 1\rangle und nicht beim Zustand ∣0⟩\vert 0\rangle auftritt und eine relative Phasendifferenz erzeugt, die die Messergebnisse beeinflusst. Würden wir dies nicht tun und würde der Phase-Kickback eine globale Phase erzeugen, hätte er keinen Einfluss auf die Wahrscheinlichkeiten verschiedener Messergebnisse.

  • Das zweite Hadamard-Gate ermöglicht es uns, durch das Phänomen der Interferenz etwas über die Zahl θ\theta zu erfahren. Vor dem zweiten Hadamard-Gate befindet sich das oberste Qubit im Zustand

    12∣0⟩+e2πiθ2∣1⟩,\frac{1}{\sqrt{2}} \vert 0\rangle + \frac{e^{2\pi i \theta}}{\sqrt{2}} \vert 1\rangle,

    und wenn wir diesen Zustand messen würden, erhielten wir 00 und 11 jeweils mit Wahrscheinlichkeit 1/21/2, was uns nichts über θ\theta verrät. Durch das zweite Hadamard-Gate bewirken wir jedoch, dass die Zahl θ\theta die Ausgangswahrscheinlichkeiten beeinflusst.

Die Phase verdoppeln​

Der obige Schaltkreis nutzt das Phase-Kickback-Phänomen, um θ\theta auf ein einzelnes Bit Genauigkeit anzunähern. Ein Bit Genauigkeit mag in manchen Situationen ausreichen — aber für die Faktorisierung werden wir sehr viel mehr Genauigkeit benötigen. Eine naheliegende Frage ist: Wie können wir mehr über θ\theta erfahren?

Eine sehr einfache Möglichkeit besteht darin, die kontrollierte-UU-Operation in unserem Schaltkreis durch zwei Kopien dieser Operation zu ersetzen, wie in diesem Schaltkreis:

Einzel-Bit-Phasenabschätzung verdoppelt

Zwei Kopien einer kontrollierten-UU-Operation entsprechen einer kontrollierten-U2U^2-Operation. Wenn ∣ψ⟩\vert\psi\rangle ein Eigenvektor von UU mit dem Eigenwert λ=e2πiθ\lambda = e^{2\pi i \theta} ist, dann ist dieser Zustand auch ein Eigenvektor von U2U^2, diesmal mit dem Eigenwert λ2=e2πi(2θ)\lambda^2 = e^{2\pi i (2\theta)}.

Wenn wir diese Version des Schaltkreises ausführen, führen wir also effektiv dieselbe Berechnung wie zuvor durch, nur dass die Zahl θ\theta durch 2θ2\theta ersetzt wird. Hier ist ein Diagramm, das die Ausgangswahrscheinlichkeiten zeigt, während θ\theta von 00 bis 11 variiert.

Ergebniswahrscheinlichkeiten aus dem doppelten Phase-Kickback

Dies kann uns tatsächlich einige zusätzliche Informationen über θ\theta liefern. Wenn die Binärdarstellung von θ\theta lautet

θ=0.a1a2a3⋯\theta = 0.a_1 a_2 a_3\cdots

dann verschiebt die Verdopplung von θ\theta den Binärpunkt effektiv um eine Stelle nach rechts:

2θ=a1.a2a3⋯2\theta = a_1. a_2 a_3\cdots

Da wir θ=1\theta = 1 mit θ=0\theta = 0 gleichsetzen, wenn wir uns auf dem Einheitskreis bewegen, hat das Bit a1a_1 keinen Einfluss auf unsere Wahrscheinlichkeiten, und wir erhalten effektiv eine Schätzung für das zweite Bit nach dem Binärpunkt, wenn wir θ\theta auf zwei Bits runden. Wenn wir beispielsweise im Voraus wüssten, dass θ\theta entweder 00 oder 1/41/4 ist, könnten wir dem Messergebnis vollständig vertrauen.

Es ist jedoch nicht unmittelbar klar, wie diese Schätzung mit dem, was wir aus dem ursprünglichen (nicht verdoppelten) Phase-Kickback-Schaltkreis gelernt haben, in Einklang gebracht werden sollte, um möglichst genaue Informationen über θ\theta zu erhalten. Lass uns daher einen Schritt zurücktreten und überlegen, wie wir vorgehen sollten.

Zwei-Qubit-Phasenabschätzung​

Anstatt die beiden oben beschriebenen Optionen getrennt zu betrachten, kombinieren wir sie in einem einzigen Schaltkreis wie folgt.

Das anfängliche Setup zur Phasenabschätzung mit zwei Qubits

Die Hadamard-Gates nach den kontrollierten Operationen wurden entfernt, und es gibt hier noch keine Messungen. Wir werden den Schaltkreis erweitern, wenn wir unsere Optionen zur bestmöglichen Gewinnung von Informationen über θ\theta abwägen.

Wenn wir diesen Schaltkreis ausführen, während ∣ψ⟩\vert\psi\rangle ein Eigenvektor von UU ist, bleibt der Zustand der unteren Qubits während des gesamten Schaltkreises ∣ψ⟩\vert\psi\rangle, und Phasen werden in den Zustand der oberen zwei Qubits „gekickt". Analysieren wir den Schaltkreis sorgfältig anhand der folgenden Abbildung.

Zustände für die Phasenabschätzung mit zwei Qubits

Wir können den Zustand ∣π1⟩\vert\pi_1\rangle wie folgt schreiben:

∣π1⟩=∣ψ⟩⊗12∑a0=01∑a1=01∣a1a0⟩.\vert\pi_1\rangle = \vert \psi\rangle \otimes \frac{1}{2} \sum_{a_0 = 0}^1 \sum_{a_1 = 0}^1 \vert a_1 a_0 \rangle.

Wenn die erste kontrollierte-UU-Operation ausgeführt wird, wird der Eigenwert λ=e2πiθ\lambda = e^{2\pi i\theta} in die Phase „gekickt", wenn a0a_0 (das oberste Qubit) gleich 11 ist, aber nicht wenn es 00 ist. Den resultierenden Zustand können wir so ausdrücken:

∣π2⟩=∣ψ⟩⊗12∑a0=01∑a1=01e2πia0θ∣a1a0⟩.\vert\pi_2\rangle = \vert\psi\rangle \otimes \frac{1}{2} \sum_{a_0=0}^1 \sum_{a_1=0}^1 e^{2 \pi i a_0 \theta} \vert a_1 a_0 \rangle.

Das zweite und das dritte kontrollierte-UU-Gate tun etwas Ähnliches, jedoch für a1a_1 anstatt a0a_0, wobei θ\theta durch 2θ2\theta ersetzt wird. Den resultierenden Zustand können wir so ausdrücken:

∣π3⟩=∣ψ⟩⊗12∑a0=01∑a1=01e2πi(2a1+a0)θ∣a1a0⟩.\vert\pi_3\rangle = \vert\psi\rangle\otimes\frac{1}{2}\sum_{a_0 = 0}^1 \sum_{a_1 = 0}^1 e^{2\pi i (2 a_1 + a_0)\theta} \vert a_1 a_0 \rangle.

Wenn wir den Binärstring a1a0a_1 a_0 als eine ganze Zahl x∈{0,1,2,3}x \in \{0,1,2,3\} in Binärdarstellung betrachten, also x=2a1+a0x = 2 a_1 + a_0, können wir diesen Zustand alternativ wie folgt ausdrücken.

∣π3⟩=∣ψ⟩⊗12∑x=03e2πixθ∣x⟩\vert\pi_3\rangle = \vert \psi\rangle \otimes \frac{1}{2} \sum_{x = 0}^3 e^{2\pi i x \theta} \vert x \rangle

Unser Ziel ist es, aus diesem Zustand so viele Informationen wie möglich über θ\theta zu gewinnen.

An dieser Stelle betrachten wir einen Spezialfall, bei dem uns zugesichert wird, dass θ=y4\theta = \frac{y}{4} für eine ganze Zahl y∈{0,1,2,3}y\in\{0,1,2,3\} gilt. Mit anderen Worten, wir haben θ∈{0,1/4,1/2,3/4}\theta\in \{0, 1/4, 1/2, 3/4\}, sodass wir diese Zahl mit binärer Notation und zwei Bits exakt ausdrücken können, als .0000, .0101, .1010 oder .1111. Im Allgemeinen ist θ\theta möglicherweise nicht einer dieser vier Werte, aber das Nachdenken über diesen Spezialfall wird uns helfen herauszufinden, wie wir Informationen über θ\theta im Allgemeinen am effektivsten extrahieren können.

Zunächst definieren wir für jeden möglichen Wert y∈{0,1,2,3}y \in \{0, 1, 2, 3\} einen Zwei-Qubit-Zustandsvektor.

∣ϕy⟩=12∑x=03e2πix(y4)∣x⟩=12∑x=03e2πixy4∣x⟩\vert \phi_y\rangle = \frac{1}{2} \sum_{x = 0}^3 e^{2\pi i x (\frac{y}{4})} \vert x \rangle = \frac{1}{2} \sum_{x = 0}^3 e^{2\pi i \frac{x y}{4}} \vert x \rangle

Nach Vereinfachung der Exponentialterme können wir diese Vektoren wie folgt schreiben.

∣ϕ0⟩=12∣0⟩+12∣1⟩+12∣2⟩+12∣3⟩∣ϕ1⟩=12∣0⟩+i2∣1⟩−12∣2⟩−i2∣3⟩∣ϕ2⟩=12∣0⟩−12∣1⟩+12∣2⟩−12∣3⟩∣ϕ3⟩=12∣0⟩−i2∣1⟩−12∣2⟩+i2∣3⟩\begin{aligned} \vert\phi_0\rangle & = \frac{1}{2} \vert 0 \rangle + \frac{1}{2} \vert 1 \rangle + \frac{1}{2} \vert 2 \rangle + \frac{1}{2} \vert 3 \rangle \\[3mm] \vert\phi_1\rangle & = \frac{1}{2} \vert 0 \rangle + \frac{i}{2} \vert 1 \rangle - \frac{1}{2} \vert 2 \rangle - \frac{i}{2} \vert 3 \rangle \\[3mm] \vert\phi_2\rangle & = \frac{1}{2} \vert 0 \rangle - \frac{1}{2} \vert 1 \rangle + \frac{1}{2} \vert 2 \rangle - \frac{1}{2} \vert 3 \rangle \\[3mm] \vert\phi_3\rangle & = \frac{1}{2} \vert 0 \rangle - \frac{i}{2} \vert 1 \rangle - \frac{1}{2} \vert 2 \rangle + \frac{i}{2} \vert 3 \rangle \end{aligned}

Diese Vektoren sind orthogonal: Wenn wir ein beliebiges Paar von ihnen wählen und ihr inneres Produkt berechnen, erhalten wir 00. Jeder ist auch ein Einheitsvektor, sodass {∣ϕ0⟩,∣ϕ1⟩,∣ϕ2⟩,∣ϕ3⟩}\{\vert\phi_0\rangle, \vert\phi_1\rangle, \vert\phi_2\rangle, \vert\phi_3\rangle\} eine Orthonormalbasis ist. Wir wissen daher sofort, dass es eine Messung gibt, die sie perfekt unterscheiden kann — das heißt, wenn einer von ihnen vorgegeben wird, ohne zu sagen welcher, können wir fehlerfrei herausfinden, welcher es ist.

Um eine solche Unterscheidung mit einem Quantenschaltkreis durchzuführen, können wir zunächst eine unitäre Operation VV definieren, die Standardbasiszustände in die vier oben aufgelisteten Zustände transformiert.

V∣00⟩=∣ϕ0⟩V∣01⟩=∣ϕ1⟩V∣10⟩=∣ϕ2⟩V∣11⟩=∣ϕ3⟩\begin{aligned} V \vert 00 \rangle & = \vert\phi_0\rangle \\ V \vert 01 \rangle & = \vert\phi_1\rangle \\ V \vert 10 \rangle & = \vert\phi_2\rangle \\ V \vert 11 \rangle & = \vert\phi_3\rangle \end{aligned}

Um VV als 4×44\times 4-Matrix aufzuschreiben, nimmt man einfach die Zustände ∣ϕ0⟩,…,∣ϕ3⟩\vert\phi_0\rangle,\ldots,\vert\phi_3\rangle als Spalten von VV.

V=12(11111i−1−i1−11−11−i−1i)V = \frac{1}{2} \begin{pmatrix} 1 & 1 & 1 & 1\\[1mm] 1 & i & -1 & -i\\[1mm] 1 & -1 & 1 & -1\\[1mm] 1 & -i & -1 & i \end{pmatrix}

Dies ist eine besondere Matrix, die einigen Lesern wahrscheinlich schon begegnet ist: Es handelt sich um die Matrix, die mit der 44-dimensionalen diskreten Fourier-Transformation assoziiert ist. Angesichts dieser Tatsache bezeichnen wir sie nicht mit VV, sondern mit QFT4\mathrm{QFT}_4. Der Name QFT\mathrm{QFT} steht für Quanten-Fourier-Transformation — was im Wesentlichen nur die diskrete Fourier-Transformation ist, betrachtet als unitäre Operation. Wir werden die Quanten-Fourier-Transformation in Kürze ausführlicher und allgemeiner diskutieren.

QFT4=12(11111i−1−i1−11−11−i−1i)\mathrm{QFT}_4 = \frac{1}{2} \begin{pmatrix} 1 & 1 & 1 & 1\\[1mm] 1 & i & -1 & -i\\[1mm] 1 & -1 & 1 & -1\\[1mm] 1 & -i & -1 & i \end{pmatrix}

Wir können die Inverse dieser Operation anwenden, um den umgekehrten Weg zu gehen und die Zustände ∣ϕ0⟩,…,∣ϕ3⟩\vert\phi_0\rangle,\ldots,\vert\phi_3\rangle in die Standardbasiszustände ∣0⟩,…,∣3⟩\vert 0\rangle,\ldots,\vert 3\rangle zu transformieren. Wenn wir das tun, können wir messen, um herauszufinden, welcher Wert y∈{0,1,2,3}y\in\{0,1,2,3\} θ\theta als θ=y/4\theta = y/4 beschreibt. Hier ist ein Diagramm eines Quantenschaltkreises, der genau das tut.

Phasenabschätzung mit zwei Qubits

Zusammenfassend lässt sich sagen: Wenn wir diesen Schaltkreis ausführen, wenn θ=y/4\theta = y/4 für y∈{0,1,2,3}y\in\{0,1,2,3\}, ist der Zustand unmittelbar vor den Messungen ∣ψ⟩∣y⟩\vert \psi\rangle \vert y\rangle (wobei yy als zweistelliger Binärstring kodiert ist), sodass die Messungen den Wert yy fehlerfrei enthüllen.

Dieser Schaltkreis ist durch den Sonderfall θ∈{0,1/4,1/2,3/4}\theta \in \{0,1/4,1/2,3/4\} motiviert — aber wir können ihn für jede beliebige Wahl von UU und ∣ψ⟩\vert \psi\rangle und damit jeden beliebigen Wert von θ\theta ausführen. Hier ist ein Diagramm der Ausgangswahrscheinlichkeiten, die der Schaltkreis für beliebige Werte von θ\theta erzeugt.

Ergebniswahrscheinlichkeiten aus der Zwei-Qubit-Phasenabschätzung

Dies ist eine deutliche Verbesserung gegenüber der Einzel-Qubit-Variante, die zuvor in der Lektion beschrieben wurde. Es ist nicht perfekt — es kann uns eine falsche Antwort liefern — aber das Ergebnis ist stark auf Werte von yy konzentriert, für die y/4y/4 nahe bei θ\theta liegt. Insbesondere entspricht das wahrscheinlichste Ergebnis stets dem Wert y/4y/4, der θ\theta am nächsten liegt (wobei θ=0\theta = 0 und θ=1\theta = 1 wieder gleichgesetzt werden), und aus dem Diagramm sieht es so aus, als erscheine dieser nächste Wert für xx stets mit einer Wahrscheinlichkeit knapp über 40%40\%. Wenn θ\theta genau in der Mitte zwischen zwei solchen Werten liegt, wie z. B. θ=0.375\theta = 0.375, sind die beiden gleich nahen Werte von yy gleich wahrscheinlich.

Vorbereitung zur Verallgemeinerung auf viele Qubits​

Angesichts der Verbesserung, die wir soeben durch die Verwendung von zwei Kontroll-Qubits statt einem in Verbindung mit der Inversen der 44-dimensionalen Quanten-Fourier-Transformation erzielt haben, liegt es nahe, dies weiter zu verallgemeinern — indem wir weitere Kontroll-Qubits hinzufügen. Wenn wir das tun, erhalten wir das allgemeine Phasenabschätzungsverfahren. Wir werden in Kürze sehen, wie das funktioniert, aber um es präzise beschreiben zu können, müssen wir die Quanten-Fourier-Transformation in größerer Allgemeinheit besprechen, um zu sehen, wie sie für andere Dimensionen definiert ist und wie wir sie (bzw. ihre Inverse) mit einem Quantenschaltkreis implementieren können.

Quanten-Fourier-Transformation​

Die Quanten-Fourier-Transformation ist eine unitäre Operation, die für jede Dimension NN (eine beliebige positive ganze Zahl) definiert werden kann. In diesem Abschnitt sehen wir, wie diese Operation definiert ist und wie sie mit einem Quantenschaltkreis auf mm Qubits mit Kosten O(m2)O(m^2) implementiert werden kann, wenn N=2mN = 2^m.

Die Matrizen, die die Quanten-Fourier-Transformation beschreiben, leiten sich von einer analogen Operation auf NN-dimensionalen Vektoren ab, die als diskrete Fourier-Transformation bekannt ist. Diese Operation lässt sich auf verschiedene Arten verstehen. Zum Beispiel können wir die diskrete Fourier-Transformation in rein abstrakten, mathematischen Begriffen als lineare Abbildung betrachten. Oder wir können sie in rechnerischen Begriffen betrachten, bei denen uns ein NN-dimensionaler Vektor komplexer Zahlen gegeben wird (unter der Annahme, dass Real- und Imaginärteile der Einträge in Binärdarstellung kodiert sind) und das Ziel darin besteht, den NN-dimensionalen Vektor zu berechnen, der durch Anwendung der diskreten Fourier-Transformation entsteht. Unser Fokus liegt auf einer dritten Betrachtungsweise, nämlich diese Transformation als unitäre Operation zu sehen, die auf einem Quantensystem ausgeführt werden kann.

Es gibt einen effizienten Algorithmus zur Berechnung der diskreten Fourier-Transformation auf einem gegebenen Eingabevektor, der als schnelle Fourier-Transformation bekannt ist. Sie findet Anwendung in der Signalverarbeitung und vielen anderen Bereichen und gilt für viele als einer der wichtigsten je entdeckten Algorithmen. Die Implementierung der Quanten-Fourier-Transformation für den Fall, dass NN eine Zweierpotenz ist, basiert auf genau derselben zugrundeliegenden Struktur, die die schnelle Fourier-Transformation ermöglicht.

Definition der Quanten-Fourier-Transformation​

Um die Quanten-Fourier-Transformation zu definieren, definieren wir zunächst eine komplexe Zahl ωN\omega_N für jede positive ganze Zahl NN wie folgt:

ωN=e2πiN=cos⁡(2πN)+isin⁡(2πN).\omega_N = e^{\frac{2\pi i}{N}} = \cos\left(\frac{2\pi}{N}\right) + i \sin\left(\frac{2\pi}{N}\right).

Dies ist die Zahl auf dem komplexen Einheitskreis, die wir erhalten, wenn wir bei 11 beginnen und uns gegen den Uhrzeigersinn um einen Winkel von 2π/N2\pi/N Radiant bewegen, also um einen Bruchteil von 1/N1/N des Kreisumfangs. Hier sind einige Beispiele:

ω1=1ω2=−1ω3=−12+32iω4=iω8=1+i2ω16=2+22+2−22iω100≈0.998+0.063i\begin{gathered} \omega_1 = 1\\[1mm] \omega_2 = -1\\[1mm] \omega_3 = -\frac{1}{2} + \frac{\sqrt{3}}{2} i\\[2mm] \omega_4 = i\\[1mm] \omega_8 = \frac{1+i}{\sqrt{2}}\\[3mm] \omega_{16} = \frac{\sqrt{2 + \sqrt{2}}}{2} + \frac{\sqrt{2 - \sqrt{2}}}{2} i\\[2mm] \omega_{100} \approx 0.998 + 0.063 i \end{gathered}

Nun können wir die NN-dimensionale Quanten-Fourier-Transformation definieren, die durch eine N×NN\times N-Matrix beschrieben wird, deren Zeilen und Spalten den Standardbasiszuständen ∣0⟩,…,∣N−1⟩\vert 0\rangle,\ldots,\vert N-1\rangle zugeordnet sind. Für die Phasenabschätzung benötigen wir diese Operation nur für N=2mN = 2^m als Zweierpotenz, aber die Operation kann für jede positive ganze Zahl NN definiert werden.

QFTN=1N∑x=0N−1∑y=0N−1ωNxy∣x⟩⟨y∣\mathrm{QFT}_N = \frac{1}{\sqrt{N}} \sum_{x = 0}^{N-1} \sum_{y = 0}^{N-1} \omega_N^{xy} \vert x \rangle\langle y\vert

Wie bereits erwähnt, ist dies die Matrix, die mit der NN-dimensionalen diskreten Fourier-Transformation assoziiert ist. Oft wird der führende Faktor 1/N1/\sqrt{N} nicht in der Definition dieser Matrix berücksichtigt, aber wir müssen ihn einschließen, um eine unitäre Matrix zu erhalten.

Hier ist die Quanten-Fourier-Transformation als Matrix für einige kleine Werte von NN.

QFT1=(1)\mathrm{QFT}_1 = \begin{pmatrix} 1 \end{pmatrix} QFT2=12(111−1)\mathrm{QFT}_2 = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1\\[1mm] 1 & -1 \end{pmatrix} QFT3=13(1111−1+i32−1−i321−1−i32−1+i32)\mathrm{QFT}_3 = \frac{1}{\sqrt{3}} \begin{pmatrix} 1 & 1 & 1\\[2mm] 1 & \frac{-1 + i\sqrt{3}}{2} & \frac{-1 - i\sqrt{3}}{2}\\[2mm] 1 & \frac{-1 - i\sqrt{3}}{2} & \frac{-1 + i\sqrt{3}}{2} \end{pmatrix} QFT4=12(11111i−1−i1−11−11−i−1i)\mathrm{QFT}_4 = \frac{1}{2} \begin{pmatrix} 1 & 1 & 1 & 1\\[1mm] 1 & i & -1 & -i\\[1mm] 1 & -1 & 1 & -1\\[1mm] 1 & -i & -1 & i \end{pmatrix} QFT8=122(1111111111+i2i−1+i2−1−1−i2−i1−i21i−1−i1i−1−i1−1+i2−i1+i2−11−i2i−1−i21−11−11−11−11−1−i2i1−i2−11+i2−i−1+i21−i−1i1−i−1i11−i2−i−1−i2−1−1+i2i1+i2)\mathrm{QFT}_8 = \frac{1}{2\sqrt{2}} \begin{pmatrix} 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1\\[2mm] 1 & \frac{1+i}{\sqrt{2}} & i & \frac{-1+i}{\sqrt{2}} & -1 & \frac{-1-i}{\sqrt{2}} & -i & \frac{1-i}{\sqrt{2}}\\[2mm] 1 & i & -1 & -i & 1 & i & -1 & -i\\[2mm] 1 & \frac{-1+i}{\sqrt{2}} & -i & \frac{1+i}{\sqrt{2}} & -1 & \frac{1-i}{\sqrt{2}} & i & \frac{-1-i}{\sqrt{2}}\\[2mm] 1 & -1 & 1 & -1 & 1 & -1 & 1 & -1\\[2mm] 1 & \frac{-1-i}{\sqrt{2}} & i & \frac{1-i}{\sqrt{2}} & -1 & \frac{1+i}{\sqrt{2}} & -i & \frac{-1+i}{\sqrt{2}}\\[2mm] 1 & -i & -1 & i & 1 & -i & -1 & i\\[2mm] 1 & \frac{1-i}{\sqrt{2}} & -i & \frac{-1-i}{\sqrt{2}} & -1 & \frac{-1+i}{\sqrt{2}} & i & \frac{1+i}{\sqrt{2}}\\[2mm] \end{pmatrix}

Beachte insbesondere, dass QFT2\mathrm{QFT}_2 ein anderer Name für die Hadamard-Operation ist.

Unitarität​

Überprüfen wir, dass QFTN\mathrm{QFT}_N für jede Wahl von NN unitär ist. Eine Möglichkeit dazu besteht darin, zu zeigen, dass seine Spalten eine Orthonormalbasis bilden. Wir können einen Vektor definieren, der der Spalte mit der Nummer yy entspricht, beginnend bei y=0y = 0 und bis y=N−1y = N-1, wie folgt:

∣ϕy⟩=1N∑x=0N−1ωNxy∣x⟩.\vert\phi_y\rangle = \frac{1}{\sqrt{N}} \sum_{x = 0}^{N-1} \omega_N^{xy} \vert x \rangle.

Das innere Produkt zweier beliebiger dieser Vektoren ergibt den folgenden Ausdruck:

⟨ϕz∣ϕy⟩=1N∑x=0N−1ωNx(y−z)\langle \phi_z \vert \phi_y \rangle = \frac{1}{N} \sum_{x = 0}^{N-1} \omega_N^{x (y - z)}

Solche Summen lassen sich mithilfe der folgenden Formel für die Summe der ersten NN Glieder einer geometrischen Reihe berechnen.

1+α+α2+⋯+αN−1={αN−1α−1if α≠1Nif α=11 + \alpha + \alpha^2 + \cdots + \alpha^{N-1} = \begin{cases} \frac{\alpha^N - 1}{\alpha - 1} & \text{if } \alpha\neq 1\\[2mm] N & \text{if } \alpha=1 \end{cases}

Insbesondere können wir diese Formel mit α=ωNy−z\alpha = \omega_N^{y-z} anwenden. Für y=zy = z gilt α=1\alpha = 1, und die Formel liefert nach Division durch NN:

⟨ϕy∣ϕy⟩=1.\langle \phi_y \vert \phi_y \rangle = 1.

Für y≠zy\neq z gilt α≠1\alpha \neq 1, und die Formel ergibt:

⟨ϕz∣ϕy⟩=1NωNN(y−z)−1ωNy−z−1=1N1−1ωNy−z−1=0.\langle \phi_z \vert \phi_y \rangle = \frac{1}{N} \frac{\omega_N^{N(y-z)} - 1}{\omega_N^{y-z} - 1} = \frac{1}{N} \frac{1 - 1}{\omega_N^{y-z} - 1} = 0.

Das liegt daran, dass ωNN=e2πi=1\omega_N^N = e^{2\pi i} = 1, also ωNN(y−z)=1y−z=1\omega_N^{N(y-z)} = 1^{y-z} = 1, was den Zähler zu null macht, während der Nenner von null verschieden ist, da ωNy−z≠1\omega_N^{y-z} \neq 1. Anschaulich gesprochen summieren wir dabei eine Reihe von Punkten, die über den Einheitskreis verteilt sind – sie heben sich gegenseitig auf und ergeben 00.

Wir haben damit gezeigt, dass {∣ϕ0⟩,…,∣ϕN−1⟩}\{\vert\phi_0\rangle,\ldots,\vert\phi_{N-1}\rangle\} eine Orthonormalmenge ist,

⟨ϕz∣ϕy⟩={1y=z0y≠z,\langle \phi_z \vert \phi_y \rangle = \begin{cases} 1 & y=z\\ 0 & y\neq z, \end{cases}

was zeigt, dass QFTN\mathrm{QFT}_N unitär ist.

Kontrollierte Phasengatter​

Um die Quanten-Fourier-Transformation mit einem Quantenschaltkreis zu implementieren, benötigen wir kontrollierte Phasengatter. Zur Erinnerung: Eine Phasenoperation ist eine unitäre Einqubit-Operation der Form

Pα=(100eiα)P_{\alpha} = \begin{pmatrix} 1 & 0\\[1mm] 0 & e^{i\alpha} \end{pmatrix}

für eine beliebige reelle Zahl α\alpha. Die kontrollierte Version dieses Gatters hat die folgende Matrix:

CPα=(100001000010000eiα)CP_{\alpha} = \begin{pmatrix} 1 & 0 & 0 & 0\\[1mm] 0 & 1 & 0 & 0\\[1mm] 0 & 0 & 1 & 0\\[1mm] 0 & 0 & 0 & e^{i\alpha} \end{pmatrix}

Bei diesem kontrollierten Gatter spielt es keine Rolle, welches Qubit das Kontroll-Qubit und welches das Ziel-Qubit ist, da beide Möglichkeiten äquivalent sind. In Quantenschaltkreis-Diagrammen kann dieses Gatter durch eines der folgenden Symbole dargestellt werden.

Quantum circuit diagram representation for controlled-phase gates

Bei der dritten Form wird die Bezeichnung α\alpha manchmal auch seitlich an der Kontrolllinie oder unter dem unteren Kontrollpunkt platziert, wenn das praktischer ist.

Um die Quanten-Fourier-Transformation für N=2mN = 2^m mit m≥2m\geq 2 durchzuführen, müssen wir eine Operation auf mm Qubits ausführen, deren Wirkung auf Standardbasiszustände wie folgt beschrieben werden kann:

∣y⟩∣a⟩↦ω2may∣y⟩∣a⟩,\vert y \rangle \vert a \rangle \mapsto \omega_{2^m}^{ay} \vert y \rangle \vert a \rangle,

wobei aa ein Bit ist und y∈{0,…,2m−1−1}y \in \{0,\ldots,2^{m-1} - 1\} eine Zahl ist, die in Binärdarstellung als eine Zeichenkette von m−1m-1 Bits kodiert ist. Dies lässt sich mithilfe kontrollierter Phasengatter realisieren, indem das folgende Beispiel für m=5m=5 verallgemeinert wird.

Quantum circuit diagram for phase injection

Allgemein kann für eine beliebige Wahl von m≥2m\geq 2 das oberste Qubit, das dem Bit aa entspricht, als Kontroll-Qubit betrachtet werden, wobei die Phasengatter PαP_{\alpha} von α=π/2m−1\alpha = \pi/2^{m-1} am Qubit des niedrigstwertigen Bits von yy bis α=π2\alpha = \frac{\pi}{2} am Qubit des höchstwertigen Bits von yy reichen. Diese kontrollierten Phasengatter kommutieren alle miteinander und können in beliebiger Reihenfolge ausgeführt werden.

Schaltkreisimplementierung der QFT​

Jetzt sehen wir, wie die Quanten-Fourier-Transformation mit einem Schaltkreis implementiert werden kann, wenn die Dimension N=2mN = 2^m eine Zweierpotenz ist. Es gibt tatsächlich mehrere Möglichkeiten, die Quanten-Fourier-Transformation zu implementieren, aber dies ist wohl die einfachste bekannte Methode. Sobald wir wissen, wie die Quanten-Fourier-Transformation mit einem Quantenschaltkreis implementiert wird, ist die Implementierung ihrer Inversen unkompliziert: Wir können jedes Gatter durch seine Inverse (bzw. konjugierte Transponierte) ersetzen und die Gatter in umgekehrter Reihenfolge anwenden. Jeder Quantenschaltkreis, der ausschließlich aus unitären Gattern besteht, kann auf diese Weise invertiert werden.

Die Implementierung ist rekursiver Natur, weshalb sie am natürlichsten so beschrieben wird. Der Basisfall ist m=1m=1, in dem die Quanten-Fourier-Transformation einer Hadamard-Operation entspricht.

Um die Quanten-Fourier-Transformation auf mm Qubits für m≥2m \geq 2 durchzuführen, können wir die folgenden Schritte ausführen, deren Wirkung wir für Standardbasiszustände der Form ∣x⟩∣a⟩\vert x \rangle \vert a\rangle beschreiben, wobei x∈{0,…,2m−1−1}x\in\{0,\ldots,2^{m-1} - 1\} eine ganze Zahl ist, die als m−1m-1 Bits in Binärdarstellung kodiert ist, und aa ein einzelnes Bit ist.

  1. Zuerst wird die 2m−12^{m-1}-dimensionale Quanten-Fourier-Transformation auf die unteren/linken m−1m-1 Qubits angewendet, um diesen Zustand zu erhalten:

    (QFT2m−1∣x⟩)∣a⟩=12m−1∑y=02m−1−1ω2m−1xy∣y⟩∣a⟩.\Bigl(\mathrm{QFT}_{2^{m-1}} \vert x \rangle\Bigr) \vert a\rangle = \frac{1}{\sqrt{2^{m-1}}} \sum_{y = 0}^{2^{m-1} - 1} \omega_{2^{m-1}}^{xy} \vert y \rangle \vert a \rangle.

    Dies geschieht durch rekursive Anwendung der hier beschriebenen Methode für ein Qubit weniger, mit der Hadamard-Operation auf einem einzelnen Qubit als Basisfall.

  2. Das obere/rechteste Qubit wird als Kontroll-Qubit genutzt, um die Phase ω2my\omega_{2^m}^y für jeden Standardbasiszustand ∣y⟩\vert y\rangle der verbleibenden m−1m-1 Qubits einzuspeisen (wie oben beschrieben), um diesen Zustand zu erhalten:

    12m−1∑y=02m−1−1ω2m−1xyω2may∣y⟩∣a⟩.\frac{1}{\sqrt{2^{m-1}}} \sum_{y = 0}^{2^{m-1} - 1} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert y \rangle \vert a \rangle.
  3. Ein Hadamard-Gatter wird auf das obere/rechteste Qubit angewendet, um diesen Zustand zu erhalten:

    12m∑y=02m−1−1∑b=01(−1)abω2m−1xyω2may∣y⟩∣b⟩.\frac{1}{\sqrt{2^{m}}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert y \rangle \vert b \rangle.
  4. Die Reihenfolge der Qubits wird so permutiert, dass das niedrigstwertige Bit zum höchstwertigen Bit wird und alle anderen nach oben/rechts verschoben werden:

    12m∑y=02m−1−1∑b=01(−1)abω2m−1xyω2may∣b⟩∣y⟩.\frac{1}{\sqrt{2^{m}}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert b \rangle \vert y \rangle.

Hier ist zum Beispiel der Schaltkreis, den wir für N=32=25N = 32 = 2^5 erhalten. In diesem Diagramm werden die Qubits mit Namen versehen, die den Standardbasisvektoren ∣x⟩∣a⟩\vert x\rangle \vert a\rangle (für die Eingabe) und ∣b⟩∣y⟩\vert b\rangle \vert y\rangle (für die Ausgabe) entsprechen, um die Übersichtlichkeit zu erhöhen.

Quantum circuit diagram for the 32-dimensional quantum Fourier transform

Analyse​

Die Schlüsselformel, die wir benötigen, um zu überprüfen, dass der soeben beschriebene Schaltkreis die 2m2^m-dimensionale Quanten-Fourier-Transformation implementiert, lautet:

(−1)abω2m−1xyω2may=ω2m(2x+a)(2m−1b+y).(-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} = \omega_{2^m}^{(2x+ a)(2^{m-1}b + y)}.

Diese Formel gilt für beliebige ganze Zahlen aa, bb, xx und yy, wird aber nur für a,b∈{0,1}a,b\in\{0,1\} und x,y∈{0,…,2m−1−1}x,y\in\{0,\ldots,2^{m-1}-1\} benötigt. Sie lässt sich durch Ausmultiplizieren des Produkts im Exponenten auf der rechten Seite überprüfen:

ω2m(2x+a)(2m−1b+y)=ω2m2mxbω2m2xyω2m2m−1abω2may=(−1)abω2m−1xyω2may, \omega_{2^m}^{(2x+ a)(2^{m-1}b + y)} = \omega_{2^m}^{2^m xb} \omega_{2^m}^{2xy} \omega_{2^m}^{2^{m-1}ab} \omega_{2^m}^{ay} = (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay},

wobei die zweite Gleichheit die Beobachtung nutzt, dass

ω2m2mxb=(ω2m2m)xb=1xb=1.\omega_{2^m}^{2^m xb} = \bigl(\omega_{2^m}^{2^m}\bigr)^{xb} = 1^{xb} = 1.

Die 2m2^m-dimensionale Quanten-Fourier-Transformation ist für jedes u∈{0,…,2m−1}u\in\{0,\ldots,2^m - 1\} wie folgt definiert.

QFT2m∣u⟩=12m∑v=02m−1ω2muv∣v⟩\mathrm{QFT}_{2^m} \vert u\rangle = \frac{1}{\sqrt{2^m}} \sum_{v = 0}^{2^m - 1} \omega_{2^m}^{uv} \vert v\rangle

Schreiben wir uu und vv als

u=2x+av=2m−1b+y\begin{aligned} u & = 2x + a\\ v & = 2^{m-1}b + y \end{aligned}

für a,b∈{0,1}a,b\in\{0,1\} und x,y∈{0,…,2m−1−1}x,y\in\{0,\ldots,2^{m-1} - 1\}, so ergibt sich

QFT2m∣2x+a⟩=12m∑y=02m−1−1∑b=01ω2m(2x+a)(2m−1b+y)∣b2m−1+y⟩=12m∑y=02m−1−1∑b=01(−1)abω2m−1xyω2may∣b2m−1+y⟩.\begin{aligned} \mathrm{QFT}_{2^m} \vert 2x + a\rangle & = \frac{1}{\sqrt{2^m}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 \omega_{2^m}^{(2x+ a)(2^{m-1}b + y)} \vert b 2^{m-1} + y\rangle\\[2mm] & = \frac{1}{\sqrt{2^m}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert b 2^{m-1} + y\rangle. \end{aligned}

Wenn wir schließlich die Standardbasiszustände ∣x⟩∣a⟩\vert x \rangle \vert a\rangle und ∣b⟩∣y⟩\vert b \rangle \vert y \rangle als Binärkodierungen ganzer Zahlen im Bereich {0,…,2m−1}\{0,\ldots,2^m-1\} betrachten,

∣x⟩∣a⟩=∣2x+a⟩∣b⟩∣y⟩=∣2m−1b+y⟩,\begin{aligned} \vert x \rangle \vert a\rangle & = \vert 2x + a \rangle\\ \vert b \rangle \vert y \rangle & = \vert 2^{m-1}b + y\rangle, \end{aligned}

erkennen wir, dass der obige Schaltkreis die gewünschte Operation implementiert. Falls diese Methode zur Durchführung der Quanten-Fourier-Transformation bemerkenswert erscheint — das ist sie auch: Sie ist im Wesentlichen die schnelle Fourier-Transformation in Form eines Quantenschaltkreises.

Zum Abschluss zählen wir, wie viele Gatter der beschriebene Schaltkreis verwendet. Die kontrollierten Phasengatter gehören nicht zum Standardgattersatz, den wir in der vorherigen Lektion besprochen haben, aber zunächst ignorieren wir das und zählen jedes von ihnen als ein einzelnes Gatter.

Sei sms_m die Anzahl der Gatter, die für jede mögliche Wahl von mm benötigt werden. Für m=1m=1 ist die Quanten-Fourier-Transformation nur eine Hadamard-Operation, also gilt

s1=1.s_1 = 1.

Für m≥2m\geq 2 benötigen wir im obigen Schaltkreis sm−1s_{m-1} Gatter für die Quanten-Fourier-Transformation auf m−1m-1 Qubits, plus m−1m-1 kontrollierte Phasengatter, plus ein Hadamard-Gatter, plus m−1m-1 Swap-Gatter, also gilt

sm=sm−1+(2m−1).s_m = s_{m-1} + (2m - 1).

Durch Summation erhalten wir einen geschlossenen Ausdruck:

sm=∑k=1m(2k−1)=m2.s_m = \sum_{k = 1}^m (2k - 1) = m^2.

Tatsächlich benötigen wir nicht so viele Swap-Gatter, wie die Methode es beschreibt. Wenn wir die Gatter etwas umordnen, können wir alle Swap-Gatter nach rechts schieben und die Anzahl der benötigten Swap-Gatter auf ⌊m/2⌋\lfloor m/2\rfloor reduzieren. Asymptotisch gesehen ist das keine wesentliche Verbesserung: Wir erhalten nach wie vor Schaltkreise der Größe O(m2)O(m^2) für die Berechnung von QFT2m\mathrm{QFT}_{2^m}.

Wenn wir die Quanten-Fourier-Transformation ausschließlich mit Gattern aus unserem Standardgattersatz implementieren möchten, müssen wir jedes kontrollierte Phasengatter entweder exakt aufbauen oder durch Gatter aus unserem Satz approximieren. Die benötigte Anzahl hängt davon ab, wie viel Genauigkeit wir fordern, aber als Funktion von mm bleibt der Gesamtaufwand quadratisch.

Tatsächlich ist es möglich, die Quanten-Fourier-Transformation mit einer subquadratischen Anzahl von Gattern sehr gut zu approximieren, indem man sich zunutze macht, dass PαP_{\alpha} der Identitätsoperation sehr nahe kommt, wenn α\alpha sehr klein ist — was bedeutet, dass wir die meisten kontrollierten Phasengatter einfach weglassen können, ohne dabei zu viel an Genauigkeit einzubüßen.

Allgemeines Verfahren und Analyse​

Nun untersuchen wir das Phasenschätzungsverfahren im Allgemeinen. Die Idee besteht darin, die Zweiqubit-Version der Phasenschätzung, die wir oben betrachtet haben, auf die naheliegende Weise zu verallgemeinern, wie das folgende Diagramm zeigt.

Phase estimation procedure

Beachte, dass für jedes neu hinzugefügte Kontroll-Qubit oben die Anzahl der Ausführungen der unitären Operation UU verdoppelt wird. Dies wird im Diagramm durch die Potenzen von UU bei den einzelnen kontrollierten unitären Operationen angezeigt.

Die naheliegendste Methode, eine kontrollierte UkU^k-Operation für eine Wahl von kk zu implementieren, besteht darin, eine kontrollierte UU-Operation einfach kk-mal zu wiederholen. Wenn diese Methode tatsächlich verwendet wird, ist zu beachten, dass das Hinzufügen von Kontroll-Qubits die Größe des Schaltkreises erheblich beeinflusst: Wenn wir mm Kontroll-Qubits haben, wie im Diagramm dargestellt, sind insgesamt 2m−12^m - 1 Kopien der kontrollierten UU-Operation erforderlich. Das bedeutet, dass mit zunehmendem mm ein erheblicher Rechenaufwand entsteht — aber wie wir sehen werden, führt dies auch zu einer deutlich genaueren Approximation von θ\theta.

Es ist jedoch wichtig zu beachten, dass es für bestimmte Wahlen von UU möglich sein kann, einen Schaltkreis zu erstellen, der die Operation UkU^k für große Werte von kk effizienter implementiert, als einfach den Schaltkreis für UU kk-mal zu wiederholen. Wir werden ein konkretes Beispiel dafür im Kontext der ganzzahligen Faktorisierung später in dieser Lektion sehen, wo der effiziente Algorithmus für die modulare Exponentiation, der in der vorherigen Lektion behandelt wurde, zu Hilfe kommt.

Nun analysieren wir den soeben beschriebenen Schaltkreis. Der Zustand unmittelbar vor der inversen Quanten-Fourier-Transformation sieht wie folgt aus:

12m∑x=02m−1(Ux∣ψ⟩)∣x⟩=∣ψ⟩⊗12m∑x=02m−1e2πixθ∣x⟩.\frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} \bigl( U^x \vert\psi\rangle \bigr) \vert x\rangle = \vert\psi\rangle \otimes \frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} e^{2\pi i x\theta} \vert x\rangle.

Ein Sonderfall​

Ähnlich wie bei der m=2m=2-Version betrachten wir zunächst den Sonderfall, dass θ=y/2m\theta = y/2^m für y∈{0,…,2m−1}y\in\{0,\ldots,2^m-1\}. In diesem Fall kann der Zustand vor der inversen Quanten-Fourier-Transformation alternativ wie folgt geschrieben werden:

∣ψ⟩⊗12m∑x=02m−1e2πixy2m∣x⟩=∣ψ⟩⊗12m∑x=02m−1ω2mxy∣x⟩=∣ψ⟩⊗QFT2m∣y⟩.\vert\psi\rangle \otimes \frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} e^{2\pi i \frac{xy}{2^m}} \vert x\rangle = \vert\psi\rangle \otimes \frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} \omega_{2^m}^{xy} \vert x\rangle = \vert\psi\rangle \otimes \mathrm{QFT}_{2^m} \vert y\rangle.

Nach Anwendung der inversen Quanten-Fourier-Transformation wird der Zustand zu

∣ψ⟩∣y⟩\vert\psi\rangle \vert y\rangle

und die Messungen ergeben yy (in Binärkodierung).

Abschätzung der Wahrscheinlichkeiten​

Für andere Werte von θ\theta, also solche, die nicht die Form y/2my/2^m für eine ganze Zahl yy haben, sind die Messergebnisse nicht mit Sicherheit vorhersagbar, aber wir können Schranken für die Wahrscheinlichkeiten verschiedener Ergebnisse beweisen. Im Folgenden betrachten wir eine beliebige Wahl von θ\theta mit 0≤θ<10\leq \theta < 1.

Nach Anwendung der inversen Quanten-Fourier-Transformation befindet sich der Schaltkreis im Zustand:

∣ψ⟩⊗12m∑y=02m−1∑x=02m−1e2πix(θ−y/2m)∣y⟩.\vert \psi \rangle \otimes \frac{1}{2^m} \sum_{y=0}^{2^m - 1} \sum_{x=0}^{2^m-1} e^{2\pi i x (\theta - y/2^m)} \vert y\rangle.

Bei der Messung der oberen mm Qubits tritt jedes Ergebnis yy mit der Wahrscheinlichkeit

py=∣12m∑x=02m−1e2πix(θ−y/2m)∣2.p_y = \left\vert \frac{1}{2^m} \sum_{x=0}^{2^m - 1} e^{2\pi i x (\theta - y/2^m)} \right\vert^2.

Um diese Wahrscheinlichkeiten besser in den Griff zu bekommen, verwenden wir dieselbe Formel wie zuvor, für die Summe des Anfangsabschnitts einer geometrischen Reihe.

1+α+α2+⋯+αN−1={αN−1α−1if α≠1Nif α=11 + \alpha + \alpha^2 + \cdots + \alpha^{N-1} = \begin{cases} \frac{\alpha^N - 1}{\alpha - 1} & \text{if } \alpha\neq 1\\[2mm] N & \text{if } \alpha=1 \end{cases}

Wir können die Summe, die in der Formel für pyp_y auftritt, vereinfachen, indem wir α=e2πi(θ−y/2m)\alpha = e^{2\pi i (\theta - y/2^m)} setzen. Hier ist, was wir erhalten.

∑x=02m−1e2πix(θ−y/2m)={2mθ=y/2me2πi(2mθ−y)−1e2πi(θ−y/2m)−1θ≠y/2m\sum_{x=0}^{2^m - 1} e^{2\pi i x (\theta - y/2^m)} = \begin{cases} 2^m & \theta = y/2^m\\[2mm] \frac{e^{2\pi i (2^m \theta - y)} - 1}{e^{2\pi i (\theta - y/2^m)} - 1} & \theta\neq y/2^m \end{cases}

Im Fall θ=y/2m\theta = y/2^m stellen wir also fest, dass py=1p_y = 1 ist (wie wir bereits durch die Betrachtung dieses Sonderfalls wussten), und im Fall θ≠y/2m\theta \neq y/2^m stellen wir fest, dass

py=122m∣e2πi(2mθ−y)−1e2πi(θ−y/2m)−1∣2.p_y = \frac{1}{2^{2m}} \left\vert \frac{e^{2\pi i (2^m \theta - y)} - 1}{e^{2\pi i (\theta - y/2^m)} - 1}\right\vert^2.

Wir können mehr über diese Wahrscheinlichkeiten erfahren, indem wir darüber nachdenken, wie Bogenlängen und Sehnenlängen auf dem Einheitskreis zusammenhängen. Hier ist eine Abbildung, die die Beziehungen veranschaulicht, die wir für jede reelle Zahl δ∈[−12,12]\delta\in \bigl[ -\frac{1}{2},\frac{1}{2}\bigr] benötigen.

Illustration der Beziehung zwischen Bogenlänge und Sehnenlänge

Zunächst kann die Sehnenlänge (blau eingezeichnet) unmöglich größer sein als die Bogenlänge (violett eingezeichnet):

∣e2πiδ−1∣≤2π∣δ∣.\bigl\vert e^{2\pi i \delta} - 1\bigr\vert \leq 2\pi\vert\delta\vert.

Wenn wir diese Längen in die andere Richtung in Beziehung setzen, sehen wir, dass das Verhältnis von Bogenlänge zu Sehnenlänge am größten ist, wenn δ=±1/2\delta = \pm 1/2 ist, und in diesem Fall ist das Verhältnis der halbe Umfang des Kreises geteilt durch den Durchmesser, also π/2\pi/2. Somit erhalten wir

2π∣δ∣∣e2πiδ−1∣≤π2,\frac{2\pi\vert\delta\vert}{\bigl\vert e^{2\pi i \delta} - 1\bigr\vert} \leq \frac{\pi}{2},

und somit

∣e2πiδ−1∣≥4∣δ∣.\bigl\vert e^{2\pi i \delta} - 1\bigr\vert \geq 4\vert\delta\vert.

Eine Analyse auf Grundlage dieser Beziehungen offenbart die folgenden zwei Tatsachen.

  1. Angenommen, θ\theta ist eine reelle Zahl und y∈{0,…,2m−1}y\in \{0,\ldots,2^m-1\} erfüllt

    ∣θ−y2m∣≤2−(m+1).\Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert \leq 2^{-(m+1)}.

    Das bedeutet, dass y/2my/2^m entweder die beste mm-Bit-Approximation von θ\theta ist, oder dass sie genau auf halbem Weg zwischen y/2my/2^m und entweder (y−1)/2m(y-1)/2^m oder (y+1)/2m(y+1)/2^m liegt — also eine der beiden besten Approximationen von θ\theta darstellt.

    Wir werden zeigen, dass pyp_y in diesem Fall recht groß sein muss. Aus der betrachteten Annahme folgt, dass ∣2mθ−y∣≤1/2\vert 2^m \theta - y \vert \leq 1/2, sodass wir die zweite Beobachtung über Bogen- und Sehnenlängen anwenden können, um zu schließen:

    ∣e2πi(2mθ−y)−1∣≥4∣2mθ−y∣=4⋅2m⋅∣θ−y2m∣.\left\vert e^{2\pi i (2^m \theta - y)} - 1\right\vert \geq 4 \vert 2^m \theta - y \vert = 4 \cdot 2^m \cdot \Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert.

    Wir können außerdem die erste Beobachtung über Bogen- und Sehnenlängen nutzen, um zu schließen:

    ∣e2πi(θ−y/2m)−1∣≤2π∣θ−y2m∣.\left\vert e^{2\pi i (\theta - y/2^m)} - 1\right\vert \leq 2\pi \Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert.

    Aus diesen beiden Ungleichungen ergibt sich für pyp_y:

    py≥122m16⋅22m4π2=4π2≈0.405.p_y \geq \frac{1}{2^{2m}} \frac{16 \cdot 2^{2m}}{4 \pi^2} = \frac{4}{\pi^2} \approx 0.405.

    Das erklärt unsere Beobachtung, dass das beste Ergebnis bei der m=2m=2-Version der Phasenschätzung mit einer Wahrscheinlichkeit von mehr als 40%40\% auftritt. Genau genommen sind es nicht 40%40\%, sondern 4/π24/\pi^2, und diese Schranke gilt für jede Wahl von mm.

  2. Angenommen nun, dass y∈{0,…,2m−1}y\in \{0,\ldots,2^m-1\} folgendes erfüllt:

    2−m≤∣θ−y2m∣≤12.2^{-m} \leq \Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert \leq \frac{1}{2}.

    Das bedeutet, dass es eine bessere Approximation z/2mz/2^m von θ\theta gibt, die zwischen θ\theta und y/2my/2^m liegt.

    Diesmal zeigen wir, dass pyp_y nicht zu groß sein kann. Wir beginnen mit der einfachen Beobachtung, dass

    ∣e2πi(2mθ−y)−1∣≤2,\left\vert e^{2\pi i (2^m \theta - y)} - 1\right\vert \leq 2,

    was aus der Tatsache folgt, dass zwei beliebige Punkte auf dem Einheitskreis im Absolutbetrag höchstens 22 voneinander entfernt sein können.

    Wir können außerdem die zweite Beobachtung über Bogen- und Sehnenlängen von oben anwenden, diesmal auf den Nenner von pyp_y statt den Zähler, um zu schließen:

    ∣e2πi(θ−y/2m)−1∣≥4∣θ−y2m∣≥4⋅2−m.\left\vert e^{2\pi i (\theta - y/2^m)} - 1\right\vert \geq 4\Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert \geq 4 \cdot 2^{-m}.

    Zusammen ergeben die beiden Ungleichungen:

    py≤122m416⋅2−2m=14.p_y \leq \frac{1}{2^{2m}} \frac{4}{16 \cdot 2^{-2m}} = \frac{1}{4}.

    Diese Schranke ist zwar für unsere Zwecke ausreichend, aber recht grob — die Wahrscheinlichkeit ist in der Regel deutlich kleiner als 1/41/4.

Die wichtigste Erkenntnis aus dieser Analyse ist, dass sehr gute Approximationen von θ\theta mit hoher Wahrscheinlichkeit auftreten — wir erhalten eine beste mm-Bit-Approximation mit einer Wahrscheinlichkeit von über 40%40\% — während Approximationen, die um mehr als 2−m2^{-m} abweichen, seltener auftreten, mit einer Wahrscheinlichkeit von höchstens 25%25\%.

Angesichts dieser Garantien ist es möglich, das Vertrauen in das Ergebnis zu erhöhen, indem das Phasenschätzungsverfahren mehrfach wiederholt wird, um statistische Belege über θ\theta zu sammeln. Wichtig ist dabei, dass der Zustand ∣ψ⟩\vert\psi\rangle der unteren Qubit-Gruppe durch das Phasenschätzungsverfahren unverändert bleibt und daher für beliebig viele Durchläufe des Verfahrens verwendet werden kann. Insbesondere erhalten wir bei jedem Durchlauf des Schaltkreises eine beste mm-Bit-Approximation von θ\theta mit einer Wahrscheinlichkeit von über 40%40\%, während die Wahrscheinlichkeit einer Abweichung um mehr als 2−m2^{-m} durch 25%25\% nach oben begrenzt ist. Führen wir den Schaltkreis mehrmals aus und nehmen das am häufigsten auftretende Ergebnis, so ist es höchst unwahrscheinlich, dass dieses am häufigsten auftretende Ergebnis eines ist, das höchstens 25%25\% der Zeit vorkommt. Infolgedessen werden wir mit sehr hoher Wahrscheinlichkeit eine Approximation y/2my/2^m erhalten, die von θ\theta um weniger als 1/2m1/2^m abweicht. Die Wahrscheinlichkeit, um mehr als 1/2m1/2^m danebenzuliegen, nimmt tatsächlich exponentiell mit der Anzahl der Durchläufe des Verfahrens ab.

Hier sind zwei Diagramme, die die Wahrscheinlichkeiten für drei aufeinanderfolgende Werte von yy bei m=3m = 3 und m=4m=4 als Funktionen von θ\theta zeigen. (Aus Gründen der Übersichtlichkeit werden nur drei Ergebnisse dargestellt. Die Wahrscheinlichkeiten für andere Ergebnisse erhält man durch zyklische Verschiebung derselben Grundfunktion.)

Plot showing outcome probabilities for three-qubit phase estimation

Plot showing outcome probabilities for four-qubit phase estimation