QFTSynthesisFull
class qiskit.transpiler.passes.synthesis.hls_plugins.QFTSynthesisFull
Basen: HighLevelSynthesisPlugin
Synthese-Plugin für QFT-Gatter mit All-to-All-Verbindungen.
Dieser Plugin-Name lautet:qft.full , 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 Angleichung (0 für keine Angleichung).
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.
-
insert_barriers (bool): Wenn True, werden Barrieren als Verbesserung der Visualisierung eingefügt.
-
invers (bool): Wenn True, wird die inverse Fourier-Transformation konstruiert.
-
name (str): Der Name des Stromkreises.
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.