Skip to main content
IBM Quantum Platform

QFTSynthesisFull

class qiskit.transpiler.passes.synthesis.hls_plugins.QFTSynthesisFull

GitHub

Bases : HighLevelSynthesisPlugin

Plugin de synthèse pour les portes QFT utilisant la connectivité tout-à-tout.

Le nom de ce plugin est :qft.full qui peut être utilisé comme clé sur un objet pour utiliser cette méthode HLSConfig pour utiliser cette méthode avec HighLevelSynthesis.

Notez que le mécanisme de plugin n'est pas appliqué si la porte est appelée qft mais n'est pas une instance de QFTGate. Cela permet aux utilisateurs de créer des portails personnalisés avec le nom qft.

Le plugin prend en charge les options supplémentaires suivantes :

  • reverse_qubits (bool) : Synthétiser ou non l'opération "QFT" (si False,

    qui est la valeur par défaut) ou l'opération "QFT-with-reversal" (si True). Certaines implémentations du site QFTGate comprennent une couche de portes d'échange à la fin du circuit synthétisé, qui peut en principe être supprimée si le site QFTGate lui-même est la dernière porte du circuit.

  • approximation_degree (int) : Le degré d'approximation (0 pour aucune approximation).

    Il est possible d'implémenter approximativement la QFT en ignorant les rotations en phase contrôlée dont l'angle est inférieur à un seuil. Ce point est abordé plus en détail aux points [1] ou [2].

  • insert_barriers (bool) : Si True, les barrières sont insérées pour améliorer la visualisation.

  • inverse (bool) : Si True, la transformée de Fourier inverse est construite.

  • name (str) : Le nom du circuit.

Références

  1. Adriano Barenco, Artur Ekert, Kalle-Antti Suominen, et Päivi Törmä, Approximate Quantum Fourier Transform and Decoherence, Physical Review A (1996). arXiv:quant-ph/9601018 [quant-ph]
  2. Donny Cheung, Improved Bounds for the Approximate QFT (2004), arXiv:quant-ph/0403071 [quant-ph]

Méthodes

run

run(high_level_object, coupling_map=None, target=None, qubits=None, **options)

GitHub

Exécute la synthèse pour le QFTGate donné.

Cette page a-t-elle été utile ?
Signaler un bogue, une coquille ou proposer du contenu sur GitHub.