A Beginner’s Guide to Quantum Programming

Quantum Computing Concept

A new guide on programming quantum algorithms leads programmers through every step, from theory to implementing the algorithms on IBM’s publicly accessible 5-qubit ibmqx4 quantum computer and others.

The guide covers the fundamentals, along with a summary of the main quantum algorithms and instructions on how to implement them on publicly available quantum computers

As quantum computers proliferate and become more widely available, would-be quantum programmers are left scratching their brains over how to get started in the field. A new beginner’s guide offers a complete 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.”

The book reviews 20 quantum algorithms in brief, stand-alone parts and includes well-known, fundamental quantum algorithms like Grover’s Algorithm for database searching and much more, and Shor’s Algorithm for factoring integers. The tutorial then teaches programmers how to implement the algorithms on several quantum computers, including IBM’s publicly available 5-qubit IBMQX4 quantum computer, to make the connection to the real world. In each instance, the authors go through the implementation’s outcomes and clarify the differences between the simulator and 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.

It was intended to train employees who had little or no training with quantum computing to implement a quantum algorithm on a real-world quantum computer in order to prepare the Los Alamos workforce for the quantum era, according to Eidenbenz.

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.

Before moving on to the more complex topics of unitary transformations and gates, quantum circuits, and quantum algorithms, the first section of the guide explains the fundamentals of programming a quantum computer, including qubits and qubit systems, superposition, entanglement, and quantum measurements.

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.

The study was funded by the Information Science and Technology Institute at Los Alamos National Laboratory through the Laboratory Directed Research and Development program.

Reference: “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, 7 July 2022, ACM Transactions on Quantum Computing.
DOI: 10.1145/3517340

3 Comments on "A Beginner’s Guide to Quantum Programming"

  1. I love threads like this, thanks

  2. Kwaku M. Amponsem | July 22, 2022 at 10:03 pm | Reply

    Very excited about the this tutorial.

Leave a comment

Email address is optional. If provided, your email will not be published or shared.