Quantum computing takes fully advantage of the superposition principle to increase greatly (even exponentially) the speed of calculations, relative to the classical approach. The Deutsch-Jozsa algorithm is the simplest quantum algorithm illustrating this power. Unfortunately, the standard derivation involves several ingenious steps which usually leave students feeling that they could never have figured out the algorithm by themselves. We present here a different formulation of the problem which allows students to derive the algorithm using only basic knowledge of quantum mechanics and linear algebra.
Quantum computing takes fully advantage of the superposition principle to increase greatly (even exponentially) the speed of calculations, relative to the classical approach. The Deutsch-Jozsa algorithm is the simplest quantum algorithm illustrating this power. Unfortunately, the standard derivation involves several ingenious steps which usually leave students feeling that they could never have figured out the algorithm by themselves. We present here a different formulation of the problem which allows students to derive the algorithm using only basic knowledge of quantum mechanics and linear algebra.
The Deutsch and Deutsch-Jozsa algorithms are foundational in the study of quantum computing, providing early and elegant demonstrations of quantum speedup over classical computation. This paper offers a pedagogical exposition of both algorithms, beginning with the necessary background in quantum computation and culminating in detailed, step-by-step derivations of the algorithms, complete with mathematical formulations and circuit diagrams. Simulations using quantum gates are also discussed to enhance understanding. The aim is to make these seminal algorithms accessible to readers with a basic background in linear algebra and quantum mechanics.
In the rapidly growing area of quantum information, the Deutsch algorithm is ubiquitous and, in most cases, the first one to be introduced to any student of this relatively new field of research. The reason for this historical relevance stems from the fact that, although extremely simple, the algorithm conveys all the main features of more complex quantum computations. In spite of its simplicity, the uncountable experimental realizations of the algorithm in a broad variety of physical systems are in general quite involved. The aim of this work is two-fold: to introduce the basic concepts of quantum computation for readers with just a minimum knowledge of quantum mechanics and to present a novel and entirely accessible implementation of a classical analogue of the quantum Deutsch algorithm. By employing only elementary optical devices, such as lenses and diode lasers, this experimental realization has a striking advantage over all previous implementations: it can easily be understood and reproduced in most basic undergraduate or even high-level school laboratories.
Deutsch's algorithm and Grover's quantum search are theoretically interesting, but it is not obvious that these two algorithms are actually useful for anything important. We next consider a selection of more advanced algorithms, several of which may have real-life applications. Some of these will be too complicated to explain fully, and their properties will only be sketched briefly. The Deutsch–Jozsa algorithm Deutsch's algorithm is simple, but important, as it shows that a quantum algorithm can find a property of an unknown function (its parity) with a smaller number of queries than any possible classical algorithm (one rather than two). For this reason we can say that quantum computing is more efficient than classical computing within the oracle model of function evaluation. (It is widely believed that quantum computing is more efficient than classical computing in general, but this is a surprisingly hard thing to prove.) The simplicity of the algorithm is also an advantage, as it can be implemented on very primitive quantum computers. Beyond this, however, Deutsch's algorithm is also important as the simplest member of a large family of quantum algorithms, including most notably Shor's quantum factoring algorithm. The second simplest algorithm in the family is the Deutsch–Jozsa algorithm, which solves a very closely related problem. Consider an unknown binary function with n input bits, giving N = 2 n possible inputs, and a single output bit.
What is the first quantum algorithm that students should learn? A common choice is the Deutsch-Jozsa algorithm because of its historical importance. However, the algorithm and the problem it solves are disconnected from familiar computational tasks and approaches. This paper provides an alternate starting point: the decision version of search. The main algorithmic idea is simple, involving encoding a function into a quantum state, and checking whether this quantum state is equal to a reference state. Moreover, we retain the Deutsch-Jozsa problem and algorithm as a special case of this presentation. We hope that students will find this a more satisfying start to studying quantum algorithms.
In 1985, David Deutsch challenged the Church-Turing thesis by stating that his quantum model of computation "could, in principle, be built and would have many remarkable properties not reproducible by any Turing machine". While this is thought to be true in general, there is usually no way of knowing that the corresponding classical algorithms are the best possible solutions. Here we provide an efficient classical simulation of the Deutsch-Jozsa algorithm, which was one of the first examples of quantum computational speed-up. Our conclusion is that the Deutsch-Jozsa quantum algorithm owes its speed-up to resources that are not necessarily quantum-mechanical, and when compared with the classical simulation offers no speed-up at all.
Although the basic ideas of quantum computation are fairly straightforward, the detailed manipulations required to extract a useful result from an entangled superposition of answers can be rather complicated. There are, however, a small number of algorithms which are simple enough to explain using only elementary methods. The best example is Deutsch's algorithm: as this only requires two qubits its properties are amenable to brute-force matrix calculations, and these calculations can be simplified using a variety of short cuts, which also give some insight into how and why the algorithm works. We will also explore the simplest case of Grover's quantum search algorithm, which is once again simple enough to be tacked by brute force. Finally we will look briefly at two methods used to stabilize quantum computers against errors. Deutsch's algorithm The invention of Deutsch's algorithm can be taken as defining the start of modern quantum computation, and it remains a key example, exhibiting many of the key properties of quantum algorithms in a particularly simple form. (Note, however, that the version of Deutsch's algorithm described here is not in fact the original but a later modification which is both more powerful and easier to understand.) Consider a binary function f from one bit to one bit, that is a function which takes in either 0 or 1 as its input and returns either 0 or 1 as its output. There are four such functions which may be conveniently labeled by their outputs as shown in Table 8.1.