QFTSynthesisFull
class qiskit.transpiler.passes.synthesis.hls_plugins.QFTSynthesisFull
Bases: HighLevelSynthesisPlugin
Plugin de síntesis para puertas QFT que utilizan conectividad todo-a-todo.
El nombre de este plugin es :qft.full que puede usarse como clave en un HLSConfig para utilizar este método con HighLevelSynthesis.
Tenga en cuenta que el mecanismo de complemento no se aplica si la puerta se llama qft pero no es una instancia de QFTGate. Esto permite a los usuarios crear puertas personalizadas con el nombre qft.
El plugin admite las siguientes opciones adicionales:
-
reverse\qubits (bool): Si se sintetiza la operación "QFT" (si
False,que es la predeterminada) o la operación "QFT-con-reversión" (si
True). Algunas implementaciones deQFTGateincluyen una capa de puertas de intercambio al final del circuito sintetizado, que en principio puede suprimirse si la propiaQFTGatees la última puerta del circuito. -
grado_de_aproximación (int): El grado de aproximación (0 para ninguna aproximación).
Es posible implementar la QFT aproximadamente ignorando las rotaciones de fase controlada con el ángulo por debajo de un umbral. Esto se trata con más detalle en [1] ó [2].
-
insertar_barreras (bool): Si es True, se insertan barreras como mejora de la visualización.
-
inversa (bool): Si es True, se construye la transformada de Fourier inversa.
-
nombre (str): El nombre del circuito.
Referencias
- Adriano Barenco, Artur Ekert, Kalle-Antti Suominen y 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]
Métodos
run
run(high_level_object, coupling_map=None, target=None, qubits=None, **options)
Ejecuta la síntesis para el QFTGate dado.