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 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 Wir können die Beschreibung dieses Schaltkreises nutzen, um einen Schaltkreis für eine kontrollierte--Operation zu erstellen, was die folgende Abbildung veranschaulicht (mit der Operation betrachtet als Quantengate, links und einer kontrollierten--Operation rechts).
Wir können einen Quantenschaltkreis für eine kontrollierte--Operation erstellen, indem wir zunächst dem Schaltkreis für ein Kontroll-Qubit hinzufügen und dann jedes Gate im Schaltkreis für durch eine kontrollierte Version dieses Gates ersetzen — unser neues Kontroll-Qubit kontrolliert also effektiv jedes einzelne Gate im Schaltkreis für 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 aller Qubits außer dem obersten der Eigenvektor-Quantenzustand von ist.
Die Messausgangswahrscheinlichkeiten für diesen Schaltkreis hängen vom Eigenwert von ab, der dem Eigenvektor entspricht. Analysieren wir den Schaltkreis im Detail, um genau herauszufinden, wie.
Der Anfangszustand des Schaltkreises ist
und das erste Hadamard-Gate transformiert diesen Zustand zu
Als nächstes wird die kontrollierte--Operation ausgeführt, was zum Zustand führt
Unter der Annahme, dass ein Eigenvektor von mit dem Eigenwert ist, können wir diesen Zustand alternativ wie folgt ausdrücken.
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.
Die Messung liefert daher die Ergebnisse und mit diesen Wahrscheinlichkeiten:
Hier ist ein Diagramm der Wahrscheinlichkeiten für die beiden möglichen Ergebnisse, und als Funktionen von
Naturgemäß ergeben die beiden Wahrscheinlichkeiten stets die Summe Beachte, dass wenn das Messergebnis immer ist, und wenn das Messergebnis immer ist. Obwohl das Messergebnis also nicht genau preisgibt, was ist, liefert es uns doch einige Informationen darüber — und wenn uns versprochen worden wäre, dass entweder oder 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 mit „einem Bit Genauigkeit" verstehen. Mit anderen Worten: Würden wir in Binärdarstellung schreiben und auf ein Bit runden, erhielten wir eine Zahl wie diese:
Das Messergebnis kann als Schätzung des Bits betrachtet werden. Wenn weder noch ist, besteht eine von null verschiedene Wahrscheinlichkeit, dass die Schätzung falsch ist — aber die Fehlerwahrscheinlichkeit wird immer kleiner, je näher wir oder 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 und sodass der Phase-Kickback beim Zustand und nicht beim Zustand 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 zu erfahren. Vor dem zweiten Hadamard-Gate befindet sich das oberste Qubit im Zustand
und wenn wir diesen Zustand messen würden, erhielten wir und jeweils mit Wahrscheinlichkeit was uns nichts über verrät. Durch das zweite Hadamard-Gate bewirken wir jedoch, dass die Zahl die Ausgangswahrscheinlichkeiten beeinflusst.
Die Phase verdoppeln
Der obige Schaltkreis nutzt das Phase-Kickback-Phänomen, um 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 erfahren?
Eine sehr einfache Möglichkeit besteht darin, die kontrollierte--Operation in unserem Schaltkreis durch zwei Kopien dieser Operation zu ersetzen, wie in diesem Schaltkreis:
Zwei Kopien einer kontrollierten--Operation entsprechen einer kontrollierten--Operation. Wenn ein Eigenvektor von mit dem Eigenwert ist, dann ist dieser Zustand auch ein Eigenvektor von diesmal mit dem Eigenwert
Wenn wir diese Version des Schaltkreises ausführen, führen wir also effektiv dieselbe Berechnung wie zuvor durch, nur dass die Zahl durch ersetzt wird. Hier ist ein Diagramm, das die Ausgangswahrscheinlichkeiten zeigt, während von bis variiert.
Dies kann uns tatsächlich einige zusätzliche Informationen über liefern. Wenn die Binärdarstellung von lautet
dann verschiebt die Verdopplung von den Binärpunkt effektiv um eine Stelle nach rechts:
Da wir mit gleichsetzen, wenn wir uns auf dem Einheitskreis bewegen, hat das Bit keinen Einfluss auf unsere Wahrscheinlichkeiten, und wir erhalten effektiv eine Schätzung für das zweite Bit nach dem Binärpunkt, wenn wir auf zwei Bits runden. Wenn wir beispielsweise im Voraus wüssten, dass entweder oder 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 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.
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 abwägen.
Wenn wir diesen Schaltkreis ausführen, während ein Eigenvektor von ist, bleibt der Zustand der unteren Qubits während des gesamten Schaltkreises und Phasen werden in den Zustand der oberen zwei Qubits „gekickt". Analysieren wir den Schaltkreis sorgfältig anhand der folgenden Abbildung.
Wir können den Zustand wie folgt schreiben:
Wenn die erste kontrollierte--Operation ausgeführt wird, wird der Eigenwert in die Phase „gekickt", wenn (das oberste Qubit) gleich ist, aber nicht wenn es ist. Den resultierenden Zustand können wir so ausdrücken:
Die zweiten und dritten kontrollierten--Gates tun etwas Ähnliches, jedoch für anstatt und mit ersetzt durch Den resultierenden Zustand können wir so ausdrücken:
Wenn wir den Binärstring als eine ganze Zahl in Binärdarstellung betrachten, also können wir diesen Zustand alternativ wie folgt ausdrücken.
Unser Ziel ist es, aus diesem Zustand so viele Informationen wie möglich über zu gewinnen.
An diesem Punkt betrachten wir einen Sonderfall, in dem uns versprochen wird, dass für eine ganze Zahl gilt. Mit anderen Worten: sodass wir diese Zahl exakt in Binärdarstellung mit zwei Bits ausdrücken können, als $$.00,.01,.10.11.\theta\theta$ im Allgemeinen am effektivsten gewinnen können.
Zunächst definieren wir für jeden möglichen Wert einen Zwei-Qubit-Zustandsvektor.
Nach Vereinfachung der Exponentialterme können wir diese Vektoren wie folgt schreiben.
Diese Vektoren sind orthogonal: Wenn wir ein beliebiges Paar von ihnen wählen und ihr inneres Produkt berechnen, erhalten wir Jeder ist auch ein Einheitsvektor, sodass 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 definieren, die Standardbasiszustände in die vier oben aufgelisteten Zustände transformiert.
Um als -Matrix aufzuschreiben, nimmt man einfach die Zustände als Spalten von
Dies ist eine besondere Matrix, die einigen Lesern sicher schon begegnet ist: Es handelt sich um die Matrix, die mit der -dimensionalen diskreten Fouriertransformation assoziiert ist. Angesichts dieser Tatsache bezeichnen wir sie nicht mit sondern mit Der Name 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.
Wir können die Inverse dieser Operation anwenden, um den umgekehrten Weg zu gehen und die Zustände in die Standardbasiszustände zu transformieren. Wenn wir das tun, können wir messen, um herauszufinden, welcher Wert als beschreibt. Hier ist ein Diagramm eines Quantenschaltkreises, der genau das tut.
Zusammenfassend lässt sich sagen: Wenn wir diesen Schaltkreis ausführen, wenn für ist der Zustand unmittelbar vor den Messungen (wobei als zweistelliger Binärstring kodiert ist), sodass die Messungen den Wert fehlerfrei enthüllen.
Dieser Schaltkreis ist durch den Sonderfall motiviert — aber wir können ihn für jede beliebige Wahl von und und damit jeden beliebigen Wert von ausführen. Hier ist ein Diagramm der Ausgangswahrscheinlichkeiten, die der Schaltkreis für beliebige Werte von erzeugt.
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 konzentriert, für die nahe bei liegt. Insbesondere entspricht das wahrscheinlichste Ergebnis stets dem Wert der am nächsten liegt (wobei und wieder gleichgesetzt werden), und aus dem Diagramm sieht es so aus, als erscheine dieser nächste Wert für stets mit einer Wahrscheinlichkeit knapp über Wenn genau in der Mitte zwischen zwei solchen Werten liegt, wie z. B. sind die beiden gleich nahen Werte von 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 -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 definiert werden kann. In diesem Abschnitt sehen wir, wie diese Operation definiert ist und wie sie mit einem Quantenschaltkreis auf Qubits mit Kosten implementiert werden kann, wenn
Die Matrizen, die die Quantenfouriertransformation beschreiben, leiten sich von einer analogen Operation auf -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 -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 -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 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 für jede positive ganze Zahl wie folgt:
Dies ist die Zahl auf dem komplexen Einheitskreis, die wir erhalten, wenn wir bei beginnen und uns gegen den Uhrzeigersinn um einen Winkel von Radiant bewegen, also um einen Bruchteil von des Kreisumfangs. Hier sind einige Beispiele:
Nun können wir die -dimensionale Quantenfouriertransformation definieren, die durch eine -Matrix beschrieben wird, deren Zeilen und Spalten den Standardbasiszuständen zugeordnet sind. Für die Phasenabschätzung benötigen wir diese Operation nur für als Zweierpotenz, aber die Operation kann für jede positive ganze Zahl definiert werden.
Wie bereits erwähnt, ist dies die Matrix, die mit der -dimensionalen diskreten Fouriertransformation assoziiert ist. Oft wird der führende Faktor 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
Beachte insbesondere, dass ein anderer Name für die Hadamard-Operation ist.
Unitarität
Überprüfen wir, dass für jede Wahl von 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 entspricht, beginnend bei und bis wie folgt:
Das innere Produkt zweier beliebiger dieser Vektoren ergibt den folgenden Ausdruck:
Solche Summen lassen sich mithilfe der folgenden Formel für die Summe der ersten Glieder einer geometrischen Reihe berechnen.
Insbesondere können wir diese Formel mit anwenden. Für gilt und die Formel liefert nach Division durch :
Für gilt und die Formel ergibt:
Das liegt daran, dass also was den Zähler zu null macht, während der Nenner von null verschieden ist, da Anschaulich gesprochen summieren wir dabei eine Reihe von Punkten, die gleichmäßig auf dem Einheitskreis verteilt sind – sie heben sich gegenseitig auf und ergeben
Wir haben damit gezeigt, dass eine Orthonormalmenge ist,
was zeigt, dass 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
für eine beliebige reelle Zahl Die kontrollierte Version dieses Gatters hat die folgende Matrix:
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.
Bei der dritten Form wird die Bezeichnung manchmal auch seitlich an der Kontrolllinie oder unter dem unteren Kontrollpunkt platziert, wenn das praktischer ist.
Um die Quanten-Fourier-Transformation für mit durchzuführen, müssen wir eine Operation auf Qubits ausführen, deren Wirkung auf Standardbasiszustände wie folgt beschrieben werden kann:
wobei ein Bit ist und eine Zahl ist, die in Binärdarstellung als eine Zeichenkette von Bits kodiert ist. Dies lässt sich mithilfe kontrollierter Phasengatter realisieren, indem das folgende Beispiel für verallgemeinert wird.
Allgemein kann für eine beliebige Wahl von das oberste Qubit, das dem Bit entspricht, als Kontroll-Qubit betrachtet werden, wobei die Phasengatter von am Qubit des niedrigstwertigen Bits von bis am Qubit des höchstwertigen Bits von 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 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 in dem die Quanten-Fourier-Transformation einer Hadamard-Operation entspricht.
Um die Quanten-Fourier-Transformation auf Qubits für durchzuführen, können wir die folgenden Schritte ausführen, deren Wirkung wir für Standardbasiszustände der Form beschreiben, wobei eine ganze Zahl ist, die als Bits in Binärdarstellung kodiert ist, und ein einzelnes Bit ist.
-
Zuerst wird die -dimensionale Quanten-Fourier-Transformation auf die unteren/linken Qubits angewendet, um diesen Zustand zu erhalten:
Dies geschieht durch rekursive Anwendung der hier beschriebenen Methode für ein Qubit weniger, mit der Hadamard-Operation auf einem einzelnen Qubit als Basisfall.
-
Das obere/rechteste Qubit wird als Kontroll-Qubit genutzt, um die Phase für jeden Standardbasiszustand der verbleibenden Qubits einzuspeisen (wie oben beschrieben), um diesen Zustand zu erhalten:
-
Ein Hadamard-Gatter wird auf das obere/rechteste Qubit angewendet, um diesen Zustand zu erhalten:
-
Die Reihenfolge der Qubits wird so permutiert, dass das niedrigstwertige Bit zum höchstwertigen Bit wird und alle anderen nach oben/rechts verschoben werden:
Hier ist zum Beispiel der Schaltkreis, den wir für erhalten. In diesem Diagramm werden die Qubits mit Namen versehen, die den Standardbasisvektoren (für die Eingabe) und (für die Ausgabe) entsprechen, um die Übersichtlichkeit zu erhöhen.
Analyse
Die Schlüsselformel, die wir benötigen, um zu überprüfen, dass der soeben beschriebene Schaltkreis die -dimensionale Quanten-Fourier-Transformation implementiert, lautet:
Diese Formel gilt für beliebige ganze Zahlen und wird aber nur für und benötigt. Sie lässt sich durch Ausmultiplizieren des Produkts im Exponenten auf der rechten Seite überprüfen: