Quantum Computing Nick Bonesteel Discovering Physics, Nov. 16, 2012 0 q 0 H 0 i 1 0 i 1 2 f 1 2 1 H Uf H What is a quantum computer, and what can we do with one? A Classical Bit: Two Possible States 0 1 0 A Classical Bit: Two Possible States 0 1 1 Single Bit Operation: NOT 0 NOT y x 1 0 x y 0 1 1 0 Single Bit Operation: NOT 0 NOT y x 1 1 x y 0 1 1 0 A Quantum Bit or “Qubit” 0 1 0 A Quantum Bit or “Qubit” 0 1 1 A Quantum Bit or “Qubit” 0 1 0 A Quantum Bit or “Qubit” 0 0 1 2 1 1 2 0 1 2 1 A Quantum Bit or “Qubit” 0 Quantum superposition of 0 and 1 0 1 2 1 1 2 0 1 2 1 A Quantum Bit or “Qubit” 0 0 1 2 1 1 A Quantum Bit or “Qubit” 0 0 1 0 1 2 2 1 1 2 0 1 2 1 A Quantum Bit or “Qubit” 0 0 1 0 1 2 2 1 0 A Quantum Bit: A Continuum of States 0 q 0 1 0 1 2 2 1 cosq 0 sinq 1 A Quantum Bit: A Continuum of States 0 q 0 i 1 0 i 1 2 2 f 1 cos q 2 Actually, qubit states live on the surface of a sphere. 0 sin q 2 e if 1 A Quantum Bit: A Continuum of States 0 But the circle is enough for us today. q 0 1 0 1 2 2 1 cosq 0 sinq 1 A Quantum NOT Gate 0 X 0 0 1 0 1 2 2 1 1 A Quantum NOT Gate 0 0 1 0 1 2 2 1 0 X 1 1 X 0 A Quantum 0 X NOT Gate 0 1 0 1 2 2 0 1 2 0 1 A Quantum 0 1 X X NOT Gate 0 1 0 1 2 2 0 1 2 0 1 2 0 1 Hadamard Gate 0 1 H H 0 0 1 0 1 2 2 0 1 2 0 1 2 1 Hadamard Gate 0 1 H H 0 0 1 0 1 2 2 0 1 2 0 1 2 1 Hadamard Gate 0 1 H H 0 0 1 0 1 2 2 0 1 2 0 1 2 1 Hadamard Gate 0 1 H H 0 0 1 0 1 2 2 0 1 2 0 1 2 1 Hadamard Gate 0 1 2 H 0 0 1 0 1 2 2 1 0 H is its own inverse 0 1 2 H 1 Hadamard Gate 0 H 0 0 1 0 1 2 2 0 1 1 2 H is its own inverse 1 H 0 1 2 Hadamard Gate 0 1 2 H 0 0 1 0 1 2 2 1 0 H is its own inverse 0 1 2 H 1 Hadamard Gate 0 H 0 0 1 0 1 2 2 0 1 1 2 H is its own inverse 1 H 0 1 2 Fair Coin Trick Coin Balanced Function f ( 0) 0 f (1 ) 1 or f ( 0) 1 f (1 ) 0 Unbalanced Function f ( 0) 0 f (1 ) 0 or f (0) 1 f (1 ) 1 A Two Qubit Subroutine to Evaluate f(x) x 0 Uf x f (x) A Two Qubit Subroutine to Evaluate f(x) Input x can be either 0 or 1 x 0 Initialize to state “0” Uf x f (x) Output is f(x) A Two Qubit Subroutine to Evaluate f(x) Input x can be either 0 or 1 x Uf 1 This qubit can also be in state “1” x f (x) A Two Qubit Subroutine to Evaluate f(x) Input x can be either 0 or 1 x Uf 1 This qubit can also be in state “1” x Bar stands for “NOT” f (x) 0 = 1, 1=0 A Two Qubit Subroutine to Evaluate f(x) x 0 Uf x x f (x) 1 Balanced f ( 0) 0 or f (1 ) 1 f (0) f (1), x Uf f (x) Unbalanced f ( 0) 1 f (1 ) 0 f ( 0) 0 f (1 ) 0 f (1) f (0) f (0) f (1), or f (0) 1 f (1 ) 1 f (0) f (1) A Quantum Algorithm (Deutsch-Jozsa ‘92) 0 H 1 H Uf H A Quantum Algorithm (Deutsch-Jozsa ‘92) 0 H 1 H Uf 0 1 H A Quantum Algorithm (Deutsch-Jozsa ‘92) 0 H 1 H Uf H 0 1 0 1 A Quantum Algorithm (Deutsch-Jozsa ‘92) 0 H 1 H 0 Uf H 0 1 1 0 1 A Quantum Algorithm (Deutsch-Jozsa ‘92) 0 0 H 1 H f (0) f (0) Uf 1 H f (1) f (1) A Quantum Algorithm (Deutsch-Jozsa ‘92) 0 0 H 1 H f (0) f (0) Uf 1 H f (1) f (1) Only ran Uf subroutine once, but f(0) and f(1) both appear in the state of the computer! A Quantum Algorithm (Deutsch-Jozsa ‘92) 0 0 H 1 H f (0) f (0) Uf 1 H f (1) f (1) If f is balanced: f(0) = f(1) and f(0) = f(1) A Quantum Algorithm (Deutsch-Jozsa ‘92) 0 0 H 1 H f (0) f (0) Uf 1 H f (0) f (0) If f is balanced: f(0) = f(1) and f(0) = f(1) A Quantum Algorithm (Deutsch-Jozsa ‘92) 0 H 1 H Uf 0 1 H f (0) f (0) If f is balanced: f(0) = f(1) and f(0) = f(1) A Quantum Algorithm (Deutsch-Jozsa ‘92) 0 0 H 1 H f (0) f (0) Uf 1 H f (1) f (1) If f is unbalanced: f(0) = f(1) and f(0) = f(1) A Quantum Algorithm (Deutsch-Jozsa ‘92) 0 0 H 1 H f (0) f (0) Uf 1 H f (0) f (0) If f is unbalanced: f(0) = f(1) and f(0) = f(1) A Quantum Algorithm (Deutsch-Jozsa ‘92) 0 H 1 H Uf 0 1 H f (0) f (0) If f is unbalanced: f(0) = f(1) and f(0) = f(1) A Quantum Algorithm (Deutsch-Jozsa ‘92) 0 H 1 H Uf H Balanced: 0 1 f (0) f (0) Unbalanced: 0 1 f (0) f (0) A Quantum Algorithm (Deutsch-Jozsa ‘92) 0 H 1 H Uf H Balanced: 0 f (0) f (0) Unbalanced: 1 f (0) f (0) A Quantum Algorithm (Deutsch-Jozsa ‘92) 0 1 H Uf H H Measure top qubit Balanced: 0 f (0) f (0) Unbalanced: 1 f (0) f (0) A Quantum Algorithm (Deutsch-Jozsa ‘92) 0 1 H Uf H H Measure top qubit Balanced: 0 f (0) f (0) Unbalanced: 1 f (0) f (0) A Quantum Algorithm (Deutsch-Jozsa ‘92) 0 1 H Uf H H Measure top qubit Balanced: 0 f (0) f (0) Unbalanced: 1 f (0) f (0) One qubit 0 0 1 2 H 0 1 2 Two qubits 0 0 1 2 0 1 H H 0 0 1 2 2 0 1 2 1 2 00 01 10 11 Two qubits 0 0 1 2 0 1 H H 0 0 1 2 2 0 1 2 1 2 00 01 10 11 0 1 2 3 Counting in binary Three qubits 0 0 0 1 2 0 1 H H H 0 0 1 2 2 0 1 2 0 1 2 0 1 2 1 000 001 010 011 100 101 110 111 3/ 2 2 Three qubits 0 0 0 1 2 0 1 H H H 0 0 1 2 2 0 1 2 0 1 2 0 1 2 1 000 001 010 011 100 101 110 111 3/ 2 2 0 1 2 3 4 5 6 7 N qubits 0 1 H H H 0 0 0 2 0 1 2 0 1 0 1 2 0 1 H 0 0 1 2 N 2 2 0 1 2 1 2 N /2 0 1 2 0 00 0 01 010 011 111 0 1 2 3 … 2N-1 N qubits 0 0 0 H H H 0 1 2N / 2 0 H 0 1 2 0 1 2 0 1 2 0 1 2 1 2 3 2N 1 Quantum superposition of all possible input states! N qubits 0 0 0 H H H 0 1 2N / 2 0 H 0 1 2 0 1 2 0 1 2 0 1 2 1 2 3 2N 1 Quantum superposition of all possible input states! For N=250 the number of states is roughly the number of atoms in the universe! N qubits 0 0 0 H H H One function call Uf U f x f (x) 0 1 2N / 2 0 H 1 2 3 2N 1 Quantum superposition of all possible input states! For N=250 the number of states is roughly the number of atoms in the universe! N qubits 0 0 0 H H H One function call Uf U f x f (x) 0 1 2N / 2 0 H 1 2 3 2N 1 x can be any integer From 0 to 2N-1 Quantum superposition of all possible input states! For N=250 the number of states is roughly the number of atoms in the universe! N qubits H H H 0 0 0 One function call Uf U f x f (x) H 0 1 2N / 2 1 2N / 2 0 x can be any integer From 0 to 2N-1 1 2 3 2N 1 Quantum superposition of all possible input states! f (0) f (1) f (2) f (3) f (2 N 1) Evaluate f(x) for all possible inputs! Massive Quantum Parallelism H Run program Uf once, get result for H all possible inputs! Uf H 1 f (0) f (1) f (2) f (3) f (2 1) 2 H 0 0 0 N 0 N /2 Only one problem: When I measure this state I only learn the value of f(x) for one input x. (No free lunch!) However, people have shown that a quantum computer can use quantum parallelism to do things no classical computer can do. Prime Factorization • Given two prime numbers p and q, pxq=C Easy C p, q Hard • Best known classical factoring algorithm scales as time = exp(Number of Digits) • Mathematical Basis for Public Key Cryptography. Quantum Factorization • In 1994 Peter Shor showed that a Quantum Computer could factor an integer exponentially faster than a classical computer! time = (Number of Digits) 3 • Shor’s algorithm exploits Massive Quantum Parallelism. OK, so how do we make a quantum computer? Boolean Logic Gates Not x NOR y x y 0 1 1 0 x z y x 0 0 1 1 y 0 1 0 1 z 1 0 0 0 Any classical computation can be carried out using these two gates Transistor Logic A A A B A B The Integrated Circuit Core i7: 731,000,000 transistors Single Qubit Gates U U Controlled-NOT Gate 0 0 X 1 0 X 0 0 0 1 1 1 1 1 0 X 1 1 X 0 Universal Set of Gates U X Quantum Circuit X X U X U X Any quantum computation can be carried out using these two gates Dave Wineland Serge Haroche 2012 Nobel Prize in Physics State of the Art: Superconducting Qubits From : “Quantum Computers,” T. D. Ladd et al., Nature 464, 45-53 (2010) Nature 460, 240-244 (2009) 2 superconducting qubits coupled by a microwave resonator High fidelity (~95%) 2-qubit gates on a time scale of 30 ns. Nature 460, 240-244 (2009) 2 superconducting qubits coupled by a microwave resonator High fidelity (~95%) 2-qubit gates on a time scale of 30 ns. First steps toward a scalable quantum computer 8 mm From: http://ibmquantumcomputing.tumblr.com/ The Real Problem: Decoherence! The Real Problem: Decoherence! Qubit ( 0 1 ) rest of the universe The Real Problem: Decoherence! Qubit Everything else ( 0 1 ) rest of the universe The Real Problem: Decoherence! Everything else Qubit ( 0 1 ) rest of the universe Over time…. 0 rest of the universe 0 1 rest of the universe1 The Real Problem: Decoherence! Everything else Qubit ( 0 1 ) rest of the universe Over time…. 0 rest of the universe 0 1 rest of the universe1 Quantum coherence of qubit is inevitably lost! The Real Problem: Decoherence! Everything else Qubit ( 0 1 ) rest of the universe Over time…. 0 rest of the universe 0 1 rest of the universe1 Quantum coherence of qubit is inevitably lost! Amazingly enough, quantum computing is still possible using what is known as “fault-tolerant quantum computation.” Coherence Times for Superconducting Qubits Threshold for faulttolerant quantum computation. From: “Superconducting Qubits Are Getting Serious”, M. Steffen, Physics 4, 103 (2011) Coherence Times for Superconducting Qubits Threshold for faulttolerant quantum computation. This is what most of my own research on quantum computing is focused on. From: “Superconducting Qubits Are Getting Serious”, M. Steffen, Physics 4, 103 (2011) Conclusions A deep question: Do the laws of nature allow us to manipulate quantum systems with enough accuracy to build “quantum machines” ? Conclusions A deep question: Do the laws of nature allow us to manipulate quantum systems with enough accuracy to build “quantum machines” ? If the answer is “yes” (as it seems to be), then quantum computers are coming!