Skip to content

Quantum Fourier Transform

View on GitHub Experiment in the IDE

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}}\]

Function: qft

Arguments:

  • target: QArray[QBit]

The target quantum argument is the quantum state on which we apply the QFT.

Example

from classiq import *


@qfunc
def main(x: Output[QArray[QBit]]):
    allocate(4, x)
    qft(x)


qmod = create_model(main, out_file="qft")
qprog = synthesize(qmod)