Skip to main contentIBM Quantum Documentation

QFTSynthesisLine

class qiskit.transpiler.passes.synthesis.high_level_synthesis.QFTSynthesisLine

GitHub

Bases: HighLevelSynthesisPlugin

Synthesis plugin for QFT gates using linear connectivity.

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

Note that the plugin mechanism is not applied if the gate is called qft but is not an instance of QFTGate. This allows users to create custom gates with name qft.

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].

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.