Quantum Computing: Lecture Notes
Total Page:16
File Type:pdf, Size:1020Kb
Quantum Computing: Lecture Notes Ronald de Wolf Preface These lecture notes were formed in small chunks during my “Quantum computing” course at the University of Amsterdam, Feb-May 2011, and compiled into one text thereafter. Each chapter was covered in a lecture of 2 45 minutes, with an additional 45-minute lecture for exercises and × homework. The first half of the course (Chapters 1–7) covers quantum algorithms, the second half covers quantum complexity (Chapters 8–9), stuff involving Alice and Bob (Chapters 10–13), and error-correction (Chapter 14). A 15th lecture about physical implementations and general outlook was more sketchy, and I didn’t write lecture notes for it. These chapters may also be read as a general introduction to the area of quantum computation and information from the perspective of a theoretical computer scientist. While I made an effort to make the text self-contained and consistent, it may still be somewhat rough around the edges; I hope to continue polishing and adding to it. Comments & constructive criticism are very welcome, and can be sent to [email protected] Attribution and acknowledgements Most of the material in Chapters 1–6 comes from the first chapter of my PhD thesis [71], with a number of additions: the lower bound for Simon, the Fourier transform, the geometric explanation of Grover. Chapter 7 is newly written for these notes, inspired by Santha’s survey [62]. Chapters 8 and 9 are largely new as well. Section 3 of Chapter 8, and most of Chapter 10 are taken (with many changes) from my “quantum proofs” survey paper with Andy Drucker [28]. Chapters 11 and 12 are partly taken from my non-locality survey with Harry Buhrman, Richard Cleve, and Serge Massar [17]. Chapters 13 and 14 are new. Thanks to Giannicola Scarpa for useful comments on some of the chapters. Version 2 (Jan’12): updated and corrected a few things for the Feb-Mar 2013 version of this course, and included exercises for each chapter. Thanks to Harry Buhrman, Florian Speelman, Jeroen Zuiddam for spotting some typos in the earlier version. Ronald de Wolf January 2012, Amsterdam i Contents 1 Quantum Computing 1 1.1 Introduction.................................... ..... 1 1.2 Quantummechanics ................................ .... 2 1.2.1 Superposition................................. ... 2 1.2.2 Measurement ................................... 3 1.2.3 Unitaryevolution.............................. .... 4 1.3 Quantummemory ................................... 5 2 The Circuit Model and Deutsch-Jozsa 7 2.1 Quantumcomputation.............................. ..... 7 2.1.1 Classicalcircuits . .. .. .. .. .. .. .. .. ..... 7 2.1.2 Quantumcircuits............................... ... 8 2.2 Example: quantum teleportation and no-cloning . ............. 9 2.3 Universality of various sets of elementary gates . ............... 10 2.4 Quantumparallelism.............................. ...... 10 2.5 Theearlyalgorithms .............................. ...... 11 2.5.1 Deutsch-Jozsa................................. 12 2.5.2 Bernstein-Vazirani . ..... 13 3 Simon’s Algorithm 15 3.1 Theproblem ...................................... 15 3.2 Thequantumalgorithm ............................. ..... 15 3.3 Classical lower bound for Simon’s problem . ............ 16 4 The Fourier Transform 19 4.1 The classical discrete Fourier transform . ............. 19 4.2 TheFastFourierTransform . ....... 20 4.3 Application: multiplying two polynomials . ............. 20 4.4 ThequantumFouriertransform. ........ 21 4.5 Anefficientquantumcircuit. ....... 22 4.6 Application: phase estimation . .......... 23 5 Shor’s Factoring Algorithm 25 5.1 Factoring ....................................... 25 5.2 Reduction from factoring to period-finding . ............. 25 ii 5.3 Shor’speriod-findingalgorithm . .......... 27 5.4 Continuedfractions. .. .. .. .. .. .. .. .. ....... 29 6 Grover’s Search Algorithm 32 6.1 Theproblem ...................................... 32 6.2 Grover’salgorithm ............................... ...... 32 6.3 Amplitudeamplification . ....... 35 6.4 Application: satisfiability . .......... 35 7 Quantum Random Walks Algorithms 38 7.1 Classicalrandomwalks. ....... 38 7.2 Quantumrandomwalks .............................. 39 7.3 Applications.................................... ..... 41 7.3.1 Groversearch.................................. 42 7.3.2 Collisionproblem.............................. 42 7.3.3 Findingatriangleinagraph . ..... 43 8 Quantum Query Lower Bounds 46 8.1 Introduction.................................... ..... 46 8.2 Thepolynomialmethod ............................. ..... 47 8.3 Thequantumadversarymethod . ...... 49 9 Quantum Complexity Theory 52 9.1 Most functions need exponentially many gates . ............. 52 9.2 Classical and quantum complexity classes . ............ 53 9.3 Classically simulating quantum computers in polynomialspace ............ 54 10 Quantum Encodings, with a Non-Quantum Application 57 10.1 Mixed states and general measurements . ........... 57 10.2 Quantum encodings and their limits . .......... 58 10.3 Lower bounds on locally decodable codes . ........... 60 11 Quantum Communication Complexity 63 11.1 Classical communication complexity . ............ 63 11.2 Thequantumquestion . ...... 64 11.3 Example 1: Distributed Deutsch-Jozsa . ............ 65 11.4 Example 2: The Intersection problem . .......... 66 11.5 Example 3: The vector-in-subspace problem . ............. 67 11.6 Simultaneous communication: Quantum fingerprinting . ................ 67 12 Entanglement and Non-locality 70 12.1 Quantumnon-locality . ....... 70 12.2 CHSH: Clauser-Horne-Shimony-Holt . ........... 72 12.3 Magicsquaregame................................ ..... 73 12.4 A non-local version of distributed Deutsch-Jozsa . ................ 75 iii 13 Quantum Cryptography 77 13.1 Quantumkeydistribution . ........ 77 13.2 Reduced density matrices and the Schmidt decomposition............... 79 13.3 The impossibility of perfect bit commitment . .............. 80 13.4 Morequantumcryptography . ....... 81 14 Error-Correction and Fault-Tolerance 83 14.1Introduction................................... ...... 83 14.2 Classical error-correction . ............ 83 14.3Quantumerrors.................................. ..... 84 14.4 Quantum error-correcting codes . ........... 85 14.5 Fault-tolerant quantum computation . ............ 87 14.6 Concatenated codes and the threshold theorem . ............. 88 A Some Useful Linear Algebra 90 A.1 Some Terminology and Notation . ....... 90 A.2 UnitaryMatrices ................................. ..... 90 A.3 Diagonalization and Singular Values . ........... 91 A.4 Trace........................................... 92 A.5 TensorProducts .................................. 92 A.6 Rank............................................ 93 A.7 DiracNotation ................................... 93 B Some other Useful Math 94 iv Chapter 1 Quantum Computing 1.1 Introduction Today’s computers—both in theory (Turing machines) and practice (PCs)—are based on classical physics. However, modern quantum physics tells us that the world behaves quite differently. A quantum system can be in a superposition of many different states at the same time, and can exhibit interference effects during the course of its evolution. Moreover, spatially separated quantum systems may be entangled with each other and operations may have “non-local” effects because of this. Quantum computation is the field that investigates the computational power and other prop- erties of computers based on quantum-mechanical principles. An important objective is to find quantum algorithms that are significantly faster than any classical algorithm solving the same problem. The field started in the early 1980s with suggestions for analog quantum computers by Paul Benioff [11] and Richard Feynman [31, 32], and reached more digital ground when in 1985 David Deutsch defined the universal quantum Turing machine [25]. The following years saw only sparse activity, notably the development of the first algorithms by Deutsch and Jozsa [27] and by Simon [65], and the development of quantum complexity theory by Bernstein and Vazirani [14]. However, interest in the field increased tremendously after Peter Shor’s very surprising discovery of efficient quantum algorithms for the problems of integer factorization and discrete logarithms in 1994 [64]. Since most of current classical cryptography is based on the assumption that these two problems are computationally hard, the ability to actually build and use a quantum computer would allow us to break most current classical cryptographic systems, notably the RSA system [60, 61]. (In contrast, a quantum form of cryptography due to Bennett and Brassard [13] is unbreakable even for quantum computers.) Let us mention three different motivations for studying quantum computers, from practical to more philosophical: 1. The process of miniaturization that has made current classical computers so powerful and cheap, has already reached micro-levels where quantum effects occur. Chip-makers tend to go to great lengths to suppress those quantum effects, but instead one might also try to make good use of them. 2. Making use of quantum effects allows one to speed-up certain computations enormously (sometimes exponentially), and even enables some things that are impossible for classical 1 computers The main purpose of this course is to explain these things (algorithms, crypto, etc.) in detail. 3. Finally, one might state the main goal of theoretical computer science as “study the power and limitations of the strongest-possible