We use cookies to distinguish you from other users and to provide you with a better experience on our websites. Close this message to accept cookies or find out how to manage your cookie settings.
To save content items to your account,
please confirm that you agree to abide by our usage policies.
If this is the first time you use this feature, you will be asked to authorise Cambridge Core to connect with your account.
Find out more about saving content to .
To save content items to your Kindle, first ensure no-reply@cambridge.org
is added to your Approved Personal Document E-mail List under your Personal Document Settings
on the Manage Your Content and Devices page of your Amazon account. Then enter the ‘name’ part
of your Kindle email address below.
Find out more about saving to your Kindle.
Note you can select to save to either the @free.kindle.com or @kindle.com variations.
‘@free.kindle.com’ emails are free but can only be saved to your device when it is connected to wi-fi.
‘@kindle.com’ emails can be delivered even when you are not connected to wi-fi, but note that service fees apply.
In the Preface, we motivate the book by discussing the history of quantum computing and the development of the field of quantum algorithms over the past several decades. We argue that the present moment calls for adopting an end-to-end lens in how we study quantum algorithms, and we discuss the contents of the book and how to use it.
This chapter covers the quantum adiabatic algorithm, a quantum algorithmic primitive for preparing the ground state of a Hamiltonian. The quantum adiabatic algorithm is a prominent ingredient in quantum algorithms for end-to-end problems in combinatorial optimization and simulation of physical systems. For example, it can be used to prepare the electronic ground state of a molecule, which is used as an input to quantum phase estimation to estimate the ground state energy.
This chapter covers quantum linear system solvers, which are quantum algorithmic primitives for solving a linear system of equations. The linear system problem is encountered in many real-world situations, and quantum linear system solvers are a prominent ingredient in quantum algorithms in the areas of machine learning and continuous optimization. Quantum linear systems solvers do not themselves solve end-to-end problems because their output is a quantum state, which is one of its major caveats.
This chapter presents an introduction to the theory of quantum fault tolerance and quantum error correction, which provide a collection of techniques to deal with imperfect operations and unavoidable noise afflicting the physical hardware, at the expense of moderately increased resource overheads.
This chapter covers the quantum algorithmic primitive called quantum gradient estimation, where the goal is to output an estimate for the gradient of a multivariate function. This primitive features in other primitives, for example, quantum tomography. It also features in several quantum algorithms for end-to-end problems in continuous optimization, finance, and machine learning, among other areas. The size of the speedup it provides depends on how the algorithm can access the function, and how difficult the gradient is to estimate classically.
This chapter covers quantum algorithms for numerically solving differential equations and the areas of application where such capabilities might be useful, such as computational fluid dynamics, semiconductor chip design, and many engineering workflows. We focus mainly on algorithms for linear differential equations (covering both partial and ordinary linear differential equations), but we also mention the additional nuances that arise for nonlinear differential equations. We discuss important caveats related to both the data input and output aspects of an end-to-end differential equation solver, and we place these quantum methods in the context of existing classical methods currently in use for these problems.
This chapter covers the quantum algorithmic primitive of approximate tensor network contraction. Tensor networks are a powerful classical method for representing complex classical data as a network of individual tensor objects. To evaluate the tensor network, it must be contracted, which can be computationally challenging. A quantum algorithm for approximate tensor network contraction can provide a quantum speedup for contracting tensor networks that satisfy certain conditions.
This chapter provides an overview of how to perform quantum error correction using the surface code, which is the most well-studied quantum error correcting code for practical quantum computation. We provide formulas for the code distance—which determines the resource overhead when using the surface code—as a function of the desired logical error rate and underlying physical error rate. We discuss several decoders for the surface code and the possibility of experiencing the backlog problem if the decoder is too slow.
This chapter covers quantum tomography, a quantum algorithmic primitive that enables a quantum algorithm to learn a full classical description of a quantum state. Generally, the goal of a quantum tomography procedure is to obtain this description using as few copies of the state as possible. The optimal number of copies may depend on what kind of measurements are allowed and what error metric is being used, and in most cases, quantum tomography procedures have been developed with provably optimal complexity.
This chapter covers the potential use of quantum algorithms for cryptanalysis, that is, the breaking and weakening of cryptosystems. We discuss Shor’s algorithm for factoring and discrete logarithm, which render widely used public-key cryptosystems vulnerable to attack, given access to a sufficiently large-scale quantum computer. We present resource estimates from the literature for running Shor’s algorithm, and we discuss the outlook for postquantum cryptography, which aims to replace existing cryptosystems while being resistant to quantum attack. We also cover quantum approaches for weakening the security of cryptosystems based on Grover’s search algorithm.
This chapter covers the quantum algorithmic primitive of Hamiltonian simulation, which aims to digitally simulate the evolution of a quantum state forward in time according to a Hamiltonian. There are several approaches to Hamiltonian simulation, which are best suited to different situations. We cover approaches for time-independent Hamiltonian simulation based on product formulas, the randomized compiling approach called qDRIFT, and quantum signal processing. We also discuss a method that leverages linear combination of unitaries and truncation of Taylor and Dyson series, which is well suited for time-dependent Hamiltonian simulation
This chapter provides an overview of how to perform a universal set of logical gates on qubits encoded with the surface code, via a procedure called lattice surgery. This is the most well-studied approach for practical fault-tolerant quantum computation. We perform a back-of-the-envelope end-to-end resource estimation for the number of physical qubits and total runtime required to run a quantum algorithm in this paradigm. This provides a method for converting logical resource estimates for quantum algorithms into physical resource estimates.
This chapter covers the quantum algorithmic primitive called quantum phase estimation. Quantum phase estimation is an essential quantum algorithmic primitive that computes an estimate for the eigenvalue of a unitary operator, given as input an eigenstate of the operator. It features prominently in many end-to-end quantum algorithms, for example, computing ground state energies of physical systems in the areas of condensed matter physics and quantum chemistry. We carefully discuss nuances of quantum phase estimation that appear when it is applied to a superposition of eigenstates with different eigenvalues.
This chapter covers applications of quantum computing in the area of continuous optimization, including both convex and nonconvex optimization. We discuss quantum algorithms for computing Nash equilibria for zero-sum games and for solving linear, second-order, and semidefinite programs. These algorithms are based on quantum implementations of the multiplicative weights update method or interior point methods. We also discuss general quantum algorithms for convex optimization which can provide a speedup in cases where the objective function is much easier to evaluate than the gradient of the objective function. Finally, we cover quantum algorithms for escaping saddle points and finding local minima in nonconvex optimization problems.
This chapter covers quantum interior point methods, which are quantum algorithmic primitives for application to convex optimization problems, particularly linear, second-order, and semidefinite programs. Interior point methods are a successful classical iterative technique that solve a linear system of equations at each iteration. Quantum interior point methods replace this step with quantum a quantum linear system solver combined with quantum tomography, potentially offering a polynomial speedup.
This chapter covers the quantum algorithmic primitive called Gibbs sampling. Gibbs sampling accomplishes the task of preparing a digital representation of the thermal state, also known as the Gibbs state, of a quantum system in thermal equilibrium. Gibbs sampling is an important ingredient in quantum algorithms to simulate physical systems. We cover multiple approaches to Gibbs sampling, including algorithms that are analogues of classical Markov chain Monte Carlo algorithms.
This chapter covers applications of quantum computing in the area of nuclear and particle physics. We cover algorithms for simulating quantum field theories, where end-to-end problems include computing fundamental physical quantities and scattering cross sections. We also discuss simulations of nuclear physics, which encompasses individual nuclei as well as dense nucleonic matter such as neutron stars.