Ich habe derzeit 2 einheitliche Matrizen, die ich mit weniger möglichen Quantengattern auf eine gute Genauigkeit approximieren möchte.
In meinem Fall sind die zwei Matrizen:
- Die Quadratwurzel des NOT-Gatters (bis zu einer globalen Phase)
Meine Frage lautet wie folgt:
Wie kann ich diese spezifischen Matrizen mit weniger möglichen Quantentoren und einer guten Präzision approximieren?
Was ich haben möchte, kann es sich leisten, es zu haben:
- Ich kann es mir leisten, mehrere Tage / Wochen CPU-Zeit und viel RAM zu verwenden.
- Ich kann es mir leisten, 1 oder 2 menschliche Tage damit zu verbringen, nach mathematischen Tricks zu suchen (als letztes Mittel frage ich hier zuerst). Diese Zeit beinhaltet nicht die Zeit, die ich benötigen würde, um die für den ersten Punkt verwendeten hypothetischen Algorithmen zu implementieren.
- Ich möchte, dass die Zerlegung nahezu genau ist. Ich habe momentan keine Zielgenauigkeit, aber die beiden oben genannten Gates werden von meiner Schaltung häufig verwendet und ich möchte nicht, dass sich zu viele Fehler ansammeln.
- Ich möchte, dass die Zerlegung so wenig Quantengatter wie möglich verwendet. Dieser Punkt ist im Moment zweitrangig.
- Mit einer guten Methode könnte ich den gewünschten Kompromiss zwischen der Anzahl der Quantentore und der Genauigkeit der Approximation wählen. Wenn dies nicht möglich ist, ist wahrscheinlich eine Genauigkeit von mindestens (in Bezug auf die Spurennorm) erforderlich (wie bereits erwähnt, ich habe keine Schätzungen, daher bin ich mir dieses Schwellenwerts nicht sicher).
- Die Gate-Menge ist:
mit wie inWikipédia beschrieben,die Drehung in Bezug auf die Axt(ist entweder,oder) und.
Die Methoden, die ich kenne:
- Der Solovay-Kitaev-Algorithmus. Ich habe eine Implementierung dieses Algorithmus und habe ihn bereits auf mehreren einheitlichen Matrizen getestet. Der Algorithmus erzeugt Sequenzen, die ziemlich lang sind, und der Kompromiss [Anzahl der Quantentore] VS [Genauigkeit der Approximation] ist nicht parametrisierbar genug. Trotzdem werde ich den Algorithmus auf diesen Gates ausführen und diese Frage mit den Ergebnissen bearbeiten, die ich erhalten habe.
- Zwei Artikel zur 1-Qubit-Gate-Approximation und zur n-Qubit-Gate-Approximation . Ich muss diese Algorithmen auch testen.
BEARBEITEN: Die Frage wurde bearbeitet, um "Quadratwurzel von nicht" deutlicher zu machen.
Antworten:
Sie haben zwei besonders einfache Matrizen ausgewählt, die implementiert werden sollen.
Die erste Operation (G) ist nur die Quadratwurzel des X-Gatters (bis zur globalen Phase):
Die zweite Operation (W) ist eine Hadamard-Matrix im mittleren 2x2-Block einer ansonsten identitätsbezogenen Matrix. Jedes Mal, wenn Sie dieses 2x2-in-the-Middle-Muster sehen, sollten Sie an eine "kontrollierte Operation, die durch CNOTs konjugiert ist" denken. Und genau das funktioniert hier (Hinweis: Möglicherweise müssen Sie die Zeilen tauschen; dies hängt von Ihrer Endianness-Konvention ab):
Das einzige wirkliche Problem ist also, wie eine kontrollierte Hadamard-Operation implementiert wird. Ein Hadamard ist eine 180-Grad-Drehung um die X + Z-Achse. Sie können eine 45-Grad-Drehung um die Y-Achse verwenden, um die X + Z-Achse zur X-Achse zu verschieben. Führen Sie dann einen CNOT an der Stelle des CH durch und verschieben Sie die Achse zurück:
quelle
Die Konstruktion ist insofern optimal, als zwei CNOT-Gatter und höchstens 12 Einzel-Qubit-Gatter erforderlich sind (für den allgemeinsten Fall eines echten Zwei-Qubit-Gatters). Die Konstruktion basiert auf dem Homomorphismus:
Unter Verwendung dieser Konstruktion lautet die von Vatan und Williams angegebene vollständige Gate-Implementierung:
quelle
Keines dieser Tore erfordert ungefähre Sequenzen. Sie können sie ohne großen Aufwand genau mit Ihren angegebenen Gate-Sets implementieren.
quelle