In this chapter we build on the basic model developed in Chapter 1 by extending the notation to handle quantum systems with multiple qubits. With that terminology in place, we can illustrate the ideas which are basic to quantum algorithms and can confirm theoretically that the unitary transformations we need can be implemented as a sequence of operations involving only one or two qubits. Quantum algorithms can be constructed using a small number of quantum gates, and we discuss those gates next. We then use quantum gates to construct an addition subroutine and complete the chapter with a teleportation subroutine, which is the first illustration of the potential importance of entanglement for communication.
In this chapter we build on the basic model developed in Chapter 1 by extending the notation to handle quantum systems with multiple qubits. With that terminology in place, we can illustrate the ideas which are basic to quantum algorithms and can confirm theoretically that the unitary transformations we need can be implemented as a sequence of operations involving only one or two qubits. Quantum algorithms can be constructed using a small number of quantum gates, and we discuss those gates next. We then use quantum gates to construct an addition subroutine and complete the chapter with a teleportation subroutine, which is the first illustration of the potential importance of entanglement for communication.
A remarkable application of quantum mechanical concepts of coherent superposition and quantum entanglement is a quantum computer which can solve certain problems at speeds unbelievably faster than the conventional computer. In this chapter, the basic principles and the conditions for the implementation of the quantum computer are introduced and the limitations imposed by the probabilistic nature of quantum mechanics and the inevitable decoherence phenomenon are discussed. Next the basic building blocks, the quantum logic gates, are introduced. These include the Hadamard, the CNOT, and the quantum phase gates. After these preliminaries, the implementation of the Deutsch algorithm, quantum teleportation, and quantum dense coding in terms of the quantum logic gates are discussed. It is also shown how the Bell states can be produced and measured using a sequence of quantum logic gates.
This chapter introduces the fundamental concepts and rules of quantum computing. In parallel, it develops an initial, easy-to-understand Python code base for building and simulating small-scale quantum circuits and algorithms. The chapter details single qubits, superposition, quantum states with many qubits, operators, including a sizable set of important single-qubit gates and controlled gates. The Bloch sphere and the quantum circuit notation are introduced. Entanglement follows, that fascinating “spooky action at a distance,” as Einstein called it. The chapter then discusses maximally entangled Bell states, the no-cloning and no-deleting theorems, local and global phases, and uncomputation. The quantum postulates are discussed briefly as preparation for the discussion on measurements.
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.
In this section we provide a broad overview of the basic principles of quantum mechanics and how they enable modern quantum technologies. The starting point is the concept of superposition, which allows quantum systems to be in multiple states at the same time and forms the basis of quantum computation using qubits and parallel processing of information. The conversation then turns to quantum entanglement, a non-classical effect that creates strong correlations between particles, and has applications in secure communication and quantum teleportation. Also mentioned is the quantum coherence, which preserves phase relations between quantum states and makes it possible for quantum systems to function correctly. But it is also emphasized that quantum coherence is fragile to environmental perturbations. This chapter also covers quantum measurement, taking into account the probabilistic nature of quantum mechanics, and how the act of observation results in the collapse of a quantum state to a definite outcome. These principles together constitute the theoretical basis of quantum computing, where quantum gates and algorithms and qubits take advantage of superposition, entanglement and interference to offer computational benefits over classical systems. The most important algorithms like Shor’s and Grover’s algorithms that demonstrate a considerable speed-up in solving the problem are discussed along with different models of quantum computing, such as gate, adiabatic and measurement-based models. Furthermore, the section reviews some physical realizations of quantum systems, such as superconducting qubits, trapped ions, photonic systems and topological qubits, with their advantages and difficulties. Overall, this discussion shows how the basic principles of quantum mechanics are the foundation for the development of advanced quantum technologies, while also dealing with the practical difficulties that arise in their implementation.
This chapter introduces the fundamental concepts and rules of quantum computing. In parallel, it develops an initial, easy-to-understand codebase in Python for building and simulating small-scale quantum circuits and algorithms. The chapter details single qubits, superposition, quantum states with many qubits, operators, including a sizable set of important single-qubit gates and controlled gates. The Bloch sphere and the quantum circuit notation are introduced. Entanglement follows, that fascinating “spooky action at a distance,” as Einstein called it. With this background, the chapter discusses maximally entangled Bell states, the no-cloning theorem, the noneffect of global phases, the partial trace and reduced density matrix, and uncomputation. The quantum postulates are discussed in a nonphilosophical way, leading to measurement and how to simulate it.
Armed with the knowledge and infrastructure from the previous chapters, the first set of quantum algorithms is introduced. The algorithms in this chapter are typically shorter and require less preparation than those in later chapters. Additionally, the mathematical derivations are developed with great detail. The chapter starts with the simplest possible algorithm: a quantum random number generator. This is followed by several gate equivalences, a classical full adder implemented with quantum gates, and the Swap Test to measure similarity between states. Two algorithms that utilize entanglement come next: quantum teleportation and superdense coding. After this, three so-called oracle algorithms are discussed,the Bernstein–Vazirani algorithm, Deutsch’s algorithm, and Deutsch–Jozsa’s algorithm. These are the first quantum algorithms that perform better than their classical counterparts. Oracle construction itself is discussed at great length.