ApproximateQFT operation

Warning

This documentation refers to the Classic QDK, which has been replaced by the Modern QDK.

Please see https://aka.ms/qdk.api for the API documentation for the Modern QDK.

Namespace: Microsoft.Quantum.Canon

Package: Microsoft.Quantum.Standard

Apply the Approximate Quantum Fourier Transform (AQFT) to a quantum register.

operation ApproximateQFT (a : Int, qs : Microsoft.Quantum.Arithmetic.BigEndian) : Unit is Adj + Ctl

Input

a : Int

approximation parameter which determines at which level the controlled Z-rotations that occur in the QFT circuit are pruned.

The approximation parameter a determines the pruning level of the Z-rotations, i.e., a ∈ {0..n} and all Z-rotations 2π/2ᵏ where k>a are removed from the QFT circuit. It is known that for k >= log₂(n)+log₂(1/ε)+3 one can bound ||QFT-AQFT||<ε.

qs : BigEndian

quantum register of n qubits to which the Approximate Quantum Fourier Transform is applied.

Output : Unit

Remarks

AQFT requires Z-rotation gates of the form 2π/2ᵏ and Hadamard gates.

The input and output are assumed to be encoded in big endian encoding.

References