By this point in the book, we have built up a great toolbox of quantum algorithmic techniques—and in this part, we’ll see how to apply these techniques to different practical problems. In particular, we’ll implement and run small examples of three different quantum programs, each of which addresses a different area in which quantum computing can be applied. These examples are small enough that we can simulate them with classical computers, but they demonstrate how quantum devices can provide computational advantages for problems of practical interest.
In chapter 10, we’ll use our quantum programming skills to implement a quantum algorithm that helps solve challenging chemistry problems. We’ll build on that in chapter 11 to implement an algorithm for searching through unstructured data; we’ll learn how to apply functionality built into Q# and the QDK to estimate the resources required to run a quantum application at scale. Finally, in chapter 12, we’ll implement Shor’s algorithm for factoring integers, perhaps one of the most famous quantum algorithms owing to its applications in classical cryptography.