---
title: QFTSynthesisFull (v2.4)
description: API reference for qiskit.transpiler.passes.synthesis.hls_plugins.QFTSynthesisFull in qiskit v2.4
source: https://eu-de.quantum.cloud.ibm.com/docs/en/api/qiskit/2.4/qiskit.transpiler.passes.synthesis.hls_plugins.QFTSynthesisFull
---

# QFTSynthesisFull

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

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/2.4/qiskit/transpiler/passes/synthesis/hls_plugins.py#L879-L936)

Bases: [`HighLevelSynthesisPlugin`](/docs/api/qiskit/2.4/qiskit.transpiler.passes.synthesis.plugin.HighLevelSynthesisPlugin "qiskit.transpiler.passes.synthesis.plugin.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`](/docs/api/qiskit/2.4/qiskit.transpiler.passes.HLSConfig "qiskit.transpiler.passes.HLSConfig") object to use this method with [`HighLevelSynthesis`](/docs/api/qiskit/2.4/qiskit.transpiler.passes.HighLevelSynthesis "qiskit.transpiler.passes.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].

- 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\]](https://arxiv.org/abs/quant-ph/9601018)
2. Donny Cheung, *Improved Bounds for the Approximate QFT* (2004), [arXiv:quant-ph/0403071 \[quant-ph\]](https://arxiv.org/abs/quant-ph/0403071)

## Methods

### run

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

[GitHub](https://github.com/Qiskit/qiskit/tree/stable/2.4/qiskit/transpiler/passes/synthesis/hls_plugins.py#L914-L936)

Run synthesis for the given QFTGate.
