Quantum Fourier transform