Abstract This chapter presents early quantum algorithms. We first describe Deutsch’s and Bernstein-Vazirani, some of the first quantum algorithms that showed a query advantage over their classical counterparts. We then present Grover’s algorithm, a quantum algorithm that finds an item in an unstructured database with a quadratic speed-up over classical algorithms. We explain the quantum Fourier transform, an important subroutine in various quantum algorithms. The chapter concludes with a detailed presentation of two of the most prominent applications of the quantum Fourier transform: the period finding algorithm and Shor’s algorithm for prime factorization.
Abstract This chapter presents early quantum algorithms. We first describe Deutsch’s and Bernstein-Vazirani, some of the first quantum algorithms that showed a query advantage over their classical counterparts. We then present Grover’s algorithm, a quantum algorithm that finds an item in an unstructured database with a quadratic speed-up over classical algorithms. We explain the quantum Fourier transform, an important subroutine in various quantum algorithms. The chapter concludes with a detailed presentation of two of the most prominent applications of the quantum Fourier transform: the period finding algorithm and Shor’s algorithm for prime factorization.
This chapter deals with some of the most prominent successes of quantum computing. The most well-known quantum computing algorithm, Shor’s algorithm for factoring a number in its prime factors, is discussed in details. The key to Shor’s algorithm is the quantum Fourier transform that is explained with the help of simple examples. The role of quantum entanglement is also discussed. The next important quantum computing algorithm is Grover’s algorithm that helps in searching an item in an unsorted database. This algorithm is motivated by first discussing a quantum shell game in which a pea hidden under one of the four shells is found in one measurement with certainty each time. This amazing result is then generalized to an arbitrary number of objects and Grover’s algorithm.
In this chapter, we will study the quantum Fourier transform and its application in different quantum algorithms. Problems such as factoring an integer into prime numbers or period finding are computationally intractable problems for a classical computer because of the exponentially large number of operations involved. Integer factoring and period finding can be efficiently solved using the quantum phase estimation algorithm that is heavily based on the quantum Fourier transform. Alternately, since quantum phase estimation aims to find the eigenvalue corresponding to an eigenvector of a unitary operator, it is backbone of important algorithms in optimization such as the HHL algorithm (named for Hassim, Harrow, and Lloyd), which serves as the matrix inversion routine in quantum computing. We start this chapter by revising our concepts of the Fourier transform and its discrete counterpart, the discrete Fourier transform , and then move on to the exciting domain of the quantum Fourier transform and the quantum phase estimation algorithm. We follow this up with a discussion and implementation of the few quantum Fourier transform–related algorithms such as factoring a number and period finding. At the end of the chapter, we briefly introduce the basics of group theory with an attempt to explain the hidden subgroup problem and how it relates to several of the Fourier transform–based algorithms.
Abstract In 1985, David Deutsch proposed the original quantum algorithm, a simple yet remarkable demonstration of the enhanced computational power offered by quantum mechanics. Deutsch’s algorithm provides a reduction in the number of queries to an unknown function required to discern some property of that function, relative to the best possible classical counterpart. This is known as an advantage in query complexity, and whilst the attention of the quantum computing community has, by and large, moved on to quantum algorithms that provide an advantage in computational rather than query complexity, it is still instructive to study some of the most important quantum algorithms for query problems. Such algorithms are historically important and, moreover, reveal the source of the computational power of quantum mechanics in a clear and easy to understand manner. This chapter studies four algorithms for query problems: Deutsch’s algorithm, the Deutsch–Jozsa algorithm, the Bernstein–Vazirani algorithm, and Simon’s algorithm.
Abstract Expanding on the factoring and periodicity in Chapter 14, the Shor algorithm is explained in detail, with a warning that this is one of the toughest chapters in the book. While the steps of Shor algorithm may look just like the RSA in reverse, the quantum computer is needed to find the periodicity of the factors and thereby the prime factors themselves. Fourier analysis is the tool for this. The quantum Fourier transform is described, including the quantum circuit, after first showing what the classical Fourier transform accomplishes. Extensive examples of all the steps are given.
Quantum computing is evolving so rapidly that it forces us to revisit, rewrite, and update the foundations of the theory. \emph{Basic Quantum Algorithms} revisits the earliest quantum algorithms. The journey began in 1985 with Deutsch attempting to evaluate a function at two domain points simultaneously. Then, in 1992, Deutsch and Jozsa created a quantum algorithm that determines whether a Boolean function is constant or balanced. The following year, Bernstein and Vazirani realized that essentially the same algorithm could be used to identify a specific Boolean function within a set of linear Boolean functions. In 1994, Simon introduced a novel quantum algorithm that determines whether a function is one-to-one or two-to-one exponentially faster than any classical algorithm for the same problem. That same year, Shor developed two groundbreaking quantum algorithms for integer factoring and calculating discrete logarithms, posing a threat to widely used cryptographic methods. In 1995, Kitaev proposed an alternative formulation based on phase estimation that proved valuable in numerous applications. The following year, Grover devised a quantum search algorithm that is quadratically faster than its classical counterpart. More than a decade later, Harrow, Hassidim, and Lloyd proposed a quantum algorithm for solving systems of linear equations, now known as the HHL algorithm. With an emphasis on the circuit model, this work provides a detailed description of all these remarkable algorithms.
These notes begin in Chapter 1 with a review of linear algebra and the postulates of quantum mechanics, leading to an explanation of single- and multi-qubit gates. Chapter 2 explores the challenge of constructing arbitrary quantum states from given initial states, and introduces circuits for building oracles. Chapter 3 presents foundational algorithms such as entanglement creation, quantum teleportation, Deutsch-Jozsa, Bernstein-Vazirani, and Simon's algorithm. Chapters 4 and 5 cover algorithms based on the quantum Fourier transform, including phase estimation, period finding, factoring, and logarithm computation. These chapters also include complexity analysis and detailed quantum circuits suitable for implementation in code. Chapter 6 introduces Grover's algorithm for quantum search and amplitude amplification, including its realization via Hamiltonian simulation and a method for derandomization. Chapter 7 discusses basic techniques for Hamiltonian simulation, such as Lie-Trotter decomposition, sparse Hamiltonians, and the linear combination of unitaries. It also provides example circuits for simulating Hamiltonians expressed as linear combinations of Pauli operators. Chapter 8 introduces variational quantum algorithms, and Chapter 9 presents an algorithm for simulating fermionic many-particle systems, with an emphasis on molecular Hamiltonians. It also outlines the key transformations needed to map a molecular Hamiltonian to a form suitable for simulation on a quantum computer.