Skip to main contentIBM Quantum Documentation

QFTSynthesisFull

class qiskit.transpiler.passes.synthesis.high_level_synthesis.QFTSynthesisFull

GitHub

Bases: HighLevelSynthesisPlugin

Synthesis plugin for QFT gates using all-to-all connectivity.

This plugin name is :qft.full which can be used as the key on an HLSConfig object to use this method with HighLevelSynthesis.

The plugin supports the following additional options:

  • reverse_qubits (bool): Whether to synthesize the “QFT” operation (if False,

    which is the default) or the “QFT-with-reversal” operation (if True). Some implementation of the QFTGate include a layer of swap gates at the end of the synthesized circuit, which can in principle be dropped if the QFTGate itself is the last gate in the circuit.

  • approximation_degree (int): The degree of approximation (0 for no approximation).

    It is possible to implement the QFT approximately by ignoring controlled-phase rotations with the angle beneath a threshold. This is discussed in more detail in [1] or [2].

  • insert_barriers (bool): If True, barriers are inserted as visualization improvement.

  • inverse (bool): If True, the inverse Fourier transform is constructed.

  • name (str): The name of the circuit.

References

  1. 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]
  2. Donny Cheung, Improved Bounds for the Approximate QFT (2004), arXiv:quant-ph/0403071 [quant-ph]

Methods

run

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

GitHub

Run synthesis for the given QFTGate.

Was this page helpful?
Report a bug or request content on GitHub.