Zum Hauptinhalt springen

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 Quantenfouriertransformation, eine wichtige Quantenoperation, die im Phasenabschätzungsverfahren verwendet wird, sowie über ihre Implementierung als Quantenschaltkreis. Sobald wir die Quantenfouriertransformation 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 U.U. 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 U,U, 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 U.U. 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=ψ(120+e2πiθ21)\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θ20+1e2πiθ21)\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θ22=cos2(πθ)p1=1e2πiθ22=sin2(πθ).\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 1,1, als Funktionen von θ.\theta.

Ergebniswahrscheinlichkeiten aus dem Phase-Kickback

Naturgemäß ergeben die beiden Wahrscheinlichkeiten stets die Summe 1.1. 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

    120+e2πiθ21,\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/2,1/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 U2,U^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.a2a32\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=ψ12a0=01a1=01a1a0.\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=ψ12a0=01a1=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.

Die zweiten und dritten kontrollierten-UU-Gates tun etwas Ähnliches, jedoch für a1a_1 anstatt a0,a_0, und mit θ\theta ersetzt durch 2θ.2\theta. Den resultierenden Zustand können wir so ausdrücken:

π3=ψ12a0=01a1=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+a0,x = 2 a_1 + a_0, können wir diesen Zustand alternativ wie folgt ausdrücken.

π3=ψ12x=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 diesem Punkt betrachten wir einen Sonderfall, in dem uns versprochen 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: θ{0,1/4,1/2,3/4},\theta\in \{0, 1/4, 1/2, 3/4\}, sodass wir diese Zahl exakt in Binärdarstellung mit zwei Bits ausdrücken können, als $$.00, .01, .10oderoder.11.ImAllgemeinenmussIm Allgemeinen muss\thetakeinerdieservierWertesein,aberdieBetrachtungdiesesSonderfallshilftunsherauszufinden,wiewirInformationenu¨berkeiner dieser vier Werte sein, aber die Betrachtung dieses Sonderfalls hilft uns herauszufinden, wie wir Informationen über\theta$ im Allgemeinen am effektivsten gewinnen 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=12x=03e2πix(y4)x=12x=03e2πixy4x\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=120+121+122+123ϕ1=120+i21122i23ϕ2=120121+122123ϕ3=120i21122+i23\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 0.0. 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.

V00=ϕ0V01=ϕ1V10=ϕ2V11=ϕ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 V.V.

V=12(11111i1i11111i1i)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 sicher schon begegnet ist: Es handelt sich um die Matrix, die mit der 44-dimensionalen diskreten Fouriertransformation assoziiert ist. Angesichts dieser Tatsache bezeichnen wir sie nicht mit V,V, sondern mit QFT4.\mathrm{QFT}_4. Der Name QFT\mathrm{QFT} steht für Quantenfouriertransformation — was im Wesentlichen nur die diskrete Fouriertransformation ist, betrachtet als unitäre Operation. Wir werden die Quantenfouriertransformation in Kürze ausführlicher und allgemeiner diskutieren.

QFT4=12(11111i1i11111i1i)\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/4,y/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 Quantenfouriertransformation 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 Quantenfouriertransformation 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.

Quantenfouriertransformation

Die Quantenfouriertransformation ist eine unitäre Operation, die für jede positive ganze Zahl NN 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=2m.N = 2^m.

Die Matrizen, die die Quantenfouriertransformation beschreiben, leiten sich von einer analogen Operation auf NN-dimensionalen Vektoren ab, die als diskrete Fouriertransformation bekannt ist. Diese Operation lässt sich auf verschiedene Arten verstehen. Zum Beispiel können wir die diskrete Fouriertransformation 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 Fouriertransformation 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 Fouriertransformation auf einem gegebenen Eingabevektor, der als schnelle Fouriertransformation 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 Quantenfouriertransformation für den Fall, dass NN eine Zweierpotenz ist, basiert auf genau derselben zugrundeliegenden Struktur, die die schnelle Fouriertransformation ermöglicht.

Definition der Quantenfouriertransformation

Um die Quantenfouriertransformation 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+222iω1000.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 Quantenfouriertransformation definieren, die durch eine N×NN\times N-Matrix beschrieben wird, deren Zeilen und Spalten den Standardbasiszuständen 0,,N1\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=1Nx=0N1y=0N1ωNxyxy\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 Fouriertransformation 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 Quantenfouriertransformation als Matrix für einige kleine Werte von N.N.

QFT1=(1)\mathrm{QFT}_1 = \begin{pmatrix} 1 \end{pmatrix} QFT2=12(1111)\mathrm{QFT}_2 = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1\\[1mm] 1 & -1 \end{pmatrix} QFT3=13(11111+i321i3211i321+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(11111i1i11111i1i)\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+i2i1+i211i2i1i21i1i1i1i11+i2i1+i211i2i1i21111111111i2i1i211+i2i1+i21i1i1i1i11i2i1i211+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=N1,y = N-1, wie folgt:

ϕy=1Nx=0N1ωNxyx.\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=1Nx=0N1ωNx(yz)\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++αN1={αN1α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 α=ωNyz\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 yzy\neq z gilt α1,\alpha \neq 1, und die Formel ergibt:

ϕzϕy=1NωNN(yz)1ωNyz1=1N11ωNyz1=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(yz)=1yz=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 ωNyz1.\omega_N^{y-z} \neq 1. Anschaulich gesprochen summieren wir dabei eine Reihe von Punkten, die gleichmäßig auf dem Einheitskreis verteilt sind – sie heben sich gegenseitig auf und ergeben 0.0.

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

ϕzϕy={1y=z0yz,\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 m2m\geq 2 durchzuführen, müssen wir eine Operation auf mm Qubits ausführen, deren Wirkung auf Standardbasiszustände wie folgt beschrieben werden kann:

yaω2mayya,\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,,2m11}y \in \{0,\ldots,2^{m-1} - 1\} eine Zahl ist, die in Binärdarstellung als eine Zeichenkette von m1m-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 m2m\geq 2 das oberste Qubit, das dem Bit aa entspricht, als Kontroll-Qubit betrachtet werden, wobei die Phasengatter PαP_{\alpha} von α=π/2m1\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=1,m=1, in dem die Quanten-Fourier-Transformation einer Hadamard-Operation entspricht.

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

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

    (QFT2m1x)a=12m1y=02m11ω2m1xyya.\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 m1m-1 Qubits einzuspeisen (wie oben beschrieben), um diesen Zustand zu erhalten:

    12m1y=02m11ω2m1xyω2mayya.\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:

    12my=02m11b=01(1)abω2m1xyω2mayyb.\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:

    12my=02m11b=01(1)abω2m1xyω2mayby.\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 xa\vert x\rangle \vert a\rangle (für die Eingabe) und by\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ω2m1xyω2may=ω2m(2x+a)(2m1b+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 a,a, b,b, xx und y,y, wird aber nur für a,b{0,1}a,b\in\{0,1\} und x,y{0,,2m11}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)(2m1b+y)=ω2m2mxbω2m2xyω2m2m1abω2may=(1)abω2m1xyω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,,2m1}u\in\{0,\ldots,2^m - 1\} wie folgt definiert.

QFT2mu=12mv=02m1ω2muvv\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=2m1b+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,,2m11},x,y\in\{0,\ldots,2^{m-1} - 1\}, so ergibt sich

QFT2m2x+a=12my=02m11b=01ω2m(2x+a)(2m1b+y)b2m1+y=12my=02m11b=01(1)abω2m1xyω2mayb2m1+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 xa\vert x \rangle \vert a\rangle und by\vert b \rangle \vert y \rangle als Binärkodierungen ganzer Zahlen im Bereich {0,,2m1}\{0,\ldots,2^m-1\} betrachten,

xa=2x+aby=2m1b+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 m2m\geq 2 benötigen wir im obigen Schaltkreis sm1s_{m-1} Gatter für die Quanten-Fourier-Transformation auf m1m-1 Qubits, plus m1m-1 kontrollierte Phasengatter, plus ein Hadamard-Gatter, plus m1m-1 Swap-Gatter, also gilt

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

Durch Summation erhalten wir einen geschlossenen Ausdruck:

sm=k=1m(2k1)=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 2m12^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:

12mx=02m1(Uxψ)x=ψ12mx=02m1e2π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,,2m1}.y\in\{0,\ldots,2^m-1\}. In diesem Fall kann der Zustand vor der inversen Quanten-Fourier-Transformation alternativ wie folgt geschrieben werden:

ψ12mx=02m1e2πixy2mx=ψ12mx=02m1ω2mxyx=ψQFT2my.\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θ<1.0\leq \theta < 1.

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

ψ12my=02m1x=02m1e2π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=12mx=02m1e2πix(θy/2m)2p_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

auf.

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

1+α+α2++αN1={αN1α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 in der Formel für pyp_y vereinfachen, indem wir α=e2πi(θy/2m)\alpha = e^{2\pi i (\theta - y/2^m)} setzen. Das Ergebnis lautet:

x=02m1e2π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 ergibt sich also py=1p_y = 1 (was wir aus dem Sonderfall bereits wussten), und im Fall θy/2m\theta \neq y/2^m ergibt sich

py=122me2πi(2mθy)1e2πi(θy/2m)12.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.

Mehr über diese Wahrscheinlichkeiten erfahren wir, indem wir den Zusammenhang zwischen Bogen- und Sehnenlängen auf dem Einheitskreis untersuchen. Die folgende Abbildung zeigt die relevanten Beziehungen für eine beliebige reelle Zahl δ[12,12].\delta\in \bigl[ -\frac{1}{2},\frac{1}{2}\bigr].

Illustration of the relationship between arc and chord lengths

Erstens kann die Sehnenlänge (blau) niemals größer sein als die Bogenlänge (violett):

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

Betrachten wir das Verhältnis in der anderen Richtung: Das Verhältnis von Bogenlänge zu Sehnenlänge ist am größten bei δ=±1/2,\delta = \pm 1/2, und in diesem Fall entspricht das Verhältnis dem halben Umfang des Kreises dividiert durch den Durchmesser, also π/2.\pi/2. Damit gilt:

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δ14δ.\bigl\vert e^{2\pi i \delta} - 1\bigr\vert \geq 4\vert\delta\vert.

Eine auf diesen Beziehungen basierende Analyse liefert die folgenden zwei Aussagen.

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

    θy2m2(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 (y1)/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θy1/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)142mθy=42mθ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)12πθ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:

    py122m1622m4π2=4π20.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/π2,4/\pi^2, und diese Schranke gilt für jede Wahl von m.m.

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

    2mθy2m12.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)12,\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)14θy2m42m.\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:

    py122m41622m=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/4.1/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 2m2^{-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 2m2^{-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