For twenty years, quantum computing has been catnip to science journalists. Not only would a quantum computer harness the notorious weirdness of quantum mechanics, but it would do so for a practical purpose: namely, to solve certain problems exponentially faster than we know how to solve them with any existing computer. But there’s always been a catch, and I’m not even talking about the difficulty of building practical quantum computers. Supposing we had a quantum computer, what would we use it for? The “killer apps”—the problems for which a quantum computer would promise huge speed advantages over classical computers—have struck some people as inconveniently narrow. By using a quantum computer, one could dramatically accelerate the simulation of quantum physics and chemistry (the original application advocated by Richard Feynman in the 1980s); break almost all of the public-key cryptography currently used on the Internet (for example, by quickly factoring large numbers, with the famous Shor’s algorithm [14]); and maybe achieve a modest speedup for solving optimization problems in the infamous “NP-hard” class (but no one is sure about the last one). Alas, as interesting as that list might be, it’s hard to argue that it would transform civilization in anything like the way classical computing did in the previous century. Recently, however, a new family of quantum algorithms has come along to challenge this relativelynarrow view of what a quantum computer would be useful for. Not only do these new algorithms promise exponential speedups over classical algorithms, but they do so for eminently-practical problems, involving machine learning, clustering, classification, and finding patterns in huge amounts of data. So, do these algorithms live up to the claims? That’s a simple question with a complicated answer. The algorithm at the center of the “quantum machine learning” mini-revolution is called HHL [9], after my colleagues Aram Harrow, Avinatan Hassidim, and Seth Lloyd, who invented it in 2008. Many of the subsequent quantum learning algorithms extend HHL or use it as a subroutine, so it’s important to understand HHL first. (See also a Nature News & Views piece by Childs [5].) HHL attacks one of the most basic problems in all of science: namely, solving a system of linear equations. Given an n× n real matrix A and a vector b, the goal of HHL is to (approximately) solve the system
[1]
Daniel A. Lidar,et al.
Adiabatic quantum algorithm for search engine ranking.
,
2011,
Physical review letters.
[2]
Peter W. Shor,et al.
Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer
,
1995,
SIAM Rev..
[3]
Gilles Brassard,et al.
Strengths and Weaknesses of Quantum Computing
,
1997,
SIAM J. Comput..
[4]
Anmer Daskin.
Quantum Principal Component Analysis
,
2015
.
[5]
Seth Lloyd,et al.
Quantum algorithms for topological and geometric analysis of data
,
2016,
Nature Communications.
[6]
L. Csanky,et al.
Fast parallel matrix inversion algorithms
,
1975,
16th Annual Symposium on Foundations of Computer Science (sfcs 1975).
[7]
B. D. Clader,et al.
Preconditioned quantum linear system algorithm.
,
2013,
Physical review letters.
[8]
Guoming Wang.
Quantum algorithms for approximating the effective resistances of electrical networks
,
2013,
ArXiv.
[9]
Seth Lloyd,et al.
Quantum algorithm for data fitting.
,
2012,
Physical review letters.
[10]
Andris Ambainis,et al.
Forrelation: A Problem that Optimally Separates Quantum from Classical Computing
,
2014,
STOC.
[11]
Andrew M. Childs.
Quantum algorithms: Equation solving by simulation
,
2009
.
[12]
Andrew M. Childs,et al.
Hamiltonian Simulation with Nearly Optimal Dependence on all Parameters
,
2015,
2015 IEEE 56th Annual Symposium on Foundations of Computer Science.
[13]
S. Lloyd,et al.
Quantum algorithms for supervised and unsupervised machine learning
,
2013,
1307.0411.
[14]
Aram W. Harrow,et al.
Quantum algorithm for solving linear systems of equations
,
2010
.
[15]
Scott Aaronson,et al.
BQP and the polynomial hierarchy
,
2009,
STOC '10.