Für die Implementierung eines bestimmten Quantenalgorithmus muss ich ein Multi-Qubit-Gatter (in diesem Fall ein Drei-Qubit-gesteuertes Z-Gatter) aus einem Satz von Elementargattern konstruieren, wie in der folgenden Abbildung gezeigt. .
Die Tore, die ich benutzen kann, sind
- die Pauli-Tore und alle ihre Kräfte (dh alle Pauli-Rotationen bis zu einem Phasenfaktor),
- | 11 ⟩ ⟨ 11 | (Drehung um Projektor),
- (Hadamard),
- (Single-Qubit Controlled-X oder CNOT),
- (Single-Qubit Controlled-Z) und
- (SWAP).
Wie kann ich dieses Drei-Qubit-gesteuerte Z aus diesen Toren bauen? Ich habe mehrere Artikel über Schaltungszerlegungen gelesen, aber keiner von ihnen konnte mir eine klare und präzise Antwort geben.
quantum-gate
gate-synthesis
Dyon J. Don Kiwi van Vreumingen
quelle
quelle
Antworten:
(EDIT: Verbessert auf 14 CNOTs.)
Dies kann mit 14 CNOTs plus 15 Z-Rotationen mit einem Qubit und ohne zusätzliche Qubits durchgeführt werden.
Die entsprechende Schaltung ist
Dabei sind die Rotationen± Rz(±π/16)∝(1e±iπ/8)
Ableitung:
Unter Verwendung des in https://arxiv.org/abs/quant-ph/0303063 1 beschriebenen Verfahrens kann jedes diagonale Gate - also insbesondere das CCCZ-Gate - in z. B. CNOTs und diagonale Ein-Qubit-Gates zerlegt werden. Hier können die CNOTs nach einem klassischen Optimierungsverfahren selbst optimiert werden.
Die Referenz stellt eine Schaltung bereit, die 16 CNOTs für 4-Qubit-Gates mit beliebiger Diagonale verwendet (Fig. 4).
Dies kann verbessert werden, wenn beliebige Paare von Qubits mit 14 Qubits gekoppelt werden können. Für nächste Nachbarn mit periodischen (offenen) Randbedingungen kann dies mit 16 (18) CNOTs erfolgen. Die entsprechenden Schaltkreise finden Sie in https://epub.uni-regensburg.de/1511/ 1 , Abb. 5.2, 5.4 und 5.5 und können zB mit Methoden zum Aufbau kurzer Gray-Sequenzen erhalten werden.
Die Anzahl der Ein-Qubit-Gates beträgt immer 15.
Anmerkung: Während es im Prinzip eine einfachere Schaltung geben könnte (diese Schaltung wurde unter Berücksichtigung einer eingeschränkteren Schaltungsarchitektur optimiert), sollte sie nahezu optimal sein - die Schaltung muss alle Zustände der Form erstellen für jede nicht triviale Teilmenge , und es gibt 15 davon für 4 Qubits.⨁i∈Ixi I⊂{1,2,3,4}
Beachten Sie auch, dass diese Konstruktion keinesfalls optimal sein muss.
1 Hinweis: Ich bin Autor
quelle
Sie können ein Qubit-gesteuertes durch die in dieser Antwort angegebene Schaltung implementieren . Ersetzen nur von . Dies erfordert jedoch CCNOT-Gatter (Toffoli), und Sie haben einige Optionen für die Implementierung von CCNOT mithilfe von Elementartoren .U U Z.n U U Z
quelle
Hier ist eine CCCZ-Konstruktion, die 29 Tore verwendet :
Wenn Sie die Messung und die klassische Vorwärtskopplung verwenden dürfen, kann die Gate-Anzahl auf 25 reduziert werden :
(Die Hadamard-Gates können bei Bedarf durch Quadratwurzeln von Y ersetzt werden, um die Gate-Set-Einschränkung zu erfüllen.)
Und wenn Sie mir erlauben, Controlled-S-Gates und Controlled-sqrt (X) -Gates durchzuführen und X-Basismessungen durchzuführen, kann ich es auf insgesamt 10 Gates reduzieren :
quelle
Ich poste hier eine weitere Zerlegung von CCCZ, nur für den Fall, dass es für andere nützlich ist, die versuchen, CCCZ zu kompilieren. Es erfordert eine geringere Anzahl von Gesamtgattern und nur 1 Hilfs-Qubit anstelle von 2, aber fünf weitere 2-Qubit-Gatter als die "offensichtliche" Antwort, sodass die Implementierung auf Hardware möglicherweise schlechter ist.
Es wurde von Benutzer @Rob in diesem Kommentar vorgeschlagen: Automatische Kompilierung von Quantenschaltungen und stammt aus diesem Artikel .
Das GMS5 -Tor lautet wie folgt:(χ)
mit und all , was bedeutet, dass es sich um 10 Zwei-Qubit-Gatter handelt. Diese müssen dann in den in der Frage angegebenen Gate-Satz kompiliert werden. Daher sollte diese Zerlegung nur verwendet werden, wenn Sie versuchen, die Anzahl der zusätzlichen Qubits zu sparen, oder wenn es Ihnen nichts ausmacht, mehr 2-Qubit-Gates zu haben Reduzieren Sie die Schaltungstiefe etwas.n=5 χij=χ
quelle
Es gibt einige große Einsparungen, die basierend auf dem angegebenen Gate-Set erzielt werden können. Wenn Sie beispielsweise in der typischen ccnot-Konstruktion das Gatter durch ersetzen , benötigen Sie nicht die Phasenkorrektur, die die letzten paar Gatter zwischen den beiden Steuer-Qubits darstellt. Diese Konstruktion, die dem in der Frage angegebenen Gate-Set entspricht, besteht aus 21 Gates, von denen 10 2-Qubit sind (Sie benötigen nicht das letzte Gate in der folgenden Schaltung).T Z1/4
Um es klar auszudrücken (als Antwort auf mehrere Kommentare): Normalerweise schauen wir uns Toffoli an und versuchen, es mit dem Gate zu machen . Falls beide Kontrollen , dann auf dem Ziel - Qubit die Gate - Sequenz ist . Da nun , vereinfacht sich die Sequenz zu , und man muss den beiden Steuer-Qubits ein kompensierendes gesteuertes S-Gatter hinzufügen. Wenn wir stattdessen , dann ist , und keine dieser lästigen Phasen kommt hinein, und es erspart Ihnen zwei - Qubit Gates!| 1 ⟩ H X T X T † X T X T † H X T † X = T e - i π / 4 - i H T 4 H = - i X Z 1 / 4 X Z - 1 / 4 X = Z 1 / 4T |1⟩ HXTXT†XTXT†H XT†X=Te−iπ/4 −iHT4H=−iX Z1/4 XZ−1/4X=Z1/4
Beachten Sie außerdem, dass die beiden Toffoli-Gates nur Toffoli sind, da sie auf den 0-Status abzielen. Normalerweise benötigen Sie ein zusätzliches Zwei-Qubit-Gate.
Ich habe nicht so effizient eine Konstruktion in bestehenden Literatur, obwohl dies gefunden Papier behauptet , eine Konstruktion unter Verwendung von nur 11 2-Qubit - Gattern, aber ich habe keine vollständige Gatterzahl geschehen , sobald es in die Frage der eingeschränkten Gatesatz umgewandelt wird .
quelle
Während meine andere Antwort die naheliegendste "Lehrbuch" -Methode ist (unter Verwendung der CCCZ-Zerlegung von Nielsen & Chaung in CCNOTs , dann einer anderen Lehrbuchzerlegung zur Kompilierung der CCNOTs ), könnte eine kreativere Methode es uns ermöglichen, die Arbeit mit weniger Gates zu erledigen.
Schritt 1:
Ersetzen Sie alle CNOTs in der Schaltung von Nielsen & Chuang durch dieses Gadget:
Schritt 2:
Jetzt haben wir eine Reihe von CCZs anstelle von CCNOTs, und sie können wie folgt zerlegt werden (mit freundlicher Genehmigung dieses Dokuments ):
Schritt 3:
Beachten Sie, dass , so dass sich einige dieser Hadamards gegenseitig aufheben und wir noch mehr von einer Reduktion bekommen :)H2=I
quelle