Quantum Fourier Transform¶
The quantum Fourier transform (QFT) function is the quantum analog for discrete Fourier transform. It is applied on the quantum register state vector.
The state vector x
is transformed to y
in the following manner:
$y_k = \frac{1}{\sqrt{N}} \sum_{j=0}^{N-1} x_j e^{2\pi i \frac{jk}{N}}
$.
Syntax¶
Function: QFT
Parameters:
num_qubits
:PositiveInt
approximation_degree
:NonNegativeInt
do_swaps
:bool
The approximation_degree
attribute omits rotation gates for small angles.
The default value is 0.
The do_swaps
attribute adds additional SWP gates after the QFT,
thereby reversing the order of the qubits. The default value is True
.
Example¶
{
"logic_flow": [
{
"function": "QFT",
"function_params": {
"num_qubits": 4
}
}
]
}
from classiq.builtin_functions import QFT
from classiq import Model
model = Model()
params = QFT(
num_qubits=4,
)
model.QFT(params)
model.synthesize()