This preview shows pages 1–3. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: CSE 599d  Quantum Computing The Quantum Fourier Transform and Jordans Algorithm Dave Bacon Department of Computer Science & Engineering, University of Washington After Simons algorithm, the next big breakthrough in quantum algorithms occurred when Peter Shor discovered his algorithm for efficiently factoring numbers. This algorithm makes us of the quantum Fourier transform. In this lecture we will deviate to discuss the (quantum) discrete Fourier transform and see an application of this transform which was only recently (2005) realized. I. DISCRETE FOURIER TRANSFORM There are many motivations for the discrete Fourier transform. Those of you in computer science have probably encountered them first in signal processing and perhaps further in cool theory results like switching lemmas. Those of you in physics have definitely encountered the continuous fourier transform, most likely first in quantum theory where we learn that the fourier transform goes between the momentum and position representations of a wave function. Suppose that we have a vector f of N complex numbers, f k , k { , 1 , . . . , N 1 } . Then the discrete Fourier transform (DFT) is a map from these N complex numbers to N complex numbers, the Fourier transformed coefficients f j , given by f j = 1 N N 1 X k =0  jk f k (1) where = exp ( 2 i N ) . The inverse DFT is given by f j = 1 N N 1 X k =0 jk f k (2) To see this consider how the basis vectors transform. If f l k = k,l , then f l j = 1 N N 1 X k =0  jk k,l = 1 N  jl . (3) These DFTed vectors are orthonormal: N 1 X j =0 f l * j f m j = 1 N N 1 X j =0 jl  jm = 1 N N 1 X j =0 j ( l m ) (4) This last sum can be evaluated as a geometric series, but beware of the ( l m ) = 0 term, and yields N 1 X j =0 f l * j f m j = l,m . (5) From this we can check that the inverse DFT does indeed perform the inverse transform: f j = 1 N N 1 X k =0 jk f k = 1 N N 1 X k =0 jk 1 N N 1 X l =0  lk f l = 1 N N 1 X k,l =0 ( j l ) k f l = N 1 X l =0 j,l f l = f j (6) An important property of the DFT is the convolution theorem. The circular convolution of two vectors f and g is given by ( f * g ) i = N 1 X j =0 f j g i j (7) where we define g m = g N m . The convolution theorem states that the DFT turns convolution into pointwise vector multiplication. In other words if the components of the DFT of ( f * g ) are c k , then c k = f k g k . What use is the convolution theorem? Well this leads us nicely to our next topic, the fast Fourier transform. 2 II. FAST FOURIER TRANSFORM AND AN APPLICATION Naively how many math operations do we have to do to perform a discrete Fourier transform? Well for each component of the new vector we will need to perform N multiplications and then we will need to add these components....
View
Full
Document
This note was uploaded on 11/06/2011 for the course CSE 599 taught by Professor Staff during the Fall '08 term at University of Washington.
 Fall '08
 Staff
 Algorithms

Click to edit the document details