An introduction to Quantum Computing using Trapped cold Ions
March 10, 2011
Contents
1 Introduction 1
2 Qubits 2
3 Operations in Quantum Computing 2 3.1 Quantum Operators ...... 2 3.2 Controlled Gates ...... 3
4 Deutsch-Jozsa Algorithm 4
5 A Trapped Ion CNOT Gate 6 5.1 Implementation of the CNOT Gate ...... 6 5.2 Rabi’s Formula and π pulses on two state systems ...... 7 5.3 CNOT Procedure ...... 8
6 Conclusion 9
1 Introduction
This paper is designed to serve as an introduction to Quantum Computing to a person having some back- ground in Quantum Mechanics and Algebra. The notion of running computers based on the mechanics of Quantum Systems was first proposed by Richard Feynman in 1982 as a proposed solution to the increasing difficulty in running simulations of quantum systems on classical computers. Through the work of Deutsch, Shore, and Grover among others [1], it has been demonstrated that a wide class of algorithms exist for which a Quantum Computer would be vastly more efficient then it’s classical analogue. Within the past decade, considerable progress has been made. In 1995, the successful implementation of a controlled-not logic gate was achieved [4] using trapped cold ions and it is this experiment that we shall discuss in great detail. More recently, implementations of far more complex quantum computations have been achieved including multiple qubit implementations of quantum search algorithms [5] and Shor’s algorithm [6]. This paper will introduce the fundamental concepts of Quantum Computing such as qubits and quantum logic gates, in particular discussing how complex quantum (and simulations of classical) circuits may be constructed from merely a few fundamental components and briefly discussing the universlity of cnot and single qubit gates before demonstrating the Deutsch Jones algorithm, a simple algorithm demonstrating the power of quantum computation over classical systems and then describing the Experimental implementation of a CNOT gate from ultra cold atoms as achieved by Monroe et al in 1995.
1 2 Qubits
For the most part, information in computer systems has been stored in classical bits which that can take on the logical values of 0 or 1. It is upon these bits of information that classical algorithms operate. In Quantum Computing, one must introduce the notion of a qubit. Simply put, a qubit is a two state quantum system used to represent a bit of information. We may write it as
a | 0i + b | 1i (1)
For which normalization is assumed |a|2 + |b|2 = 1 (2) While a classical bit takes on one of two values, it is immediatly apparent that a qubit takes on a continuum of possible states though a single qubit, when measured, will only yield one of the two possible basis states. There are a variety of two state systems that may be used as qubits which the reader is surely familiar with. Examples include the polarization of a photon, the orientation of a spin-1/2 particle’s spin, and two energy levels of an atom are among them.
3 Operations in Quantum Computing 3.1 Quantum Operators In general, a logic gate in Quantum Computing is any unitary operator taking n qubits to n qubits (U : Cn → Cn), often referred to as “reversible” in that the inputs of a quantum gate may be determined by the outputs. In quantum circuits (computers), such gates take the place of classical logic gates that the reader may be familiar with (though for example a NOT gate does not have a quantum analogue since it is not reversible).Such operators may of course be represented as matrices. There exists several essential two qubit operators in quantum computing, several probably already familiar to anyone already with a background 0 1 0 −i 1 0 in qauntum mechanics. The Pauli matrices: σ = , σ = , and σ = are of x 1 0 z i 0 z 0 −1 course among these operators with σx filling an identical roll to the NOT gate in classical computing. Three operators that may not be so familiar are as follows.
1 1 1 H = √ (3) 2 1 −1 1 1 0 S = √ (4) 2 0 i 1 0 T = (5) 0 eiπ/4 which are known as the Hadamard, Phase, and π/8 gates respectively. The Hadamard, we will find, will prove indespensible in our discussion of the Deutsch Jones algorithm below. Explicity the effects of a Hadamard gate on the computational basis states of a single qubit system are. 1 H | 0i = √ (| 0i+ | 1i) (6) 2 1 H | 1i = √ (| 1i+ | 0i) (7) 2 Or more compactly. 1 X H | xi = √ (−1)xz | zi (8) 2 z∈{0,1}
2 These operations have their equivalences in higher order systems of multiple qubits represented quite simply as higher order 2n + 1 × 2n + 1 matrices. The Hadamard transform on n qubits is of particular importance in our discussion of the Deutsch-Josza algorithm, denoted by H⊗n.
| x . . . x i ⊗n X x1z1+x2z2+···+xnzn 1 n H | x1 . . . xni = (−1) √ (9) n n 2 (z1...zn)∈{0,1}
A final n+1 qubit operator that I will discuss is the Uf operator, or quantum oracle defined by a function f : {0, 1}n → {0, 1}.
Uf | x1, x2, . . . , xni⊗ | yi =| x1, x2, . . . , xni⊗ | y ⊕ f(x1, . . . , xn)i (10)
Where x⊕y is to be understood as addition modulo 2. This operator is unitary and is usually denoted in the circuit notation as a black box. The inner workings of an oracle are usually not drawn but we understand that as a unitary quantum operator, an oracle for any f(x) may be implemented using single qubit operators and CNOT gates due to their universality. What we mean by that sentence and what a CNOT gate is will be discussed in the following section.
3.2 Controlled Gates In computing it is often necessary to perform a tasks conditionally (’if A then do B’). In Quantum Computing, such conditional operations are encapsulated in the notion of the controlled oparator Cn(U) in which a unitary operator on k qubits acts on the condition that n qubits in it’s input are equal to one. Formally,
n x1x2...xn C (U) =| x1x2 . . . xni | ψi =| x1x2 . . . xniU | ψi (11)
x1, . . . , xn are of course assumed to take on values in {0, 1} so that U 6= Id iff x1 = 1, . . . , xn = 1. Perhaps one of the most important examples of such a controlled operator is a controlled-not (CNOT) gate, a two qubit operator with two inputs known as the control bit and the target bit. If the control bit is set to | 0i the target bit is left unchanged. Otherwise the CNOT gate flips the target bit. In the basis {| 00i, | 01i, | 10i, | 11i} the CNOT gate may be written as
1 0 0 0 0 1 0 0 CNOT = (12) 0 0 0 1 0 0 1 0
One can imagin that as we move to higher order systems, the Matrix Notation may become a bit cumbersome to work with, especially if the behavior of each gate is well understood. It is at this point that it is useful to introduce the circuit notation often employed in the literature of Quantum Computation containing gates and wires. Quantum Circuits are intended to be read from left to right with each wire (horizontal line) corresponding to a qubit with the passage of time. Any gate is represented by a box with it’s inputs and outputs intersecting it. Controlled gates have there inputs marked by black circles. The CNOT gate is written in circuit notation in figure 1.
3 Figure 1. A CNOT gate. and as an example, the talfoli gate, which takes three qubits and flips the third on the condition that the two control qubits are equal to 1.
Figure 2. A Taffoli gate which flips the target qubit if and only if both of it’s control qubits evaluate to 1. We conclude this section by stating a result of DiVincenzo that single Qubit gates and CNOT gates are universal that is any unitary operation in quantum computation may be decomposed into sequences of operations on single qubits and CNOT operations [3]. Implementations of Quantum Circuits in such a fashion are by no means garunteed to be efficient, however this result tells us that in general, CNOT gates are all we need along with the single qubit operations to perform quantum computation, lending to the importance of the physical realization of a CNOT gate.
4 Deutsch-Jozsa Algorithm
At this point we find ourself with the notions of operators and qubits. However we are not equipped with a real notion of how these tools may be implemented to perform a task in a more efficient manner then a classical computer. The Deutsch-Jozsa algorithm, proposed in 1998, while of limited practical use serves as a good pedagogical example due to it’s relatively straightforward nature of a problem for which a quantum computational solution is exponentially more efficient at solving then it’s classical counterpart. Here we will follow a slightly cleaned up version of the algorithm that appears in Isaac and Chuang’s Quantum Computation and Quantum Information. We consider the following problem. Alice wishes to determine if a function f(x): {0, 1,... 2n −1} → {0, 1} possessed by Bob is either constant or balanced (the function is guaranteed to be one or the other). By
4 Constant we mean of course that f(x) = 1 XOR f(x) = 0 ∀x ∈ {0,..., 2n − 1} and by balanced we mean that f(x) = 0 for exactly half of the x in the domain. The means by which Alice is allowed to determine the nature of Bob’s function is to send him values of x to which he is obliged to provide her with the appropriate f(x). At worst, given this system in the classical case, Alice would be unlucky enough to sample from the exact half of the x’s in the domain that give the same f(x), meaning 2n/2 + 1 trials before, if f is balanced she will recieve an answer different from the previous ones and if f is constant she will receive an answer identical to her previous queries. A quantum solution to the problem, the Deutsch-Jozsa algorithm, exists which involves only one iteration, whose circuit is displayed in figure 3.
Figure 3. The Quantum Circuit for the Deutsch-Jozsa algorithm. Alice performs n qubits by performing a parallel Hadamard Transform on | 0i⊗n and a seperate Hadamard transform on the target qubit, | 1i. Bob applies the Oracle and Alice performs a Hadamard on the output before performing her measurement. In essence, any of the x inputs to f(x) are encoded in n qubits, so Alice’s input is a system of n qubits. Alice also posseses a single qubit which she will provide to Bob to place the output of f(x) in. Further, Bob has agreed to evaluate Alice’s query using a quantum oracle Uf as described in equation 10. Rather then send queries to Bob blindly, Alice will start out with | 0i⊗n as her inputs for f upon which she will perform an H⊗n operation on. Further, she will prepare the qubit that Bob must use as the target bit for the oracle |0i−|1i by preparing a hadamard transformed H | 1i = √ . In sum, Alice starts things off by providing Bob the 2 following system. We evaluate the effects of the Hadamard transformation based on equation 9.