Principles of Superconducting Quantum Computers. Daniel D. Stancil

Principles of Superconducting Quantum Computers - Daniel D. Stancil


Скачать книгу
result is not cloning because the two qubits are entangled. We did not succeed in creating two independent copies of |ψ⟩. This is a useful construct, however, and can be extended to create n-qubit states that look like this:

StartFraction alpha Math bar pipe bar symblom 0000 ellipsis mathematical right-angle plus beta Math bar pipe bar symblom 1111 ellipsis mathematical right-angle Over 2 Superscript n slash 2 Baseline EndFraction period

      These states will be useful for quantum error correction codes (Chapter 10).

      1.8 Example: Deutsch’s Problem

      Consider a function that takes a single binary digit as input, and provides a single binary digit as output. There are four possible functions: f1(x)=0, f2(x)=1, f3(x)=x, and f4(x)=x¯. Suppose someone gave us an implementation of one of these functions in a black box, and asked us to determine whether f(0)=f(1), or if f(0)≠f(1). Classically, we could do this in two function calls, one with x = 0, and one with x = 1. However, using a quantum algorithm we can answer this question with a single function call! Let’s see how this could be done.

      Figure 1.8 Conceptual illustration of the Deutsch Problem.

      psi 1 equals StartFraction 1 Over StartRoot 2 EndRoot EndFraction left-parenthesis Math bar pipe bar symblom 0 mathematical right-angle plus Math bar pipe bar symblom 1 mathematical right-angle right-parenthesis period (1.64)

      Note that the Hadamard gate enables us to apply U to both |0⟩ and |1⟩ at the same time. This is referred to as quantum parallelism and is one of the secrets behind the power of quantum computing (although there are some key qualifications that make this somewhat less exciting than it would seem at first!).

      Continuing with the calculation, we next compute ψ2=Uψ1 to obtain

      psi 2 equals StartFraction 1 Over StartRoot 2 EndRoot EndFraction left-bracket left-parenthesis negative 1 right-parenthesis Superscript f left-parenthesis 0 right-parenthesis Baseline Math bar pipe bar symblom 0 mathematical right-angle plus left-parenthesis negative 1 right-parenthesis Superscript f left-parenthesis 1 right-parenthesis Baseline Math bar pipe bar symblom 1 mathematical right-angle right-bracket period (1.65)

      Applying the second Hadamard gate gives the final output:

      StartLayout 1st Row 1st Column upper H psi 2 2nd Column equals one-half left-parenthesis negative 1 right-parenthesis Superscript f left-parenthesis 0 right-parenthesis Baseline left-bracket Math bar pipe bar symblom 0 mathematical right-angle plus Math bar pipe bar symblom 1 mathematical right-angle right-bracket plus one-half left-parenthesis negative 1 right-parenthesis Superscript f left-parenthesis 1 right-parenthesis Baseline left-bracket Math bar pipe bar symblom 0 mathematical right-angle minus Math bar pipe bar symblom 1 mathematical right-angle right-bracket EndLayout (1.66)

      Arranging for the amplitudes of the correct states to add and others to cancel is an example of quantum interference, another key principle underlying quantum computing. So we see that in a single function call, we are able to determine whether or not f(x) is balanced or constant—a feat that would only be possible classically with two function calls!

      Now let us turn our attention to how the gate U can be realized. First, we have to confess that the circuit in Figure 1.8 is hiding something: we need another qubit to implement the U gate.

      Consider the function f(x)=0. We want a unitary Uf that converts |x⟩ to |f(x)⟩, but this is clearly not reversible. Given an output of |0⟩, there’s no way to know whether the input is |1⟩ or |0⟩. To make the function reversible, we need to include both f(x) and x in the output, so that we can reconstruct the input when reversing the operation.

      Figure 1.9 Reversible circuit for calculating f(x).

       f1(x)=0, do nothing to y, equivalent to y⊕0.

       f2(x)=1, flip y using a NOT gate, equivalent to y⊕1.

       f3(x)=x, use a CNOT gate to flip y if x = 1, equivalent to y⊕x.

       f4(x)=x¯, flip x and then XOR with y using a CNOT gate, equivalent to y⊕x¯. We then use another NOT gate to restore x to its original value.

      Figure 1.10 Implementations of black-box function Uf for


Скачать книгу