Chapter 10 Quantum algorithms

About quantum interference in disguise: Hadamard, function evaluation, Hadamard. Also about the early quantum algorithms and how they deal with querying oracles, searching for a needle in a haystack, and estimating periodicity of certain functions. Finally, about phase estimation, hidden order determination, and Shor’s famous algorithm for prime factorisation, via the (inverse) quantum Fourier transform.

To boil down the theory of classical computers to a single sentence, we can say that they essentially evaluate functions: given nn-bits of input, they produce mm-bits of output that are uniquely determined by the input. In other words, (very simple) classical computers encode binary functions f ⁣:{0,1}n{0,1}m f\colon \{0,1\}^n \to \{0,1\}^m and then compute the value of the output for any particular specified nn-bit argument. But we can make an even further simplification: a binary function with an mm-bit output value is equivalent to mm-many binary functions with 11-bit output values (which we call Boolean functions). In other words, we might just as well say that the basic task performed by a computer is the evaluation of Boolean functions f ⁣:{0,1}n{0,1}. f\colon \{0,1\}^n \to \{0,1\}. How can we adapt this to the world of quantum computing?