Eine kürzlich gestellte Frage stellte die Frage, wie das 4-Qubit-Gatter CCCZ (Controlled Controlled Controlled Z) in einfache 1-Qubit- und 2-Qubit-Gatter kompiliert werden kann. Die einzige Antwort, die bisher gegeben wurde, erfordert 63 Gatter !
Der erste Schritt war die Verwendung der C n U-Konstruktion von Nielsen & Chuang:
Mit bedeutet dies 4 CCNOT-Gatter und 3 einfache Gatter (1 CNOT und 2 Hadamards reichen aus, um die endgültige CZ auf dem Ziel-Qubit und dem letzten Arbeits-Qubit durchzuführen).
Satz 1 dieser Arbeit besagt, dass das CCNOT im Allgemeinen 9 Ein-Qubit- und 6 Zwei-Qubit-Gatter (insgesamt 15) benötigt:
Das heisst:
(4 CCNOTs) x (15 Tore pro CCNOT) + (1 CNOT) + (2 Hadamards) = 63 Gesamttore .
In einem Kommentar wurde vorgeschlagen, dass die 63 Tore dann unter Verwendung eines "automatischen Verfahrens", beispielsweise aus der Theorie der automatischen Gruppen, weiter kompiliert werden können .
Wie kann diese "automatische Kompilierung" durchgeführt werden, und um wie viel würde sich in diesem Fall die Anzahl der 1-Qubit- und 2-Qubit-Gatter verringern?
Antworten:
Seig1⋯gM das Grundgatter, das Sie benutzen dürfen. Für die Zwecke dieses CNOT12 und CNOT13 usw. als getrennt behandelt. So M ist polynomiell abhängig von n , der Anzahl von Qubits. Die genaue Abhängigkeit beinhaltet Details der Art der von Ihnen verwendeten Gatter und wie k lokal sie sind. Wenn es zum Beispiel x einzelne Qubit-Gatter und y 2-Qubit-Gatter gibt, die nicht von der Ordnung wie CZ abhängen, dann ist M=xn+(n2)y .
Eine Schaltung ist dann ein Produkt dieser Generatoren in einer bestimmten Reihenfolge. Es gibt jedoch mehrere Schaltkreise, die nichts bewirken. WieCNOT12CNOT12=Id . Also geben diese Beziehungen auf die Gruppe. Das heißt es ist eine Gruppenpräsentation ⟨g1⋯gM∣R1⋯⟩ , wo es viele Beziehungendie wir nicht wissen.
Das Problem, das wir lösen möchten, erhält ein Wort in dieser Gruppe, das kürzeste Wort, das dasselbe Element darstellt. Für allgemeine Gruppenpräsentationen ist dies hoffnungslos. Die Art der Gruppenpräsentation, auf die dieses Problem zugegriffen werden kann, wird als automatisch bezeichnet.
Aber wir können ein einfacheres Problem betrachten. Wenn wir einen Teil vongi wegwerfen, erhalten die Wörter von vorher die Form w1gi1w2gi2⋯wk wobei jedes der wi nur Wörter in den verbleibenden Buchstaben sind. Wenn wir es geschafft haben, sie mit den Relationen zu verkürzen, an denen das gi nicht beteiligt ist , haben wir den gesamten Kreislauf verkürzt. Dies ist vergleichbar mit der Optimierung der CNOTs in der jeweils anderen Antwort.
Wenn es zum Beispiel sind drei Generatoren und das Wort istaababbacbbaba , aber wir wollen nicht behandeln c , werden wir stattdessen verkürzen w1=aababba und w2=bbaba bis w 1 und w 2 . Wir stellen sie dann wieder zusammen als w 1 cw^1 w^2 w^1cw^2 , und das ist eine Verkürzung des ursprünglichen Wortes.
So WLOG (ohne Beschränkung der Allgemeinheit), nehmen wir an , wir in diesem Problem sind bereits⟨g1⋯gM∣R1⋯⟩ , wo wir jetzt alle Tore angegeben verwenden. Auch dies ist wahrscheinlich keine automatische Gruppe. Aber was ist, wenn wir einige der Beziehungen verwerfen? Dann werden wir eine weitere Gruppe haben, die eine Quotientenkarte hat, die derjenigen entspricht, die wir wirklich wollen.
Die Gruppe⟨g1g2∣−⟩ keine Beziehungen sind einefreie Gruppe, aber dannwenn Sie setzeng21=id als eine Beziehung, erhalten Sie daskostenlose Produkt Z2⋆Z und es ist ein Quotient Karte aus dem ehemaligen zum späteren Reduzieren der Anzahl vong1 's in jedem Segment modulo2 .
Die Beziehungen, die wir herauswerfen, werden so sein, dass diejenige im Obergeschoss (die Quelle der Quotientenkarte) von Natur aus automatisch ist. Wenn wir nur die verbleibenden Relationen verwenden und das Wort verkürzen, wird es immer noch ein kürzeres Wort für die Quotientengruppe sein. Es ist einfach nicht optimal für die Quotientengruppe (das Ziel der Quotientenkarte), aber es hat die Länge≤ der Länge, mit der es begonnen hat.
Das war die allgemeine Idee, wie können wir daraus einen bestimmten Algorithmus machen?
Wie wählen wir dasgi und die Relationen aus, die verworfen werden sollen, um eine automatische Gruppe zu erhalten? Hier kommt das Wissen über die Arten von Elementartoren ins Spiel, die wir normalerweise verwenden. Es gibt viele Beteiligungen, also behalte nur diese. Achten Sie sorgfältig darauf, dass dies nur die elementaren Verschiebungen sind. Wenn Ihre Hardware Probleme hat, Qubits zu tauschen, die auf Ihrem Chip stark voneinander getrennt sind, bedeutet dies, dass Sie sie nur in diejenigen schreiben, die Sie leicht tun können, und dieses Wort auf diese reduzieren so kurz wie möglich sein.
Angenommen, Sie haben die IBM Konfiguration . Dann sinds01,s02,s12,s23,s24,s34 die erlaubten Tore. Wenn Sie eine allgemeine Permutation durchführen möchten, zerlegen Sie sie insi,i+1 Faktoren. Das ist ein Wort in der Gruppe⟨s01,s02,s12,s23,s24,s34∣R1⋯⟩ das wir kürzen möchten.
Beachten Sie, dass dies nicht die Standard-Involutionen sein müssen. Sie können beispielsweise zusätzlich zu X auchR(θ)XR(θ)−1 einwerfen . Denken Sie an dieX Gottesman-Knill-Theorem , aber auf abstrakte Weise bedeutet dies, dass es einfacher ist, es zu verallgemeinern. Verwenden Sie beispielsweise die Eigenschaft, dass Sie unter kurzen exakten Sequenzen, wenn Sie über endliche vollständige Umschreibungssysteme für beide Seiten verfügen, eines für die mittlere Gruppe erhalten. Dieser Kommentar ist für den Rest der Antwort nicht erforderlich, zeigt jedoch, wie Sie aus den in dieser Antwort enthaltenen Beispielen allgemeinere Beispiele erstellen können.
Die Beziehungen, die beibehalten werden, sind nur solche der Form(gigj)mij=1 . Dies ergibt eine Coxeter-Gruppe und es erfolgt automatisch. Tatsächlich müssen wir nicht einmal von vorne anfangen, um den Algorithmus für diese automatische Struktur zu codieren. Es ist bereits in Sage (Python-basiert) für allgemeine Zwecke implementiert . Alles, was Sie tun müssen, ist das mij anzugeben, und die verbleibende Implementierung ist bereits abgeschlossen. Darüber hinaus könnten Sie einige Beschleunigungen durchführen.
Jedes Mal, wenn das Wort kürzer wird oder gleich lang bleibt, verwenden wir nur Algorithmen mit linearem oder quadratischem Verhalten. Dies ist ein ziemlich billiges Verfahren, also sollten Sie es auch tun und sicherstellen, dass Sie nichts Dummes getan haben.
N=28
K=20
quelle
Mit dem in https://arxiv.org/abs/quant-ph/0303063 1 beschriebenen Verfahren kann jedes Diagonalgate - und damit insbesondere das CCCZ-Gate - in CNOTs und Ein-Qubit-Diagonalgates zerlegt werden. Dabei können die CNOTs nach einem klassischen Optimierungsverfahren allein optimiert werden.
Die Referenz liefert eine Schaltung unter Verwendung von 16 CNOTs für beliebige diagonale 4-Qubit-Gatter (Fig. 4).
Beachten Sie auch, dass diese Konstruktion keinesfalls optimal sein muss.
1 Hinweis: Ich bin ein Autor
quelle