QFTSynthesisLine
class qiskit.transpiler.passes.synthesis.hls_plugins.QFTSynthesisLine
Basen: HighLevelSynthesisPlugin
Synthese-Plugin für QFT-Gatter mit linearer Konnektivität.
Dieser Plugin-Name lautet:qft.line , der als Schlüssel für ein Objekt verwendet werden kann HLSConfig objekt verwendet werden kann, um diese Methode mit HighLevelSynthesis.
Beachten Sie, dass der Plugin-Mechanismus nicht angewandt wird, wenn das Tor zwar qft heißt, aber keine Instanz von QFTGate ist. Damit können Benutzer benutzerdefinierte Gates mit dem Namen qft erstellen.
Das Plugin unterstützt die folgenden zusätzlichen Optionen:
-
reverse_qubits (bool): Ob die "QFT"-Operation synthetisiert werden soll (wenn
False,was die Standardeinstellung ist) oder die Operation "QFT mit Umkehrung" (wenn
True). Einige Implementierungen vonQFTGateenthalten eine Schicht von Tauschgattern am Ende der synthetisierten Schaltung, die im Prinzip entfallen kann, wenn dasQFTGateselbst das letzte Gatter in der Schaltung ist. -
approximation_degree (int): der Grad der Annäherung (0 für keine Annäherung).
Es ist möglich, die QFT näherungsweise zu implementieren, indem Drehungen mit kontrollierter Phase, deren Winkel unter einem Schwellenwert liegt, ignoriert werden. Dies wird in den Abschnitten [1] und [2] ausführlicher behandelt.
Referenzen
- Adriano Barenco, Artur Ekert, Kalle-Antti Suominen, and Päivi Törmä, Approximate Quantum Fourier Transform and Decoherence, Physical Review A (1996). arXiv:quant-ph/9601018 [quant-ph]
- Donny Cheung, Improved Bounds for the Approximate QFT (2004), arXiv:quant-ph/0403071 [quant-ph]
Methoden
run
run(high_level_object, coupling_map=None, target=None, qubits=None, **options)
Führt die Synthese für das angegebene QFTGate durch.