Quantum computer programming for dummies

Deep-diving guide explains the basics, surveys major quantum algorithms and steps through implementing them on publicly available quantum computers

June 14, 2022

2022-06-14 External News Standard Article Feature@2x
A new guide to programming quantum algorithms walks programmers through every step, from theory to implementing the algorithms on IBM’s publicly available 5-qubit ibmqx4 quantum computer and others. Credit: Dreamstime

For would-be quantum programmers scratching their heads over how to jump into the game as quantum computers proliferate and become publicly accessible, a new beginner’s guide provides a thorough introduction to quantum algorithms and their implementation on existing hardware.

“Writing quantum algorithms is radically different from writing classical computing programs and requires some understanding of quantum principles and the mathematics behind them,” said Andrey Y. Lokhov, a scientist at Los Alamos National Laboratory and lead author of the recently published guide in ACM Transactions on Quantum Computing. “Our guide helps quantum programmers get started in the field, which is bound to grow as more and more quantum computers with more and more qubits become commonplace.”

In succinct, stand-alone sections, the guide surveys 20 quantum algorithms—including famous, foundational quantum algorithms, such as Grover’s Algorithm for database searching and much more, and Shor’s Algorithm for factoring integers. Making the real-world connection, the guide then walks programmers through implementing the algorithms on IBM’s publicly available 5-qubit IBMQX4 quantum computer and others. In each case, the authors discuss the results of the implementation and explain differences between the simulator and the actual hardware runs.

“This article was the result of a rapid-response effort by the Information Science and Technology Institute at Los Alamos, where about 20 Lab staff members self-selected to learn about and implement a standard quantum algorithm on the IBM Q quantum system,” said Stephan Eidenbenz, a senior quantum computing scientist at Los Alamos, a coauthor of the article and director of ISTI when work on it began.

The goal was to prepare the Los Alamos workforce for the quantum era by guiding those staff members with little or no quantum computing experience all the way through implementation of a quantum algorithm on a real-life quantum computer, Eidenbenz said.

These staff members, in addition to a few students and well-established quantum experts, make up the long author list of this “crowd-sourced” overview article that has already been heavily cited, Eidenbenz said.

The first section of the guide covers the basics of quantum computer programming, explaining qubits and qubit systems, fundamental quantum concepts of superposition and entanglement and quantum measurements before tackling the deeper material of unitary transformations and gates, quantum circuits and quantum algorithms.

The section on the IBM quantum computer covers the set of gates available for algorithms, the actual physical gates implemented, how the qubits are connected and the sources of noise, or errors.

Another section looks at the various types of quantum algorithms. From there, the guide dives into the 20 selected algorithms, with a problem definition, description and steps for implementing each one on the IBM or, in a few cases, other computers.

Extensive references at the end of the guide will help interested readers go deeper in their explorations of quantum algorithms. 

Paper: “Quantum Algorithm Implementations for Beginners,” by Abhijith J., Adetokunbo Adedoyin, John Ambrosiano, Petr Anisimov, William Casper, Gopinath Chennupati, Carleton Coffrin, Hristo Djidjev, David Gunter, Satish Karra, Nathan Lemons, Shizeng Lin, Alexander Malyzhenkov, David Mascarenas, Susan Mniszewski, Balu Nadiga, Daniel O’Malley, Diane Oyen, Scott Pakin, Lakshman Prasad, Randy Roberts, Phillip Romero, Nandakishore Santhi, Nikolai Sinitsyn, Pieter J. Swart, James G. Wendelberger, Boram Yoon, Richard Zamora, Wei Zhu, Stephan Eidenbenz, Andreas Bärtschi, Patrick J. Coles, Marc Vuffray, and Andrey Y. Lokhov, in ACM Transactions on Quantum Computing. Link: https://dl.acm.org/doi/10.1145/3517340.

Funding: Information Science and Technology Institute at Los Alamos National Laboratory through the Laboratory Directed Research and Development program. 

LA-UR-22-25067