CSE 599d  Quantum Computing
The Quantum Fourier Transform and Jordan’s Algorithm
Dave Bacon
Department of Computer Science & Engineering, University of Washington
After Simon’s 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
∈ {
0
,
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
k
=0
ω

jk
f
k
(1)
where
ω
= exp
(
2
πi
N
)
. The inverse DFT is given by
f
j
=
1
√
N
N

1
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
k
=0
ω

jk
δ
k,l
=
1
√
N
ω

jl
.
(3)
These DFTed vectors are orthonormal:
N

1
j
=0
˜
f
l
*
j
˜
f
m
j
=
1
N
N

1
j
=0
ω
jl
ω

jm
=
1
N
N

1
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
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
k
=0
ω
jk
˜
f
k
=
1
√
N
N

1
k
=0
ω
jk
1
√
N
N

1
l
=0
ω

lk
f
l
=
1
N
N

1
k,l
=0
ω
(
j

l
)
k
f
l
=
N

1
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
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.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
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.
Since we need to do this for each of the
N
different component. Thus we see that
N
2
complex multiplications and
N
(
N

1) complex additions are needed to compute the DFT. The goal of the fast Fourier transform is to perform
the DFT using less basic math operations. There are may ways to do this. We will describe one particular method
This is the end of the preview.
Sign up
to
access the rest of the document.
 Fall '08
 Staff
 Algorithms, DFT, Fast Fourier transform, QFT

Click to edit the document details