Principles of Programming Seminar
In Person - Newell-Simon 4305
Ph.D. Student, Computer Science and Artificial Intelligence Laboratory, Massachusetts Institute of Technology
Building the Tools to Program a Quantum Computer
A quantum computer is as hard for us to build as for us to understand the algorithms they are built to run. In order to deliver an asymptotic advantage over classical algorithms, quantum algorithms exploit inherently quantum phenomena – the ability for data to exist in a superposition of multiple states, exhibit constructive and destructive interference and leverage the spooky phenomenon of entanglement. However, without appropriate and delicate manipulation of the quantum state stored by the computer, an implementation of an algorithm will produce incorrect outputs or lose its quantum computational advantage. As a result, developers will face challenges when programming a quantum computer to correctly realize quantum algorithms. In this talk, I present these programming challenges and what we can do to overcome them. In particular, I address how basic programming abstractions – such as data structures and control flow – fail to work correctly on a quantum computer, and the progress we’ve made in re-inventing them to meet the demands of quantum algorithms.
Charles Yuan is a Ph.D. student at MIT working with Michael Carbin whose research interests lie in programming languages for quantum computation. His work has appeared in the ACM SIGPLAN POPL and OOPSLA conferences and has been recognized with the SIGPLAN Distinguished Artifact Award and the CQE-LPS Doc Bedard Fellowship.
Faculty Host: Jan Hoffman