Chapter 6. Amplitude Amplification

In the previous chapter we showed how to build conventional arithmetic and logical operations that utilize the power of superposition. But when using a QPU, being able to perform computations in superposition is useless if we don’t have something clever up our sleeves to make sure that we’re actually able to READ out a solution.

In this chapter we introduce the first quantum primitive allowing us to manipulate superpositions into a form that we can reliably READ. We’ve already noted that there are many such primitives, each suited to different kinds of problems. The first we will cover is amplitude amplification.1

Hands-on: Converting Between Phase and Magnitude

Very simply, amplitude amplification is a tool that converts inaccessible phase differences inside a QPU register into READable magnitude differences (and vice versa). As a QPU tool, it’s simple, elegant, powerful, and very useful.

Tip

Given that amplitude amplification converts phase differences into magnitudes, you might think that magnitude amplification would be a better name. However, “amplitude amplification” is commonly used in the wider literature to refer to the kind of primitive we describe here.

For example, suppose we have a four-qubit QPU register containing one of the three quantum states (A, B, or C), shown in Figure 6-1, but we don’t know which one.

Each state has a single flipped value
Figure 6-1. Each ...

Get Programming Quantum Computers now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.