2
I. INTRODUCTION
In the early 1980s,
Manin (1980) and Feynman (1982) in-
dependently observed that computers built from quantum me-
chanical components would be ideally suited to simulating
quantum mechanics. Whereas brute-force classical simula-
tion of a system of n quantum particles (say, two-level atoms)
requires storing 2
n
complex amplitudes, and hence exponen-
tially many bits of information, a quantum computer can nat-
urally represent those amplitudes using only n quantum bits.
Thus, it is natural to expect a quantum mechanical computer
to outperform a classical one at quantum simulation.
1
The perspective of quantum systems as abstract informa-
tion processing devices subsequently led to the identification
of concrete tasks, apparently unrelated to quantum mechan-
ics, for which quantum computers have a quantifiable advan-
tage.
Deutsch (1985) gave the first such example, a black-
box problem that requires two queries to solve on a clas-
sical computer, but that can be solved with only one quan-
tum query. A series of related results (
Bernstein and Vazirani,
1997; Deutsch and Jozsa, 1992) gave increasingly dramatic
separations between classical and quantum query complex-
ity, culminating in an example of
Simon (1997) providing an
exponential separation. Building on this work, Shor (1997)
discovered in 1994 that a quantum computer could efficiently
factor integers and calculate discrete logarithms. Shor’s re-
sult drew considerable attention to the concept of quantum in-
formation processing (see
Ekert and Jozsa (1996) for an early
review), and since then, the design and analysis of quantum
algorithms has become a vibrant research area.
Quantum computers achieve speedup over classical compu-
tation by taking advantage of interference between quantum
amplitudes. Of course, interference occurs in classical wave
mechanics as well, but quantum mechanics is distinguished
by the ability to efficiently represent a large number of am-
plitudes with only a few quantum bits.
2
In Shor’s algorithm
and its predecessors, the “exponential interference” leading
to quantum speedup is orchestrated using a unitary operation
called the quantum Fourier transform (QFT), an algebraic op-
eration. In this article, we review the state of the art in quan-
tum algorithms for algebraic problems, which can be viewed
as continuations of the line of work leading from Deutsch to
Shor. Many, though not all, of these algorithms make use of
1
In principle, quantum systems evolving according to simple interactions
from a simple initial configuration can be described using fewer param-
eters, and classical simulations exploiting this idea have been developed
(see for example
P´erez-Garc´ıa et al. (2007)). But while these ideas are
extremely fruitful for simulating some quantum systems, we do not ex-
pect them to be efficient for any physically reasonable system—in particu-
lar, not for systems capable of performing universal quantum computation.
However, we emphasize that there is no unconditional proof that classical
simulation of quantum systems requires exponential overhead.
2
A similar situation occurs for the description of n probabilistic bits by
2
n
real-valued probabilities. However, probabilities do not interfere; and
contrary to the quantum case, randomized algorithms are not believed to
be dramatically more powerful than deterministic ones (see for example
Impagliazzo and Wigderson (1997)).
the QFT in some capacity.
Before beginning our exploration of quantum algorithms
for algebraic problems, we briefly summarize the develop-
ment of quantum algorithms more generally. It has sometimes
been said that there are really only two quantum algorithms:
Shor’s and Grover’s. We hope that this article will, in some
small way, help to dispel this pernicious myth. While it is dif-
ficult to compete with the impact of Shor’s algorithm (a dra-
matic speedup for a problem profoundly relevant to modern
electronic commerce) or the broad applicability of Grover’s
algorithm (a modest yet surprising speedup for the most basic
of search problems), recent years have seen a steady stream of
new quantum algorithms, both for artificial problems that shed
light on the power of quantum computation, and for problems
of genuine practical interest.
In 1996,
Grover (1997) gave an algorithm achieving
quadratic speedup
3
for the unstructured search problem, the
problem of deciding whether a black-box Boolean func-
tion has any input that evaluates to 1. Grover’s algo-
rithm was subsequently generalized to the framework of
amplitude amplification and to counting the number of so-
lutions (
Brassard et al., 2002). The unstructured search
problem is extremely basic, and Grover’s algorithm has
found application to a wide variety of related problems
(e.g.,
Ambainis and
ˇ
Spalek (2006); Brassard et al. (1997);
D¨urr et al. (2004)).
The concept of quantum walk, developed by analogy to the
classical notion of random walk, has proven to be another
broadly useful tool for quantum algorithms. Continuous-
time quantum walk was introduced by
Farhi and Gutmann
(1998), and discrete-time quantum walk was introduced by
Watrous (2001b). The continuous-time formulation has been
used to demonstrate exponential speedup of quantum over
classical computation (
Childs et al., 2003, 2007), though it
remains to be seen whether these ideas can be applied to
a problem of practical interest. However, both continuous-
and discrete-time quantum walk have been applied to achieve
polynomial speedup for a variety of search problems. Follow-
ing related work on spatial search (
Aaronson and Ambainis,
2005; Ambainis et al., 2005; Childs and Goldstone, 2004a,b;
Shenvi et al., 2003), Ambainis (2007) gave an optimal quan-
tum algorithm for the element distinctness problem. This ap-
proach was subsequently generalized (
Magniez et al., 2007;
Szegedy, 2004) and applied to other problems in query com-
plexity, namely triangle finding (
Magniez et al., 2005), check-
ing matrix multiplication (Buhrman and
ˇ
Spalek, 2006), and
testing group commutativity (
Magniez and Nayak, 2007). Re-
cently, quantum walk has also been applied to give optimal
quantum algorithms for evaluating balanced binary game trees
(
Farhi et al., 2007) and, more generally, Boolean formulas
(
Ambainis et al., 2007; Reichardt and
ˇ
Spalek, 2008).
3
Prior to Grover’s result it was already shown by Bennett et al. (1997) that
a quadratic speedup for the unstructured search problem is optimal. More
generally, for any total Boolean function, there can be be at most a polyno-
mial separation (in general, at most degree 6) between classical and quan-
tum query complexity (
Beals et al., 2001).